これは簡単な質問です。次のパーサー ルールがあるとします。
ifStatement
: expr3b=IF logical (~(THEN)) expression* (ELSE expression *)? ENDIF // missing THEN
;
これがこの文字列と一致しないのはなぜですか?
"IF CODE=\"10\" DUE_DATE < YESTERDAY ENDIF"
( IF
、THEN
、ELSE
、およびENDIF
は、想定どおりに定義されたトークンです。logical
およびexpression
その他のルールです)。