Вопросы по теме '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 просмотров
schedule
01.12.2022
Каков идиоматический способ обработки ошибок при обходе дерева синтаксического анализа в 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