Описание тега antrl4

1 ответ

В Python2.7 ANTLR4 извлеките токены из правила синтаксического анализатора и сохраните их в списке

В моей грамматике я проверяю логические выражения, которые выглядят примерно так: ((foo == true) && (bar != false) || (qux == norf)) Я получаю строку из объекта контекста ANTLR4, вызывая getText(): def enterBody(self, ctx): expression = ctx.…
28 авг '15 в 09:23
1 ответ

Синтаксическая ошибка Antlr: несоответствующий ввод 'p', ожидающий WS

У меня есть следующая грамматика: grammar myProject; program: WS EOF myRules; WS: [ \t\r\n]+ -> skip; myRules: myRule+; myRule: SELECTOR OPEN declarations CLOSE; declarations: declaration+; declaration: PROPERTY EQ value ENDSYMBOL; value: INT | S…
10 окт '17 в 11:49
1 ответ

Как написать грамматику для записи встроенного комментария, игнорируя при этом строки только с комментариями?

Я пишу грамматику на новый язык, который я развиваю. Язык имеет следующее определение комментариев: Комментарий может быть "встроенным" или "только-строчным". "встроенные" комментарии начинаются с # комментарии "только строка" начинаются с # или же …
27 мар '17 в 06:48
0 ответов

Звездный ('*') оператор Antlr4, занимающий большой объем памяти

Я работаю над переработкой частей моей грамматики, чтобы уменьшить потребление памяти. Я застрял на правило, которое содержит оператор звезды ('*'). Я пробовал несколько разных вещей, но каждый раз, когда я запускаю сгенерированный код на C#, он быс…
25 мар '16 в 20:14
0 ответов

Реализация действия IF в ANTLR4/JS

Пытаясь адаптировать приложение ANTLR3 (в C++) в ANTLR4 (в JS), я все еще не понимаю, как реализовать IF THEN ELSE ENDIF на моем языке. Желательно использовать встроенные действия, потому что мое приложение простое, но я принимаю любую альтернативу …
28 дек '16 в 17:07
1 ответ

Как я могу получить запросы в тексте хранимой процедуры SQL Server, используя лексер и парсер antrl4?

Я хочу получать запросы в тексте хранимой процедуры SQL Server, используя лексер и парсер antrl4. Например, у меня есть текст процедуры следующим образом: ALTER PROCEDURE [dbo].[BookUpdate] @Name nvarchar(max), @BookId int, @PublishingHouse nvarchar…
03 июн '17 в 16:31
0 ответов

Antlr4: вопросы по грамматике-4/javascript для порта C++

Я пытаюсь портировать грамматику-4/javascript грамматику на C++ с подходом, используемым в уже представленных реализациях C# и Java. ( https://github.com/antlr/grammars-v4/tree/master/javascript). Во-первых, позвольте мне объяснить, как реализации C…
25 дек '17 в 10:10
2 ответа

Требование соответствия скобок в ANTLR

Я знаю, что в ANTLR4 я могу использовать? за 0 или 1 раз. Но, например, для идентификаторов, пользователь может использовать или не использовать круглые скобки. Но если я сделаю это '('? identifier ')'? Синтаксический анализатор разрешит заявления к…
23 сен '18 в 18:08
1 ответ

