antlr 4でファイルを解析しようとしていますが、1桁を超える整数が解析されない理由がわかりません(79:44行目入力「17」で実行可能な代替手段がありません)。
これはエンティエ文法ですhttp://pastebin.com/rxktvUBi
これがintの定義です
fragment DIGIT : [0-9] ;
integer : DIGIT+ ;
これはまったく機能しません。このバージョン
integer : ('0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9')+ ;
1桁の整数に対してのみ機能します。
これは、分割されていない行の例です
struct p_77_bound_17_or: ((bound(MEK)<=17) | (bound(MEKPP)<=17))
問題は
simple_expression:
(integer)+
識別子を使用する場合は注意してください
ID:
('a'..'z'|'A'..'Z'|'0'..'9'|'_')+;
identifier: ID;
整数の代わりに
simple_expression:
identifier
それは動作します。
なんで?何か案が?