質問するのはとても恥ずかしいです... intからboolへ、またはその逆に型キャストする言語の文法を書きました。
logic_expr : expr NOT? OR | AND expr
| expr '|' expr SMALLER | LARGER
| NUMBER
| NUMBER_SHORT
| IDENT
| LOGIC_DEFINED
;
math_expr : expr ADD | SUB expr
| NUMBER
| NUMBER_SHORT
| IDENT
| LOGIC_FULL
;
expr : logic_expr
| math_expr
| IDENT
| LOGIC_DEFINED
| '(' expr ')'
;
しかし、antlr は、「次の一連のルールは相互に左再帰的です [logic_expr、expr、math_expr]」と教えてくれます。