Тестирование преобразования грамматики ANTLR 2 -> ANTLR 4JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Тестирование преобразования грамматики ANTLR 2 -> ANTLR 4

Сообщение Anonymous »

Я совершенно новичок в ANTLR, но хочу преобразовать SQL-подобную грамматику из ANTLR 2 в ANTLR 4. Чтобы проверить это, я надеялся использовать вывод ANTLR 2 parser.getAST().toStringList() для сравнения с чем-то аналогичным, сгенерированным ANTLR 4. В ANTLR 4 я пробовал использовать Trees.toStringTree(tree, parser), который генерирует нечто подобное, но не включает токены, но затем включает все идентификаторы правил. В частности, это то, что я имею при анализе чего-то вроде select * from /ABC:
ANTLR 2 -

Код: Выделить всё

( [queryProgram,] ( SELECT [*,]
( FROM ( [iterDef,] [/ABC,] ) ) ) )
ANTLR 4 -

Код: Выделить всё

(queryProgram (query (selectExpr select (projectionAttributes *)
(fromClause from (iteratorDef (expr (castExpr (orExpr (orelseExpr
(andExpr (quantifierExpr (andthenExpr (equalityExpr (relationalExpr
(additiveExpr (multiplicativeExpr (inExpr (unaryExpr (postfixExpr
(primaryExpr (regionPath /XYZ))))))))))))))))) )
Итак, мой общий вопрос: как я могу проверить это преобразование? В настоящее время практически не существует тестов, специфичных для парсера, для кода ANTLR 2. Однако существует МНОГО интеграционных тестов. Я бы предпочел, чтобы что-то было ориентировано только на те изменения синтаксического анализа, которые мне нужно внести (преобразование с AST на основе посетителей).

Подробнее здесь: https://stackoverflow.com/questions/798 ... conversion
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»