Tôi có một hàm, parseQuery, phân tích một truy vấn SQL thành một biểu diễn trừu tượng của truy vấn đó.
Tôi sắp viết một hàm có biểu diễn trừu tượng của truy vấn và trả về chuỗi truy vấn SQL.
Tôi nên gọi hàm thứ hai là gì?
Tôi có một hàm, parseQuery, phân tích một truy vấn SQL thành một biểu diễn trừu tượng của truy vấn đó.
Tôi sắp viết một hàm có biểu diễn trừu tượng của truy vấn và trả về chuỗi truy vấn SQL.
Tôi nên gọi hàm thứ hai là gì?
Câu trả lời:
Tôi nghĩ động từ bạn muốn là 'sáng tác'.
Đối diện của phân tích cú pháp là nối tiếp
Trong thuật ngữ trình biên dịch, ngược lại là "unparse". Cụ thể, phân tích cú pháp biến một luồng mã thông báo thành các cây cú pháp trừu tượng, trong khi việc bỏ mã biến các cây cú pháp trừu tượng thành một luồng mã thông báo.
Soạn, biên soạn? Khi phân tích cú pháp một truy vấn, bạn chia nó thành các phần cấu thành của nó (mã thông báo, v.v.), điều ngược lại sẽ là kết hợp các phần thành một truy vấn chuỗi.
Để bổ sung cho việc đặt tên hiện tại của bạn, composeQuery trông tốt nhất.
Nhưng trong trường hợp chung, ngược lại với phân tích cú pháp là ǝsɹɐd
Tôi nghĩ "serialization" có lẽ là từ bạn muốn. Nó có nghĩa là để tạo ra một biểu diễn văn bản của dữ liệu có thể được xuất (và nhập) từ chương trình.
Chắc chắn kết xuất.
tạo hoặc phát ra, có thể.
Chỉ cần thêm một số thứ.
Chắc chắn phân tích là một từ hai chiều.
Bạn có thể phân tích một bản tóm tắt thành một truy vấn.
Bạn có thể phân tích một truy vấn thành một bản tóm tắt.
Câu hỏi nên là, bạn đặt tên cho phần sau của phương thức là gì và bởi vì trong trường hợp này, bạn đang phân tích một bản tóm tắt để thực hiện một truy vấn mà bạn gọi nó parseAbstract
.
Để trả lời câu hỏi, phân tích cú pháp không có ngược lại.
Bạn chọn đi
Họ từng có ý nghĩa hơi khác nhau.
Có lẽ kháPrintQuery ?
Một trình biên dịch truyền thống có hai phần: trình phân tích cú pháp và trình tạo mã.
Vì vậy, bạn có thể gọi nó là "Tạo". Tất nhiên, ở đây có một chút khác biệt vì trình biên dịch không viết mã nguồn. (trừ khi nó là một trình biên dịch trước).
Có thể định dạng (). hoặc ToQuery () trong trường hợp của bạn?
unPude ()? Đùa thôi, tôi sẽ dùng toQueryString ()
làm phẳng?
Đối tượng truy vấn được phân tích cú pháp có lẽ đại diện cho một hệ thống phân cấp điều kiện, mà bạn đang "làm phẳng" trở lại thành chuỗi 1 chiều.
Nhưng được cho rằng bạn đang đi từ đối tượng đến chuỗi, thực sự chỉ cần sử dụng toString hoặc toQuery () hoặc một cái gì đó tương tự. Bên cạnh đó, nếu bạn thiết kế tốt và đang sử dụng đúng ứng dụng, bạn có thể đổi tên nó sau và chỉ cần dán nội dung vào các nhận xét về những gì nó làm.
Tôi muốn nói tuần tự hóa và giải tuần tự hóa, thay vì phân tích cú pháp và ...
Tôi sẽ dùng ToString (), vì bạn thường có thể lồng chúng (các hàm đối diện, cho phép bạn chuyển từ Class1 sang Class2 và ngược lại)
DateTime.Parse( DateTime.Parse( myDate.ToString() ).ToString() );
Serialize () có vẻ như là một lựa chọn tốt, nhưng nó đã có một điều ngược lại trong Deserialize ().
Trong kịch bản cụ thể của bạn, như đã chỉ ra, ToSql () là một lựa chọn tốt khác.
Tôi sẽ sử dụng kết xuất
> a = 'html': { 'head': {'title': 'My Page'}, 'body': { 'h1': 'Hello World', 'p': 'This is a Paragraph' } }
> b = render(a)
> console.log(b)
<html>
<head>
<title>My Page</title>
</head>
<body>
<h1>Hello World</h1>
<p>This is a Paragraph</p>
</body>
</html>
Đó là IMHO, ngược lại với parse ()
> c = parse(b)
{ 'html': {
'head': {
'title': 'My Page'
}
'body': {
'h1': 'Hello World',
'p': 'This is a Paragraph'
}
}
Tôi thường sử dụng "phân tích cú pháp" làm phương thức chuyển đổi và do đó, tôi không thể tìm thấy một từ trái nghĩa với "chuyển đổi". (bạn không thể "giải mã" thứ gì đó, vì "không chuyển đổi" là một loại chuyển đổi).
nghĩ theo cách này, giải pháp tốt nhất (đối với tôi) là có hai phương pháp "phân tích cú pháp" nhận các đối số khác nhau. Ví dụ (Java):
public class FooBarParser{
public Foo parse(Bar bar);
public Bar parse(Foo foo);
}
thô
Depough là để phân tích, như:
Phân tích cú pháp / deparsing không phải là thay đổi cấu trúc, mà là chuyển đổi. Chuyển đổi chính xác giữa văn bản tương đương và định dạng cây cú pháp trừu tượng, duy trì tất cả các mối quan hệ & cấu trúc.
"Soạn" có nghĩa là thay đổi cấu trúc, vì vậy không hoàn toàn đúng. Nó gợi ý kết hợp từ các phần độc lập riêng biệt (thường là lần đầu tiên). Giống như "phân hủy" đề nghị tách thành các phần độc lập. Họ thay đổi hình thức, không chỉ định dạng.
Một tìm kiếm nhanh cho thấy thuật ngữ được sử dụng trong: