Вопросы по теме '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 просмотров

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 просмотров

префикс токена 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 просмотров

Выдать ошибку для незакрытого блока комментариев 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 просмотров

Как исправить ошибку 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 просмотров