Я знаю, что для ANTLR3 существует ANTLR3-грамматика, и мне кажется, что дистрибутив ANTLR4 содержит грамматику ANTLR4, написанную в ANTLR3, но есть ли грамматика для ANTLR4, написанная в ANTLR4 сама?Есть ли ANTLR4 грамматика для ANTLR4
0
A
ответ
1
В настоящее время официальной грамматики нет, но в рамках ANTLRWorks 2. В этой грамматике определенно отсутствуют некоторые функции отчетности об ошибках, которые находятся в официальной грамматике, и могут незначительно отличаться в поведении.
- GrammarLexer.g4: Это лексерская грамматика. В грамматике используется опция
abstract=true
, которая была удалена из официального релиза ANTLR, поэтому грамматика работает только со специальным выпуском 4.1-opt в моей вилке проекта. - GrammarLexer.java: Это расширяет сгенерированный
AbstractGrammarLexer.java
и обеспечивает необходимые реализацииemit()
иhandleBeginArgAction()
. - GrammarParser.g4: Это грамматика синтаксического анализатора. Он также отмечен абстрактом, но в настоящее время не использует никаких функций, которые требует этот вариант, чтобы его можно было удалить. Я включил его для согласованности с кодом, созданным для lexer.
0
Существует также один на GitHub, автором которого является Теренс Парр.
Смежные вопросы
- 1. Antlr4 грамматика неоднозначность
- 2. ANTLR4 грамматика вопрос
- 3. ANTLR4 - Взаимно-леворекурсивная грамматика
- 4. Грамматика Antlr4 для функционального применения
- 5. ANTLR4 грамматика указать родительский потомок
- 6. ANTLR4 взаимная левая рекурсивная грамматика
- 7. antlr4 грамматика python3 на GitHub
- 8. ANTLR4 грамматика не признает объявление
- 9. antlr4 грамматика - Несовместимость ошибка ввода
- 10. HTML/Markdown грамматика стиля для ANTLR4
- 11. Antlr4: посторонний вход в antlr4
- 12. Есть ли задача ANTLR4 Ant?
- 13. Грамматика antlr4 не соответствует исходному идентификатору
- 14. ANTLR4 регулярное выражение и тильда ANTLR4
- 15. ANTLR4 C# грамматика и левая рекурсия
- 16. производительность выпуск моя грамматика и antlr4
- 17. Antlr4 грамматика не жадный не останавливается соответствием
- 18. Мой Antlr4 Грамматика не понимает математические выражения
- 19. ANTLR4: грамматика острова, совпадение маркера/пропуская
- 20. Antlr4 Грамматика вопрос (не совсем синтаксический)
- 21. ANTLR4 грамматика, правило принимает только часть предложения
- 22. Сдерживание жадности ANTLR4 (создание ANTLR4 грамматики для существующих DSL)
- 23. ANTLR4 - пробел как разделитель
- 24. Каков наилучший подход для ANTLR4?
- 25. Есть ли файл синтаксиса ANTLR4 vim?
- 26. Поддерживает ли ANTLR4 ASTLabelType?
- 27. грамматика antlr4 для интерпретатора - определяющая точка входа во входном файле
- 28. ANTLR4 pushMode, popMode, mode
- 29. Отладка Python ANTLR4 Grammar
- 30. Поддерживает ли ANTLR4 назначение буквального имени токену?
Блестящий, именно то, что мне нужно. Большое спасибо. –
Просто начал играть с грамматиками, и похоже, что после последнего токена в разделе «токенов» есть дополнительный символ запятой (,) как в GrammarLexer.g4, так и в GrammarParser.g4. После удаления этих ANTLR генерируются java-файлы. –
@TorokBalint 4.1-opt release позволяет эту запятую, и я предпочитаю хранить ее, когда у меня есть списки с разделителями, организованные с одним элементом в строке. –