Вопросы по теме 'antlr4'

Что случилось с опциями в правилах в ANTLR 4?
Это не компилируется в ANTLR 4: Number options { backtrack=true; } : (IntegerLiteral Range)=> IntegerLiteral { $type = IntegerLiteral; } | (FloatLiteral)=> FloatLiteral { $type = FloatLiteral; } | IntegerLiteral { $type =...
1452 просмотров
schedule 09.01.2024

Грамматика ключа / значения ANTLR4
У меня очень простая грамматика «ключ / значение» (не та грамматика, над которой я работаю, но это самое простое, что я могу придумать и которое показывает мою проблему), которая, похоже, имеет проблемы с порядком сопоставления лексера в ANTLR 4.0b4....
703 просмотров
schedule 30.11.2022

Тип генерирует строку, которая требует более 65535 байт для кодирования в формате Utf8 в пуле констант.
Я пробую antlr4 с несколько большой грамматикой, которая работала в antlr3. Проработал 2 необходимых изменения грамматики, и теперь у меня есть инструмент для создания лексера и синтаксического анализатора. Однако у лексера есть ошибка компиляции:...
3059 просмотров
schedule 27.03.2023

Островное решение с ANTLR4
Я хотел бы поделиться с вами островным решением, которое мне пришлось реализовать в ANTLR4. Структура языка. Язык, для которого мне пришлось написать грамматику, является производным от PL/SQL с некоторыми дополнительными конструкциями. Я не...
614 просмотров
schedule 18.02.2024

Проверка правила с аргументами
Я пытаюсь проверить некоторые подправила в своем парсере, чтобы проверить варианты. Правило, которое я проверяю, является правилом выражения expression: expression PLUS expression # plusExpression | expression IS NOT? NULL...
1188 просмотров
schedule 28.06.2022

Antlr4 сбрасывает оставшиеся токены вместо спасения
Я использую Antlr4, и вот упрощенная грамматика, которую я написал: grammar BooleanExpression; /******************************* * Parser Rules *******************************/ booleanTerm : booleanLiteral (KW_OR booleanLiteral)+ |...
2608 просмотров
schedule 11.10.2022

несколько возвращаемых значений в ANTLR
Я использую ANTLR4 с Java и хотел бы сохранить значения, возвращаемые правилом при анализе ввода. Я использую такую ​​грамматику: db : 'DB' '(' 'ID' '=' ID ',' query* ')' { System.out.println("creating db"); System.out.println("Number of queries...
665 просмотров

Каков идиоматический способ обработки ошибок при обходе дерева синтаксического анализа в ANTLR4?
Я только начинаю работать с ANTLR4 и нахожусь в процессе создания слушателя, который проходит по дереву синтаксического анализа. У меня также есть собственный прослушиватель ошибок, добавленный экземпляр Parser ; чтобы опираться на это, я хотел бы,...
1065 просмотров
schedule 16.06.2023

Как сопоставить любой символ в парсере ANTLR (не лексере)?
Как сопоставить любой символ в парсере ANTLR (не лексере)? Где полное описание языка для парсеров ANTLR4? ОБНОВЛЕНИЕ Ответ "невозможен"?
6544 просмотров
schedule 24.02.2023

Оператор «метка списка» не работает для набора альтернатив
Кажется, следующее правило не будет работать в antlr4 testSetLabel : (flags+=( 'A' | 'B' | 'C' | 'D' ))* ; Это даст эту ошибку: TestSetLabelParser.java:69: error: incompatible types...
198 просмотров
schedule 17.10.2022

ANTLR Грамматика для цикла while
Привет! Мне нужна грамматика C для разбора циклов while. Скажем, например, мне нужно разобрать следующий код: A = 20 B = 1 WHILE(A < 30 ) //function call A = A + B ENDWHILE Мне потребуется разобрать и оценить выражения. Я выполнил...
1492 просмотров
schedule 18.04.2023

Как изменить дерево синтаксического анализа в ANTLR4?
Я использовал ANTLR4 для написания синтаксического анализа Fortran. Теперь я получаю дерево разбора (в ANTLR4 нет AST). Моя следующая работа — изменить дерево синтаксического анализа в соответствии с моими потребностями, например, вставить новые...
830 просмотров
schedule 30.08.2022

ANTLR 4: как получить правильные аргументы порядка в слушателях
В моей грамматике аргументы функции не являются обязательными, например: foo (param1,,, param4) // Это допустимо Учитывая эту грамматику: expressionlist      : COMMA* expression?      (COMMA expression?) *      ; В моем листере массив...
911 просмотров
schedule 09.03.2023

Почему определенные токены не распознаются?
(используя antlr-4.1-complete.jar) Я новичок в ANTLR4 и создал простую грамматику, чтобы проверить, чему я научился. Я обнаружил, что результаты сбивают с толку, и я чувствую, что должна быть какая-то основная концепция, которую мне (на протяжении...
122 просмотров
schedule 19.02.2023

Каков формат указания пакета в плагине maven Antlr4?
Каков формат указания пакета в плагине Antlr4 maven antlr4-maven-plugin? Я чувствую, что должен быть в состоянии сделать следующее: <plugin> <groupId>com.tunnelvisionlabs</groupId>...
4852 просмотров
schedule 13.02.2023

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

Как управлять обработкой ошибок и синхронизацией в Antlr 4/С#
Я использую Antlr 4 с целью С#. Вот часть моей грамматики: /* * Parser Rules */ text : term+ EOF; term : a1 a2 a3; a1: .... ... ... Я хочу принимать действительные блоки данных как (термин), когда существует ошибка, я хочу найти следующий...
5116 просмотров
schedule 11.04.2024

Принятие грамматики с одинарными кавычками
Мне нужно написать грамматику в antlr4, которая принимает дату и время в одинарных кавычках, а затем должна печатать то же самое, что и вывод. Например: дата/время = '2007-08-01T01:00:00,000+01:00' . Если это мой ввод, он должен быть принят как...
3734 просмотров
schedule 15.07.2022

Тестовая установка Antlr4 и maven
Я немного пытаюсь понять, как я могу использовать подключаемый модуль maven antlr4 для запуска класса TestRig? Я прочитал вывод mvn antlr4:help -Ddetail=true , который является единственной документацией, которую мне удалось найти, но в ней не...
2262 просмотров
schedule 08.01.2023

Семантический предикат лексера antlr об альтернативе
Учитывая грамматику: grammar Test; words: (WORD|SPACE|DOT)+; WORD : ( LD |DOT {_input.LA(1)!='.'}? ) + ; DOT: '.'; SPACE: ' '; fragment LD: ~[.\n\r ]; с лексером, сгенерированным Antlr4, для ввода: test....
1167 просмотров
schedule 02.04.2023