は、私は次の文法持っている:はなぜその解析可能な
grammar Demo;
program: command
IDENTIFIER
;
command:
| 'add'
| 'remove'
;
IDENTIFIER: [a-zA-Z][a-zA-Z0-9]* ;
WHITESPACE: [ \t\n\r]+ -> skip;
を今私は「FOOを追加」と私は正しい結果を得るようなものを入力することができます。 しかし、彼はまた "foo"だけを受け入れます。私は、値がコマンドの1つで始まらなければならないので、パーサは例外をスローすると思った? 問題を解決するオプションはありますか?それとも私は誤解を持っていますか?
を私はANTLRを知らないが、私は最初の '仮定|ので、空の入力を可能にすること、問題になるために'文字を。たぶんそれを 'command: 'add'に変更してください。 '取り除く'; – Seelenvirtuose