Я использую AntlrWords 2.1 для создания грамматики для antlr v4. По какой-либо причине rParanthesis не распознается. Я много искал, но не мог найти причину. Вы можете найти какие-либо ошибки?Antl Грамматика с скобками и пробелами
grammar bracketsGrammar;
OPENINGBRACKET : '[';
CLOSINGBRACKET : ']';
lParanthesis : OPENINGBRACKET ;
rParanthesis : CLOSINGBRACKET ;
WS : ' ' ->skip;
WORD : ~[ "]+ ;
parenthesizedWord : lParanthesis WS+ WORD WS+ rParanthesis ;
fullfile: parenthesizedWord EOF ;
И мой вход
[ Manuel ]
И выход
(fullfile (parenthesizedWord (lParanthesis [) Manuel ]) <EOF>)
Как вы можете видеть, как [и] являются частью производства, но мой rParanthesis не признается.
Спасибо за вашу помощь Manuel
Рассматривали ли вы [GrammarLexer.g4] (https://github.com/sharwell/antlrworks2/blob/ master/org-antlr-works-editor/src/org/antlr/works/editor/grammar/experimental/GrammarLexer.g4) и [GrammarParser.g4] (https://github.com/sharwell/antlrworks2/blob/master /org-antlr-works-editor/src/org/antlr/works/editor/grammar/experimental/GrammarParser.g4)? –
Я ничего здесь не вижу о «выходе». Как именно вы производите свою продукцию? –
Результат создается с помощью ANTLRWorks 2.1, там вы можете выбрать Run-> Run в TestRig ..., который дает вам полученный список токенов и полученное дерево. –