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

Версия 4 другого инструмента для распознавания языков (ANTLR), гибкого генератора лексера / парсера. ANTLR4 имеет усовершенствованный адаптивный алгоритм анализа LL(*), который улучшает более простой алгоритм LL(*), используемый в ANTLR3.
0 ответов

Как статически ссылаться на antlr-runtime.lib без dll

Я пытаюсь статически связать библиотеку времени выполнения C++ ANTLR 4 с программой в Windows. Сборка сделана с помощью CMake. Однако, когда я запускаю программу, она говорит, что antlr-runtime.dll отсутствует (я не хочу предоставлять antlr-runtime.…
19 апр '18 в 09:35
1 ответ

ANTLR TemplateException был не обработан

Я использую возможности шаблона строки Antlr и вижу следующую ошибку: Antlr4.StringTemplate.Compiler.TemplateException was unhandled HResult=-2146233088 Message=Exception of type 'Antlr4.StringTemplate.Compiler.TemplateException' was thrown. Source=…
27 янв '17 в 14:52
1 ответ

Antlr javascript с веб-пакетом

Я пытаюсь использовать веб-пакет с целью antlr 4 javascript. Я слежу за этим документом. https://github.com/antlr/antlr4/blob/master/doc/javascript-target.md Если я правильно понимаю, веб-пакет объединит все файлы из библиотеки libraty времени выпол…
12 янв '17 в 16:49
1 ответ

ANTLR: 0: несоответствующий префикс ввода префикса

Я пытаюсь построить грамматику, но я действительно не понимаю, почему ANTLR дает эту ошибку. Вот мое тривиальное правило: trivial_grammar prefixDef : PREFIX prefixname COLON url NEWLINE ; trivialexer PREFIX : 'PREFIX' | 'prefix'; Что случилось с ANT…
02 мар '14 в 20:50
1 ответ

Новичок: 2.4@ принимается как поплавок. "@" - это специальный символ?

Интересно, почему выражение "setvalue(2@)" с радостью принимается лексером (и парсером) с учетом моей грамматики / посетителя. Я уверен, что делаю что-то не так. Ниже приведен небольшой пример, который должен проиллюстрировать проблему. Буду признат…
31 июл '14 в 17:53
2 ответа

ANTLR4: Как разобрать строку многоугольника WKT?

Я использую ANLTR4 в Java, и я мог бы разобрать строку многоугольника WKT, как это polygon((20 30, 30 40, 50 60, 20 30)) с этим лексером: POLYGON: ('polygon'|'POLYGON')'(('[0-9:,-.eTZ" ]+'))'; поскольку числа внутри многоугольника (()) могут быть da…
25 янв '18 в 11:28
1 ответ

ANTLR4: как получить позицию в исходном коде с помощью python3

Я хотел бы использовать ANTLR4 для анализа файлов COBOL с помощью программы Python3. Для этого мне нужно знать позицию, в которой токен (скажем, оператор MOVE) находится в файле (по крайней мере, строка и, если возможно, также позиция символа). Мне …
03 мар '18 в 23:53
1 ответ

АНТЛР 4: Разбор грамматики

Я хочу проанализировать некоторые данные из скрипта AppleSoft Basic. Я выбираю ANTLR и загружаю эту грамматику: jvmBasic Я пытаюсь извлечь имя функции без параметров: return parser.prog().line(0).amprstmt(0).statement().getText(); но он возвращает P…
06 июл '16 в 20:16
1 ответ

Нерелевантное правило нарушает грамматику ANTLR4

Я строю грамматику ANTLR4 для синтаксического анализа строк из источника данных - похоже, если не во многом так же, как StringTemplate, за исключением того, что мне не нравится этот синтаксис, поэтому я пишу свой собственный (также просто для удовол…
16 мар '14 в 02:53
1 ответ

Посетитель и слушатель одновременно в Антлр 4

В Antlr 4 мы можем позвонить нашему посетителю или классу слушателей отдельно. Но я хочу называть это по очереди, я имею в виду, что когда я посещаю дерево с помощью посетителя, мой класс прослушивателя также должен выполняться. Посмотрите на мой пр…
18 фев '15 в 13:25
1 ответ

antlr4 + python: соответствие токена отладки

Я использую цель antlr4 + python, чтобы подобрать фразу вроде этой select 1 from dual where id=.0union select 1 Токены являются: ['select', '1', 'from', 'dual', 'where', 'id', '=', '.0union', 'select', '1'] Моя проблема в том, .0 а также union токен…
24 окт '16 в 03:46
1 ответ

Взаимная левая рекурсия ANTLR 4

Мне жаль задавать еще один вопрос о взаимной левой рекурсии, я чувствую, что мой характерен только для моей ситуации, или, по крайней мере, я не могу понять достаточно, чтобы связать его с грамматикой всех остальных. Я немного новичок в мире компьют…
19 фев '14 в 03:12
1 ответ

Преобразование первой буквы в заглавную с использованием шаблона строки

Я использую файл шаблона String для создания файлов Java. Для этого я использую ANTLR. Код для одного из строковых шаблонов файла показан ниже: package framework; public abstract class Listener$GUIdriver.name$ { $GUIdriver.commands:{ command | publi…
09 окт '15 в 09:09
1 ответ

Как перевести на antlr4 грамматику ObjectLiteral[Выход]?

Я пытаюсь перевести грамматику es6 с: https://tc39.github.io/ecma262/ и https://gist.github.com/rbuckton/0d8c1f1c607f52f5ae37 Моя проблема в том, что многие объявления содержат что-то вроде этого: ObjectLiteral[Yield] : { } { PropertyDefinitionList[…
12 авг '16 в 20:34
1 ответ

Начальная точка для производительности ANTLR4

Я перенес довольно большую грамматику ANTLR2 в ANTLR4 и достиг шага, когда выходные данные в обеих грамматиках почти идентичны, за исключением нескольких крайних случаев. Однако некоторые файлы очень долго анализируются (даже в режиме прогнозировани…
23 июн '18 в 12:59
1 ответ

Перевод языка Antlr4 - отделение логики шаблона от класса посетителя?

Я смотрю на прагматический перевод огромного количества относительно простого кода TSQL в код Groovy. Есть ряд причин, конечно, но движущая причина - просто посмотреть, можно ли это сделать, и в процессе узнать о компиляторах / грамматиках / и т. Д.…
23 мар '15 в 01:10
1 ответ

Внутренняя ошибка в грамматических правилах ANTLR4

Я написал свою собственную грамматику: grammar SimpleCode; program: 'class Program' '{' field_decl* method_decl* '}' ; field_decl: type id_int_list ; id_int: id | id '[' int_literal ']' ; id_int_list: id_int | id_int (',' id_int)* ; method_decl: (ty…
08 ноя '16 в 13:40
1 ответ

Как определить альтернативную метку в скобках

Это часть моей грамматики парсера: expression: multiplyingExpression ( PLUS multiplyingExpression #plus | MINUS multiplyingExpression #minus )*; Я хочу определить плюс и минус Альтернативная метка, по-видимому, это не позволяет мне сделать это. в #p…
07 ноя '17 в 05:49
1 ответ

Динамический приоритет операторов и ассоциативность в ANTLR4?

Я работал над грамматикой antlr4 для нотации Z (версия ISO UTF), и спецификация требует фазы lex, а затем "двухфазного" анализа. сначала вы помещаете его в набор токенов NAME (или DECORWORD), а затем анализируете полученные токены по правилам operat…
14 мар '17 в 21:11
0 ответов

Как заставить Visual Studio распознавать сгенерированный код ANTLR4

Я использую Visual Studio 2015 с ANTLR4 с официальным плагином. Он распознает файлы.g4. Я написал файл грамматики, и он, кажется, генерирует код. Сгенерированный код помещается в obj\Debug папка. Кроме того, частичные классы генерируются как дочерни…
13 сен '17 в 13:39