Описание тега antlr
ANTLR, еще один инструмент для распознавания языков, представляет собой языковой инструмент, который обеспечивает основу для создания распознавателей, интерпретаторов, компиляторов и переводчиков из грамматических описаний, содержащих действия на различных целевых языках.
8
ответов
Парсеры деревьев для компиляторов, написанных на C++
Я хотел бы найти генератор синтаксического анализатора дерева, чтобы помочь мне преобразовать AST для компилятора, написанного на C++. После небольшого исследования я узнал об ANTLR (который может быть нацелен на работу с C, но не с C++). Я также на…
04 июн '09 в 03:33
2
ответа
antlr как определить необязательные детали в любом порядке
Предположим, нужна грамматика для разбора следующих шаблонов: 1. REPORT 2. BEGIN 3. QUERY 4. BEGIN 5. AGGREGATION: day 6. DIMENSION: department 7. END 8. END Где строки № 5 и № 6 являются необязательными, и порядок 2 строк не имеет значения. Как я м…
26 июн '12 в 00:01
1
ответ
Копировать узлы деревьев, используя грамматики дерева ANTLR
Мне нужно руководство по решению проблемы, с которой я столкнулся, используя древовидную грамматику. По сути, я хочу иметь возможность заменять / копировать операторы, которые можно найти в дереве. Это, вероятно, лучше всего объяснить на примере. Во…
08 май '13 в 05:27
2
ответа
Условные выражения в шаблонах строк Antlr
Мы используем Antlr StringTemplates, чтобы контролировать, как выводится имя сущности. Основной Stringtemplate является $ FirstName $ $ Initial $ $ LastName $, $ Суффикс $, $ Степень $ Я хочу добавить несколько смарт-символов в этот шаблон, чтобы за…
09 окт '09 в 16:55
1
ответ
Построение дерева: размножить поддерево для ребенка
Предположим, у меня есть эта простая и бессмысленная грамматика: propagate : what^ where*; what : CHAR^; where : NUMBER -> ^(PLUS NUMBER); NUMBER : '0'..'9'; CHAR : 'a'..'z'; PLUS : '+'; Если он разбирает строку как a123456789, он генерирует AST,…
09 янв '13 в 19:24
1
ответ
Систематический способ создания грамматики дерева ANTLR?
У меня есть немного большой файл грамматики синтаксического анализатора ANTLR и я хочу создать для него древовидную грамматику. Но, насколько я знаю, эта работа по созданию древовидной грамматики не может быть выполнена автоматически, т.е. я должен …
22 авг '11 в 07:19
1
ответ
ANTLR: 0: несоответствующий префикс ввода префикса
Я пытаюсь построить грамматику, но я действительно не понимаю, почему ANTLR дает эту ошибку. Вот мое тривиальное правило: trivial_grammar prefixDef : PREFIX prefixname COLON url NEWLINE ; trivialexer PREFIX : 'PREFIX' | 'prefix'; Что случилось с ANT…
02 мар '14 в 20:50
1
ответ
Как использовать строку одинарной кавычки и одинарную кавычку одновременно с antlr?
Я столкнулся с проблемой в antlr3, что я хочу описать строку одинарных кавычек, строку двойных кавычек и строку составных кавычек. но код не может быть скомпилирован. SingleQuoteString : '\'' ( ~('\''|'\\') | ('\\' .) )* '\'' ; DoubleQuoteString : '…
07 янв '16 в 08:53
1
ответ
Поймать ошибки в ANTLR и найти родителя
Я обнаружил, что могу перехватывать ошибки во время синтаксического анализа, перезаписывая displayRecognitionError, но как мне найти родительский "узел" этой ошибки? ех. если у меня есть грамматика: prog: stat expr; стат: STRING; expr: INTEGER; И да…
07 янв '11 в 15:40
1
ответ
Грамматика для одной переменной функции в ANTLR
Привет! Я ищу грамматику ANTLR для анализа выражений функции одной переменной. Он должен поддерживать +,-, /, ^, специальные функции (например, cos, sin) и константы (pi, e) и круглые скобки. Я пытался написать это сам, но получаю предупреждения о р…
06 мар '11 в 16:34
1
ответ
Невозможно проанализировать символ APL с помощью ANTLR
Я пытаюсь проанализировать выражения APL с помощью ANTLR, это своего рода анализатор исходного кода APL. Он анализирует нормальные символы, но не может анализировать специальные символы (например, "←") выражение = N←0 лексер /* Lexer Tokens. */ NUMB…
08 мар '18 в 14:12
2
ответа
ANTLRWorks ошибка отладки
Когда я отлаживаю грамматику в ANTLRWorks 3.4, это дает мне следующую ошибку, javax.swing.text.BadLocationException: Position not represented by view Грамматика с приведенной выше ошибкой приведена ниже. grammar CMinusMinus; program : (vardeclaratio…
03 мар '12 в 18:26
1
ответ
antlr, как исправить грамматику так (varname)? не в состоянии разбора, если он существует, но это неправильно
Я переписываю этот пост (тот же вопрос, но меньше слов). Я переписал мою грамматику, чтобы просто на верхнем уровне это statement: SELECT EOF!; #removed all other rules and tokens and still not working SELECT : ('S'|'s')('E'|'e')('L'|'l')('E'|'e')('…
20 авг '12 в 23:35
0
ответов
ANTLR меняет тип токена на основе следующего токена
Я прочитал, что тип токена зависит от следующего токена, но в том, что спрашивающий пытался всегда получать один и тот же токен, игнорируя пробел. У меня другой вопрос: я хотел бы изменить токен в зависимости от контекста. Грамматика - это грамматик…
11 апр '13 в 21:43
1
ответ
Как получить исходный текст, используя $text, при этом правило возвращает значение
Итак, у меня есть следующая грамматика: top_cmd :cmds { std::cout << $cmds.text << std::endl; } ; cmds returns [char* str] : cmd+ { str = new char('a'); } ; Я получаю ошибку компиляции g++: "str" was not declared in this scope Если я убе…
23 фев '14 в 19:52
2
ответа
Руководство по автоматическому тестированию для языка, созданного с помощью ANTLR
Для небольшого языка с минимальным контролем потока, написанного с помощью ANTLR, есть ли какие-либо рекомендации или ссылки, которые можно принять во внимание при тестировании языка? Спасибо
25 мар '14 в 21:03
2
ответа
Островная грамматика antlr3
Что такое и как использовать "островную грамматику" в antlr3?
01 апр '10 в 14:51
1
ответ
Настроить Antlr CLASSPATH в Ubuntu
Я пытаюсь настроить Antlr4 в Ubuntu.Я попытался добавить jar antlr4 в файл (.cshrc) с помощью команды: set CLASSPATH = ($CLASSPATH /user/Documents/Antlr4/bin/antlr-4.2.2-complete.jar) при попытке получить исходный файл (.cshrc) я получаю сообщение о…
20 май '14 в 14:43
1
ответ
Обработка исключений ANTLR с "$", Java
Для моей грамматики в ANTLR мой код Java может отлавливать и печатать ошибки для входных данных, содержащих "$". В моей реализации мне нужно распечатать "успех" для успешного ввода. Итак, я делаю следующее в своем коде Java, CharStream charStream = …
09 окт '11 в 19:09
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