Использование сгенерированного ANTLR для разбора входного файла и отображения корректности - PullRequest
0 голосов
/ 25 сентября 2018

Итак, у меня есть грамматика и я сгенерировал парсер, используя ANTLR4.Сгенерированный парсер отлично работает на терминале.Теперь вот моя проблема, мне нужно создать Java-программу, которая будет принимать имя файла в качестве аргумента, проходить каждую строку файла и проверять правильность синтаксиса / значения.Если это так, он выведет правильное значение, а если нет, то выдаст false или, возможно, ошибки.ANTLR сгенерировал файл лексера Java и файл синтаксического анализатора Java.У меня есть это до сих пор:

CharStream characterStream = CharStreams.fromFileName("input.txt");
ANTLRLexer lexer = new ANTLRLexer(charstream);
ANTLRParser parser = new ANTLRParser(new CommonTokenStream(lexer));

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

1 Ответ

0 голосов
/ 25 сентября 2018

Если ваша грамматика содержит правило lines, которое проходит по всем строкам (обратите внимание, что вы хотите использовать EOF, чтобы убедиться, что оно проходит по всем строкам), все, что вам нужно сделать, это вызвать его:

parser.lines();
...