Грамматика для распознавания неограниченного количества {{expr '}' рядом друг с другом

Я пишу приложение на C# с использованием ANTLR4 для распознавания следующего стиля TeX'ish: {А} {х} + {Ь} {у} + {C} Моя текущая грамматика всегда берет последний экземпляр '{' expr '}', а затем игнорирует начало строки. Вот некоторые выходные резуль…
25 сен '15 в 20:26
1 ответ

Каковы преимущества Business Rule Engine (Biztalk) по сравнению с написанием моей собственной программы проверки правил?

У меня есть требование написать приложение в.Net, которое позволит бизнес-клиентам определять свои собственные правила. Я изучал BRE (Business Rule Engine) от Microsoft, которая поставляется на сервере Biztalk. До сих пор я понял, что BRE предоставл…
19 ноя '15 в 16:29
0 ответов

ANTLR, невозможно передать параметр в сгенерированный класс Lexer

Я использую Java в Eclipse. Мне удалось установить плагин ANTLR в Eclipse, и я запускаю класс TestRig, чтобы сгенерировать образ дерева и проверить правильность выражений по отношению к грамматике. В данный момент я запускаю класс TestRig из Eclipse…
16 май '18 в 12:46
1 ответ

Какой лучший способ обработки необязательных токенов в antlr4

Предположим, у меня есть следующие данные: Great University Graduated in 2010 Some University 09/2009 - 06/2011 Nice University 06/2011 Я хочу справиться с годами обучения. Моя грамматика выглядит так: education: (section)* EOF ; section: (school | …
27 дек '17 в 10:05
1 ответ

Несовместимое поведение TokenStreamRewriter.InsertBefore() с C "do-while();" заявления

Я пытаюсь использовать C-код с помощью механизма слушателя ANTLR. Но я нашел противоречивое поведение TokenStreamRewriter.InsertBefore() API с C do-while(); заявление. Я опубликовал подробное описание как номер 2252 ANTLR. Поэтому я не буду дублиров…
15 мар '18 в 03:33
0 ответов

ANTLR-подобный API для clang AST

Всего Clang/ LLVM N00B здесь. Я создаю многоязычный инструмент статического анализа, который имеет парсеры для отдельных языков и экспортирует AST с независимой маркировкой языка для обработки одного двоичного файла анализатора. До сих пор я использ…
21 фев '16 в 15:32
0 ответов

Antlr4: иерархическое дерево разбора

У меня есть эта очень простая грамматика для очень простого пользовательского шаблона, вдохновленного рулем. grammar TemplateParser; tags : (BEGINTAG | ENDTAG)* ; BEGINTAG : ('{{Begin'.*? '}}')+ ('{{'.*? '}}')* ; ENDTAG : '{{End' .*? '}}' ; WS : (' …
20 сен '18 в 21:59
1 ответ

Находится ли шаблон посетителей golang в antlr4 в рабочем состоянии?

Я не вижу рабочих примеров, и я вижу несколько запросов, которые остаются открытыми. Я хотел бы не идти по садовой дорожке. https://github.com/antlr/antlr4/pull/1807 https://github.com/antlr/antlr4/issues/1843 Есть также запросы на тягу, которые зас…
04 мар '19 в 22:36
1 ответ

ANTLR не соответствует вводу 'foo(some_foo)' ожидая {'foo'}

Я пишу парсер с использованием ANTLR и сейчас на стадии тестирования моего парсера / лексера. Я наткнулся на странную ошибку, пытаясь разобрать в основном присвоение переменной. (Как это) Foo = mpsga(LT); Я получаю ошибку: mismatched input 'line 1:6…
08 апр '19 в 07:34
0 ответов

Составные грамматики с ANTLR

(Среда - ANTLR 4 с Javascript) У меня есть грамматика Test.g4, импортирующая две другие грамматики (подробности опущены). grammar Test; import Time, Basic; request: PERIOD '=' exp=interval; PERIOD: [Pp][Ee][Rr][Ii][Oo][Dd]; Грамматика Time.g4: gramm…
19 ноя '19 в 21:27
1 ответ

antlr4 javascript - конфликт между началом jsdoc и литерналом регулярного выражения

Я преобразовал стандартный грамматик / лексер JavaScript Antlr4 для поддержки определений JSDOC. Теперь мне нужно иметь дело с однострочниками JSDOC, такими как /** @var {sometype} id */Первое правило лексера:DocStart : '/**' -> pushMode(DOC_MODE…
19 янв '20 в 14:36
0 ответов

Как передать несколько параметров в подшаблон на StringTemplate4

Я пытаюсь вызвать подшаблон, в котором мне нужно передать два выражения в качестве параметра и обработать этот параметр с помощью CustomRenderer. При вызове подшаблона + CustomRenderer с одним параметром это делается путем вызова метода из контекста…
09 июл '20 в 00:17