0
ANTLRで論理演算子と括弧を一緒に含む式を表す文法を定義します。ここ
文法ANTLR文法でかっこを含む論理演算子を定義する方法
grammar simpleGrammar;
/* This will be the entry point of the parser. */
parse
:
expression EOF
;
expression
:
expression binOp expression | ID | unOp (expression) | '(' expression ')'
;
binOp
:
('AND' | 'OR')
;
unOp
:
'NOT'
;
ID :
('a'..'z' | 'A'..'Z')+
;
定義された文法括弧なしで解析木を表現することができますことができるが、私は、入力、例えば括弧付き例を、(Apple OR Bananana)AND Orange
それはMismatchedTokenException
そこで表示されている場合、それはなり括弧を表現するために文法を定義する方法を説明してくれて本当に感謝しています。
その例外を示し式 ' –
いいえ、直接左回帰式です。 ANTLR4はこれらを処理できますが、ANTLR3はそうではありません。元の質問には直接左回帰も含まれているので、あなたはv4を使っていると思います。 –