Вопросы по теме 'antlr4'
Режимы лексера из импортированной грамматики не идентифицируются в комбинированной грамматике. Ошибка компиляции после нажатия «запустить в testRig» Antlrworks2
Я использую Antlrworks2. Существует лексическая грамматика, в которой определены «лексические модусы». Я объединил грамматику, которая импортирует лексическую грамматику. После генерации кода из комбинированной грамматики будут сгенерированы два...
612 просмотров
schedule
15.09.2022
Анализ файлов C++ из программы Java
После нескольких дней исследований обращаюсь к вам. Я ищу для анализа файла С++ для:
Подсчитайте количество параметров в методе/функции
Подсчитайте количество строк в методе/функции
так далее...
Чтобы сделать это, я сначала попытался...
124 просмотров
schedule
12.03.2024
Как получить IParseTree в ANTLR4?
В настоящее время я использую ANTLR4 на С#, но столкнулся с проблемой, я не знаю, как получить объект/класс IParseTree.
Я нахожу в C# полное имя здесь Antlr4.Runtime.Tree.IParseTree , но как получить объект?
AntlrInputStream inputStream = new...
1203 просмотров
schedule
16.11.2022
Могу ли я изменить родительский класс контекста в antlr4
В antlr4. Родительским классом контекста по умолчанию является ParserRuleContext. Я хочу добавить свои вары в Context. но я не хочу изменять ParserRuleContext.java, поэтому я хочу создать новый класс Java (например, MyParserRuleContext), у которого...
813 просмотров
schedule
19.09.2022
Работа с перегруженными символами в неоднозначных грамматиках в ANTLR4
Я пытаюсь написать синтаксический анализатор для диалекта Программирование набора ответов (ASP) , который с точки зрения грамматики выглядит как Пролог с некоторыми расширениями. Одним из расширений, например, является расширение , означающее,...
347 просмотров
schedule
23.10.2023
Сравнение токенов, сгенерированных antlr
У меня есть следующее как часть моей грамматики (и здесь 'name' и 'value' просто статичны для простоты, на практике это не так):
test4 : 'name' CMPOP 'value';
CMPOP : EQUALS | NOTEQUALS;
EQUALS : '=';
NOTEQUALS : '!=';...
927 просмотров
schedule
25.02.2024
Обработка строковых литералов, заканчивающихся экранированной кавычкой в ANTLR4
Как написать правило лексера для соответствия литералу String, который не заканчивается экранированной кавычкой?
Вот моя грамматика:
lexer grammar StringLexer;
// from The Definitive ANTLR 4 Reference
STRING: '"' (ESC|.)*? '"';
fragment ESC :...
7260 просмотров
schedule
11.12.2023
Взаимно леворекурсивны?
Я работаю над парсером для грамматики в ANTLR. В настоящее время я работаю над выражениями, где () имеет приоритет высшего порядка, затем унарный минус и т. д.
Когда я добавляю строку, ANTLR выдает ошибку: Следующие наборы правил взаимно...
707 просмотров
schedule
08.10.2022
Почему нет жизнеспособной альтернативы оператору #include в ANTLR 4 с грамматикой C?
Я только начинаю работать с ANTLR v4 и немного запутался...
Я использую файл грамматики C из проекта antlr здесь для работы с следующий бит C:
#include <stdio.h>
int main()
{
printf("Hello");
return 0;
}
(сохранено как...
1891 просмотров
schedule
12.11.2023
как распечатать дерево синтаксического анализа с использованием среды выполнения python2 с antlr4
Я пытаюсь использовать antlr4 версии 4.4 и среда выполнения python2 . Грамматика взята из книги antlr4, страница 6, файл: Hello.g4 :
grammar Hello;
r : 'hello' ID ;
ID : [a-z]+ ;
WS : [ \t\r\n]+ -> skip ;
и я создаю лексер...
4787 просмотров
schedule
09.09.2022
как вставить токены или контексты в мой класс слушателя в antlr4
У меня есть файл грамматики antlr4, который анализирует язык BASIC. Есть ли способ вставить больше кода в мой расширенный класс baseListener?
Например, если я разбираю этот код:
10 print "hello world"
%include "moreCode.bas"
print "after...
611 просмотров
schedule
23.07.2022
ANTLR4 Обходной путь с отрицательным прогнозом?
Я использую antlr4 и пытаюсь сделать парсер для Matlab. Одна из основных проблем заключается в том, что в комментариях и транспонировании используются одинарные кавычки. Я думал о решении, чтобы определить правило лексера STRING примерно следующим...
1759 просмотров
schedule
12.03.2024
Действия Antlr4-JS в грамматике: как получить доступ к токенам и определить функции? (прямо в java, а не в JS)
Я пытаюсь адаптироваться к JS-таргетингу на Expr.g4 книги . В этом примере действия находятся непосредственно в грамматике. Они включают служебные функции, определенные в @parser :: members, которые вызываются в правилах.
Пример хорошо работает...
516 просмотров
schedule
12.11.2022
ANTLR4: Как Java может выполнять файлы Python?
Я использую ANTLR для создания лексера/парсера Python (он же Python target ).
На официальной странице ANTLR написано: используйте Java для создания .py файлов:
set CLASSPATH=.;antlr-complete.jar;%CLASSPATH%
java org.antlr.v4.Tool...
59 просмотров
schedule
12.12.2023
Разрешить недопустимый ввод в Lexer или отправить в парсер?
Я использую Antlr4 для создания парсера, и у меня есть вопрос по реализации. Я видел ряд грамматик, в которых есть правило лексера по умолчанию, которое будет соответствовать любому символу в конце. Я также видел некоторые рекомендации по...
79 просмотров
schedule
30.08.2022
Преобразование первой буквы в заглавную с помощью шаблона строки
Я использую файл шаблона String для создания файлов Java. Для этого я использую ANTLR. Код для одного из строковых файлов шаблона показан ниже:
package framework;
public abstract class Listener$GUIdriver.name$ {
$GUIdriver.commands:{...
749 просмотров
schedule
03.07.2022
Привязать субправила ANTLR4 к правилу
У меня есть такая грамматика:
living
: search EOF
;
search
: K_SEARCH entity
( K_QUERY expr )?
( K_FILTER expr )?
( K_SELECT1 expr ( COMMA expr )* )?
( K_SELECT2 expr ( COMMA expr )* )?
( K_SELECT3 expr ( COMMA expr )* )?
;
Как...
145 просмотров
schedule
17.10.2022
Разбор оператора SQL CREATE TABLE с использованием ANTLR4
Код файла Lexer выглядит следующим образом:
lexer grammar CreateLexer;
CREATE
: 'create' | 'CREATE'
;
NUMBER_OF_SHARDS:'number_of_shards' | 'NUMBER_OF_SHARDS';
NUMBER_OF_REPLICAS:'number_of_replicas' | 'NUMBER_OF_REPLICAS';
ID
: (...
733 просмотров
schedule
30.03.2024
правило лексера без фрагментов x может соответствовать пустой строке
Что не так со следующим лексером antlr?
у меня ошибка
warning(146): MySQL.g4:5685:0: non-fragment lexer rule VERSION_COMMENT_TAIL can match the empty string
Прикрепленный исходный код
VERSION_COMMENT_TAIL:
{ VERSION_MATCHED == False }?...
1740 просмотров
schedule
14.12.2023
Удаление взаимной левой рекурсии из леворекурсивных правил
С ANTLR 4.6, снимок от 23.11.2016.
У меня есть два правила, каждое из которых является леворекурсивным. Я расширил несколько альтернатив, чтобы раскрыть левую рекурсию. ANTLR4 справляется с этим, потому что левая рекурсия явная. Однако эти два...
76 просмотров
schedule
27.06.2022