Ответ 1
Я думаю, что глагол, который вы хотите, "сочиняет".
У меня есть функция parseQuery, которая анализирует SQL-запрос в абстрактном представлении этого запроса.
Я собираюсь написать функцию, которая принимает абстрактное представление запроса и возвращает строку запроса SQL.
Что я должен назвать второй функцией?
Я думаю, что глагол, который вы хотите, "сочиняет".
Противоположность parse сериализовать
Создать? При анализе запроса вы разбиваете его на его составные части (токены и т.д.), Обратное будет составлять части в строковый запрос.
В терминологии компилятора противоположность - "непроницаемость". В частности, синтаксический анализ превращает поток токенов в абстрактные деревья синтаксиса, а unparsing превращает абстрактные синтаксические деревья в поток токенов.
Я бы использовал один из них:
В дополнение к существующему именованию лучше всего выглядит composeQuery.
Но в общем случае противоположность разбора ǝsɹɐd
Антоним "анализа" "синтезируется".
Я думаю, что "сериализация" - это, вероятно, то слово, которое вы хотите. Это означает создание текстового представления данных, которые могут быть экспортированы (и импортированы) из программы.
ToQueryString()
Определенно Render.
Я бы назвал его конструкцией.
генерировать или испускать, возможно.
Просто добавьте некоторые вещи.
Разумеется, синтаксический анализ является двухсторонним.
Вы можете анализировать реферат в запросе.
Вы можете проанализировать запрос в реферате.
Вопрос должен состоять в том, что вы называете последней частью метода, и потому, что в этом случае вы анализируете абстрактный текст, чтобы сделать запрос, который вы назвали бы его parseAbstract
.
Чтобы ответить на вопрос, разбор не имеет противоположности.
generateQuery, возможно? CreateQuery?
создавать, создавать, генерировать, визуализировать, конденсировать, уменьшать, toSQL, toString в зависимости от характера класса и связанных с ним операторов
Возможно prettyPrintQuery?
Сделайте свой выбор
У каждого из них несколько разные коннотации.
Традиционный компилятор состоит из двух частей: синтаксического анализатора и генератора кода.
Итак, вы могли бы назвать его "Generate". Конечно, это немного другое, потому что компилятор не пишет исходный код. (если это не прекомпилятор).
Возможно, Format(). или ToSQL() в вашем экземпляре?
unParse()? Просто шучу, я бы пошел с toQueryString()
выравниваться?
Анализируемый объект запроса, возможно, представляет собой иерархию условий, которую вы "сплющиваете" обратно в одномерную строку.
Но учитывая, что вы переходите от объекта к строке, на самом деле просто используйте toString или toSQL() или что-то в этом роде. Кроме того, если вы хорошо его разработали и используете подходящее приложение, вы можете переименовать его позже и просто вставить материал в комментарии о том, что он делает.
+1 для Generate, но придерживайтесь того, что вы генерируете, т.е. GenerateSQL()
Я бы сказал, сериализуем и десериализуем, вместо синтаксического анализа и...
Я бы пошел на ToString(), так как вы обычно можете их развязать цепочкой (противоположные функции, которые позволяют перейти от Class1 к Class2 и наоборот)
DateTime.Parse( DateTime.Parse( myDate.ToString() ).ToString() );
Serialize() выглядит как хороший выбор, но он уже имеет противоположность в Deserialize().
В вашем конкретном сценарии, как указывалось другим, ToSql() - еще один хороший выбор.
Я бы использовал render
> 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>
Что такое IMHO, противоположное parse()
> c = parse(b)
{ 'html': {
'head': {
'title': 'My Page'
}
'body': {
'h1': 'Hello World',
'p': 'This is a Paragraph'
}
}
Я обычно использую "синтаксический анализ" как метод преобразования, и поэтому я не могу найти противоположное слово для "convert". (вы не можете "деконвертировать" что-то, так как "unconvert" - это тип самого преобразования).
думая таким образом, лучшее решение (для меня) имеет два метода "разбора", которые получают разные аргументы. Пример (Java):
public class FooBarParser{
public Foo parse(Bar bar);
public Bar parse(Foo foo);
}
Я проголосовал за 'compose', но если вам это не нравится, я бы также предложил 'build'
Как насчет asSQL() или даже больше asQuery()?
INHO Сериализация, синтез - хорошие варианты. Кроме того, поскольку вы назвали parseQuery, я перейду с помощью codeQuery
deparse
Deparse должен анализировать, как:
Разбор/депарафирование - это не изменение структуры, а преобразование. Точное преобразование между эквивалентным текстом и форматом abstract-syntax-tree, поддерживающее все отношения и структуру.
"Compose" означает изменение структуры, поэтому не совсем правильно. Он предлагает комбинировать отдельные отдельные части (обычно в первый раз). Подобно тому, как "разложение" предполагает разделение на независимые части. Они меняют форму, а не только формат.
Быстрый поиск показывает термин, используемый внутри: