1

ANTLR を使用して、次のような非常に単純なルールを構築しようとしています。

number :
  INT
  ;

INT : '0'..'9'+
  ;

123として受け入れますが、なぜそれが?としてnumberも受け入れabc123られるのかわかりません。number

解析するルールを修正するにはどうすればよいnumberですか?

アドバイスをありがとう!

4

1 に答える 1

0

しかし、なぜabc123も番号として受け入れるのかわかりませんか?

そうではありません。

おそらく、コンソールに出力されたエラー メッセージを確認するのが難しいサードパーティのツール/エディタを使用している可能性がありますが、それらは表示されています。パーサーはおそらく入力の不一致から回復しているだけで、 のような入力を受け入れるように見えますINT"abc123"

于 2012-10-15T15:33:17.953 に答える