Вопросы по теме 'antlr4'
Режимы лексера из импортированной грамматики не идентифицируются в комбинированной грамматике. Ошибка компиляции после нажатия «запустить в testRig» Antlrworks2
Я использую Antlrworks2. Существует лексическая грамматика, в которой определены «лексические модусы». Я объединил грамматику, которая импортирует лексическую грамматику. После генерации кода из комбинированной грамматики будут сгенерированы два...
612 просмотров
schedule
15.09.2022
Пропуск токенов, которые являются частью грамматики ANTLR4
В ANTLR4 это приведет к тому, что токен LINE_FOLD будет пропущен:
LINE_FOLD
: CRLF WSP -> skip
;
Но если я сделаю это:
ESCAPED_CHAR
: '\\' LINE_FOLD? '\\'
| '\\' LINE_FOLD? ';'
| '\\' LINE_FOLD? ','
| '\\' LINE_FOLD? N
;...
772 просмотров
schedule
02.06.2024
Анализ файлов C++ из программы Java
После нескольких дней исследований обращаюсь к вам. Я ищу для анализа файла С++ для:
Подсчитайте количество параметров в методе/функции
Подсчитайте количество строк в методе/функции
так далее...
Чтобы сделать это, я сначала попытался...
124 просмотров
schedule
12.03.2024
Как получить IParseTree в ANTLR4?
В настоящее время я использую ANTLR4 на С#, но столкнулся с проблемой, я не знаю, как получить объект/класс IParseTree.
Я нахожу в C# полное имя здесь Antlr4.Runtime.Tree.IParseTree , но как получить объект?
AntlrInputStream inputStream = new...
1203 просмотров
schedule
16.11.2022
Как пропустить однострочный комментарий sql в antlr4
Как пропустить однострочные комментарии sql в грамматике antlr4?
Это ввод, который я дал:
--
-- $INPUT.sql$
--
CREATE TABLE table_one ( customer_number integer, address character varying(30));
create table table_two ( id integer, city...
714 просмотров
schedule
09.06.2024
Могу ли я изменить родительский класс контекста в antlr4
В antlr4. Родительским классом контекста по умолчанию является ParserRuleContext. Я хочу добавить свои вары в Context. но я не хочу изменять ParserRuleContext.java, поэтому я хочу создать новый класс Java (например, MyParserRuleContext), у которого...
813 просмотров
schedule
19.09.2022
Работа с перегруженными символами в неоднозначных грамматиках в ANTLR4
Я пытаюсь написать синтаксический анализатор для диалекта Программирование набора ответов (ASP) , который с точки зрения грамматики выглядит как Пролог с некоторыми расширениями. Одним из расширений, например, является расширение , означающее,...
347 просмотров
schedule
23.10.2023
Грамматика ANTLR4 C не поддерживает __cdecl?
Я запускаю ANTLR 4.2 и использую каноническую грамматику C из: https://github.com/antlr/grammars-v4/tree/master/c
Я делаю следующие шаги: (используя командные файлы из книги ANTLR4)
antlr C.g4
javac C * .java
grun C compilationUnit...
187 просмотров
schedule
26.05.2024
Сравнение токенов, сгенерированных 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