Я написал грамматику в Antlr и хочу проверить, анализируются ли некоторые выражения в соответствии с грамматикой.

Я написал грамматику BNF в Antlr4. С помощью команд Antlr мне удалось запустить его и скомпилировать. Выходами являются все необходимые файлы, которые создает Antlr (лексеры, парсеры, слушатели). Я не уверен, что созданная мной грамматика BNF семантически правильна, но, по крайней мере, она синтаксически правильна, поскольку ошибок не возникает.

На этом этапе я должен проверить, обрабатываются ли некоторые существующие выражения в соответствии с этой грамматикой, но я не знаю, как это сделать.


person s.k.    schedule 22.08.2013    source источник
comment
Я думаю, эта книга окажется для вас очень полезной: amazon. ru / The-Definitive-ANTLR-4-Reference / dp / 1934356999   -  person james.garriss    schedule 26.05.2015


Ответы (1)


Я делаю следующие предположения:

  • antlr-4.1-complete.jar находится в вашем CLASSPATH
  • Ваша грамматика называется "Тест"
  • Ваше стартовое правило называется "синтаксический анализ".

Затем сделайте следующее:

$ java org.antlr.v4.runtime.misc.TestRig Test parse -tree
Type expressions here
CTL^D

Если у вас есть пример выражения в файле, вы можете передать его содержимое через синтаксический анализатор:

$ cat fileName | java org.antlr.v4.runtime.misc.TestRig Test parse -tree
person Jeff French    schedule 20.09.2013