Вопросы по теме '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 просмотров

Что эквивалентно эпсилону в грамматической нотации 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 просмотров

Как избежать создания промежуточных и бесполезных узлов AST с помощью ANTLR3?
Я написал грамматику ANTLR3, разделенную на более мелкие правила для повышения читабельности. Например: messageSequenceChart: 'msc' mscHead bmsc 'endmsc' end ; # Where mscHead is a shortcut to : mscHead: mscName mscParameterDecl? timeOffset?...
252 просмотров

Проблема с передачей параметров для 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 просмотров