0
SQL文を解析する文法を書いています。私は以下のルールを持っています:入力に余分なトークンがあっても、ANTLR 3.5.2はルールに一致します
show_databases :
SHOW DATABASES { System.out.println("Showing databases");
;
私の入力がshow databases
のとき、私はメッセージを受け取ります。しかし、入力がshow databases now
のときは、メッセージが表示されます。私はREPLを構築しており、すべての行は;
で終わります。構文が間違っているのでエラーを出したい。何か案は?
私はちょうど質問を編集しましたが、私は一度に1行ずつ読み込み、すべての行は ';'で終わります。 –
その後、 'EOF'の代わりにセミコロンもマッチします。 –
それはうまくいった!どうもありがとうございました。 –