Использование сгенерированного ANTLR для анализа входного файла и отображения правильности

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

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

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

При чем здесь JavaScript?

Pointy 25.09.2018 02:32

Моя плохая, это была ошибка

Pape Traore 25.09.2018 02:35
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
2
340
1

Ответы 1

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

parser.lines();

Другие вопросы по теме