我有以下的语法
root
: sql_statements EOF | EOF
;
sql_statements
:( sql_statement )+
;
sql_statement
: ddl_statement semicolon
;
ddl_statement
: alter_statement
;
这是我的语法的初始快照我有以下的测试案例
aleter table user;alter table group_user;
第一条语句有错误,因此我很sql_statements统治下得到错误的两个语句
Failed to parse at line 1:1 due to mismatched input 'aleter' expecting ALTER
现在我想用Defaulterrorhandler功能跳过第一条语句,直到分号。 然后,它应该从第二条语句开始统治sql_statements开始。
Question :
How to tell which rule to start after consuming error tokens ?
Thanks in advance.