Вопросы по теме 'javacc'
Как позволить javacc не экранировать символы при генерации исходного кода?
Я использую javacc 5.0 для создания парсера json с файлом грамматики: https://github.com/inqwell/json/blob/master/src/main/javacc/com/inqwell/json/JSON.jj
Но в сгенерированном исходном коде java есть некоторые ошибки.
char escape =...
745 просмотров
schedule
23.09.2021
Заявление о недоступности Javacc
В моей грамматике есть производственные правила для выражений и фрагментов, которые изначально содержали косвенную левую рекурсию. Это правила после того, как я удалил из них рекурсию.
String expression() #Expression : {String number; Token t;}...
1972 просмотров
schedule
12.11.2021
JavaCC IntegerLiteral
Я использую JavaCC для создания лексера и парсера, и у меня есть следующий код:
TOKEN:
{
< #DIGIT : [ "0"-"9" ] >
|< INTEGER_LITERAL : (<DIGIT>)+ >
}
SimpleNode IntegerLiteral() :
{
Token t;
}
{...
185 просмотров
schedule
23.11.2021
JavaCC - Как я могу сделать порядок неважным в этом заявлении?
У меня в основном есть следующий оператор, и я хочу, чтобы он обрабатывал содержимое внутри одного и того же, независимо от того, в каком порядке он идет. Так, например, в текущем коде он будет принимать «ABS (5) + 3», но не «3». + АБС (5) "....
144 просмотров
schedule
01.12.2021
Как разрешить конфликт между двумя вариантами, начиная с одних и тех же токенов в javacc
Я пытаюсь написать компилятор для какого-то конкретного формата сообщений. Моя проблема, если я ее упрощаю:
< WORD : ([LETTER]){2,5}>
< ANOTHER_WORD : (<LETTER>|<DIGIT>){1,5}>
< SPECIAL_WORLD : "START">
void...
167 просмотров
schedule
04.10.2021
как использовать пустое слово в JAVACC в качестве токена?
Я настраиваю синтаксический анализатор с помощью JavaCC, и я хочу использовать пустое слово в качестве токена (слово эпсилон)
Я пробовал использовать не терминал
void Empty() :
{}
{
}
но я получаю сообщение об ошибке...
547 просмотров
schedule
14.10.2021
Регулярное выражение JavaCC для однострочного комментария
Я пишу лексер для пользовательского языка и хочу сопоставить одну строку комментария, начинающуюся с символа #, как в python, но здесь комментарий всегда начинается с начала строки. Пример:
#this is a comment
and #this is not a comment
Я...
60 просмотров
schedule
15.11.2021
Различные способы объявления LOOKAHEAD в JAVACC
Я понял грамматику Javacc, чтобы написать парсер, где я нашел строку, которая говорит как
Options : { LOOKAHEAD=3; }
Мне было интересно, что такое LOOKAHEAD и есть ли другие способы объявить lookahead?
249 просмотров
schedule
16.10.2021
префикс токена javacc
Я пытаюсь разрешить такую строку на моем языке запросов:
-some-hyphenated-term
где первый - указывает, что термин должен быть исключен. Проблема в том, что - в конечном итоге включается в текст токена, а не анализируется как токен...
356 просмотров
schedule
15.04.2022
javacc java.lang.NullPointerException
Я пытаюсь создать анализатор miniJava, но у меня возникли проблемы с поиском способа анализа объявлений методов, которые не имеют формальных параметров. например, public int getNumber() Код, который у меня есть сейчас, работает для параметров...
150 просмотров
schedule
24.04.2022
Парсер COBOL с использованием javacc + PMD
Я использую эту грамматику для создания парсера COBOL.
Я использую javacc для создания синтаксического анализатора и Java Tree Builder для создания AST из этой грамматики.
Я настраиваю подключаемый модуль eclipse под названием PMD для чтения...
1022 просмотров
schedule
11.06.2022
Выдать ошибку для незакрытого блока комментариев javacc
Я создаю лексер в javacc, который пропускает блочные комментарии, начинающиеся с /* и заканчивающиеся */. У меня он работает правильно для допустимых комментариев к блоку, но я пытаюсь найти способ выдать ошибку, когда комментарий к блоку не...
225 просмотров
schedule
03.07.2022
проверьте, начинался ли каждый метод с комментария
Я хочу проверить, начинался ли каждый метод MyFunction() с комментария. Поэтому я сгенерировал парсер с помощью Javacc с помощью правил производства.
экстракт файла jj:
// here the comments of MyFunction()
void MyFunction : {}
{...
80 просмотров
schedule
20.07.2022
Представление дерева синтаксического анализа с использованием JavaCC
Я построил парсер в JavaCC, который дал, например: let a: int = 5 + 4; он отображает:
Start
Sxl
Statement
VariableDecl
Identifier
Type
Expression
SimpleExpression
Term
Factor
Literal...
929 просмотров
schedule
13.08.2022
Неоднозначности JavaCC: как указать синтаксическому анализатору выбрать определенное совпадение из списка более длинных совпадений?
Для некоторых входных данных синтаксический анализатор представляет « Возможные типы более длинных совпадений: { ‹EXPRESSION›, ‹TEXT› } », но по какой-то странной причине он выбирает неправильный.
Это источник:
SKIP :
{
" "
| "\r"
|...
718 просмотров
schedule
04.10.2022
Как исправить ошибку JavaCC/jjTree «Код метода jjMoveNfa_0 (int, int) превышает ограничение в 65535 байт»
Я пишу парсер файлов, используя генератор парсеров JavaCC/jjTree ( https://javacc.org/ )
Поскольку файлы, подлежащие анализу, содержат много данных нестандартным образом (имеется в виду: без CSV и т. д.), определение грамматики для генератора...
90 просмотров
schedule
05.10.2022
Что лучше, ANTLR или JavaCC?
Проблемы - документация / обучаемость, интеграция с eclipse, инструменты, поддержка сообщества и производительность (примерно в таком порядке).
25155 просмотров
schedule
29.07.2023
Что люди делают с парсерами, например antlr javacc?
Из любопытства мне интересно, что люди могут делать с парсерами, как они применяются и что люди обычно создают с их помощью?
Я знаю, что он широко используется в индустрии языков программирования, но я думаю, что это лишь крошечная его часть, верно?
552 просмотров
schedule
03.07.2023
Разбор латексного языка в Java
Я пытаюсь написать синтаксический анализатор на Java для простого языка, похожего на Latex, т.е. он содержит много неструктурированного текста с парой команд \commands[with]{some}{parameters} между ними. Управляющие последовательности, такие как \\,...
1511 просмотров
schedule
28.11.2022
Разбор кода Objective-C для статического анализа
Я люблю статический анализ и проверки во время компиляции, почти до отказа, но большая часть моей повседневной работы связана с Objective-C. Чтобы устранить это противоречие, я хотел бы иметь возможность писать свои собственные инструменты анализа,...
4629 просмотров
schedule
22.04.2023