Вопросы по теме 'antlr3'
Как сделать lex 0..255?
Я хочу принять десятичное число от 0 до 255. Это лучшее, что я могу придумать:
fragment my_token :
('0'..'9') | // 0 -> 9
('1'..'9' '0'..'9') | // 0 -> 99
('1' '0'..'9' '0'..'9') | // 100 -> 199
('2'...
225 просмотров
schedule
01.07.2022
Antlr 3.2 Правила перезаписи
Недавно я начал изучать Antlr и скачивал AntlrWorks 1.4, который предположительно включает Antlr 3.2. Теперь, 3.2 должен поддерживать грамматики правил перезаписи, такие как '->', но я не смог получить даже простейший случай, который я мог бы...
379 просмотров
schedule
22.04.2023
Приоритеты правил Antlr
Во-первых, я знаю, что эта грамматика не имеет смысла, но она была создана для проверки поведения приоритета правила ANTLR.
grammar test;
options
{
output=AST;
backtrack=true;
memoize=true;
}
rule_list_in_order :
(
first_rule
|...
8151 просмотров
schedule
30.11.2022
Можно ли сгенерировать синтаксический анализатор CSP (общие последовательные процессы) с использованием ANTLR?
Могу ли я написать парсер для обмена последовательными процессами (CSP) в ANTLR? Я думаю, что он использует левую рекурсию, как в заявлении
VMS = (coin → (choc → VMS))
Полную спецификацию языка можно найти по адресу CSPM: Справочное...
467 просмотров
schedule
14.06.2023
Что эквивалентно эпсилону в грамматической нотации ANTLR BNF?
Используя преимущества ANTLR 3.3, я меняю текущую грамматику, чтобы она также поддерживала ввод без скобок. Вот первая версия моей грамматики:
grammar PropLogic;
NOT : '!' ;
OR : '+' ;
AND : '.' ;
IMPLIES :...
10625 просмотров
schedule
12.07.2022
Сборка библиотеки с использованием автоинструментов из cmake
Это моя первая попытка с cmake, и я хотел бы, если возможно, получить отзывы о том, что я сделал, поскольку некоторые проблемы остаются.
В CMakeLists.txt папки библиотеки я создал два целевых файла makefile: configure-antlr3c и antlr3c . Первая...
21196 просмотров
schedule
02.04.2023
Как избежать создания промежуточных и бесполезных узлов AST с помощью ANTLR3?
Я написал грамматику ANTLR3, разделенную на более мелкие правила для повышения читабельности. Например:
messageSequenceChart:
'msc' mscHead bmsc 'endmsc' end
;
# Where mscHead is a shortcut to :
mscHead:
mscName mscParameterDecl? timeOffset?...
252 просмотров
schedule
08.10.2022
Проблема с передачей параметров для stringtemplate
Учитывая эти правила:
defServ: 'service' path bodyServ? SEP ->Serv(....);
path: t+=ID ('/' t+=ID)* ->path(...);
Спрашиваю, как можно передать список токенов "t" в шаблон "Серв"?
Простейшим решением было бы поставить производство...
202 просмотров
schedule
28.05.2024
как создать файл токена из файла грамматики в antlr
Я создаю DSL, используя antlr. Lexer и Parser написаны в одном файле грамматики (скажем, layout.g). Грамматика дерева записывается в другом файле грамматики (скажем, layoutTree.g). Теперь синтаксический анализатор дерева неправильно выполняет...
1920 просмотров
schedule
18.05.2022
antlr3 НЕ правило
negExpression : (NOT^)* primitiveElement ;
Это у меня правило. Теперь у меня есть этот код:
!!(1==1)
Я ожидал, что получу это дерево:
NOT
|
NOT
|
==
/ \
1 1
Однако в Antlr3 кажется, что дерево заканчивается как...
71 просмотров
schedule
21.11.2022
почему в этой грамматике ошибка 208?
Я не понимаю, почему следующая грамматика приводит к ошибке 208 с жалобой на то, что ЕСЛИ никогда не будет сопоставлено:
error(208): test.g:11:1: The following token definitions can never be matched because prior tokens match the same input: IF...
353 просмотров
schedule
27.02.2023
Как я могу реализовать правило парсера в ANTLR, которое объединяет два узла в один?
Вторая альтернатива ((1-9)(0-9)) следующего правила синтаксического анализатора приводит к двум узлам в абстрактном синтаксическом дереве.
oneToHundred
: ('1'|'2'|'3'|'4'|'5'|'6'|'7'|'8'|'9')
|...
987 просмотров
schedule
30.12.2022
Частные методы продукта ANTLR для С# для разбора правил
Я пытаюсь использовать ANTLR для создания парсера для простого языка с использованием генерации кода С#.
Я успешно создал MyLangLexer.cs и MyLangParser.cs с очень простым правилом, которое называется «правило».
Проблема в том, что...
237 просмотров
schedule
21.06.2022
ANTLR для C# и атрибут CLSCompliant
Я использую ANTLR V3 для создания кода С# для языка DSL.
Сгенерированный код содержит атрибут CLSCompliant как в классах laxer, так и в классах синтаксического анализатора, который вызывает генерацию предупреждения, поскольку мой проект не...
1463 просмотров
schedule
04.07.2023
Как я могу изменить свое выражение, чтобы вызвать вызов RewriteRuleSubtreeStream.NextTree() в сгенерированном парсере?
Я новичок в ANTLR, который пытается обновить раннюю грамматику ANTLR 3.1 до 3.4. Единственный камень преткновения, на который я натыкаюсь, связан с моим сгенерированным парсером. Есть строка кода, которая вызывает NextNode(), и я хочу, чтобы она...
146 просмотров
schedule
28.05.2022
Как я могу создавать собственные отчеты об ошибках в ANTLR с помощью Python?
Я пишу простой парсер для своего класса компиляторов (просто доказательство концепции, что я могу заставить инструменты работать) и использую ANTLR с привязками python. У меня есть наша тривиальная грамматика для правильной токенизации и...
576 просмотров
schedule
13.05.2022
Правило лексера ANTLR потребляет символы, даже если они не совпадают?
У меня есть странный побочный эффект правила лексера antlr, и я создал (почти) минимальный рабочий пример, чтобы продемонстрировать его. В этом примере я хочу, например, сопоставить String [0..1] . Но когда я отлаживаю грамматику, поток токенов,...
1632 просмотров
schedule
29.09.2022
Анализ ANTLR - игнорирование комментариев к последней строке ввода
Я использую Antlr 3.2, и у меня проблемы с написанием грамматики, чтобы игнорировать строки комментариев. В частности, я получаю сообщение об ошибке, если строка комментария является последней строкой ввода без новой строки после нее.
Мой ввод -...
1864 просмотров
schedule
26.02.2023
Разбор файла журнала с помощью ANTLR
Мне нужно проанализировать файл журнала Weblogic с помощью ANTLR. Вот пример:
Tue Aug 28 09:39:09 MSD 2012 [test] [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] Alert - There is no user password credential mapper...
1838 просмотров
schedule
21.05.2022
ANTLR: токен для текста в правиле перезаписи
Я создаю AST, используя ANTLR. Я хочу написать производство, которое соответствует этой строке:
${identifier}
В моем файле грамматики у меня есть:
reference
: DOLLAR LBRACE IDENT RBRACE -> ^(NODE_VAR_REFERENCE IDENT)
;
Это...
475 просмотров
schedule
22.09.2022