Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql ANTLR:使用下一条语句的第一个标记终止前一条语句_Sql_Sql Server_Parsing_Antlr - Fatal编程技术网

Sql ANTLR:使用下一条语句的第一个标记终止前一条语句

Sql ANTLR:使用下一条语句的第一个标记终止前一条语句,sql,sql-server,parsing,antlr,Sql,Sql Server,Parsing,Antlr,我遇到了一些与SQL语法的语句终止相关的问题。目前它支持通过分号“;”终止语句代币将此设置为可选会导致语法内存不足。我想知道我是否可以匹配下一个语句的第一个标记作为前一个语句的终止符而不使用它。下面是我的解析器语法的一个片段 unit_statement : statement SEMICOLON! ; statement options{ backtrack=true; } : declare_statement | assignment_statement |

我遇到了一些与SQL语法的语句终止相关的问题。目前它支持通过分号“;”终止语句代币将此设置为可选会导致语法内存不足。我想知道我是否可以匹配下一个语句的第一个标记作为前一个语句的终止符而不使用它。下面是我的解析器语法的一个片段

unit_statement
: statement SEMICOLON!
;

 statement
options{
backtrack=true;
}
:   
     declare_statement
|    assignment_statement
|    sql_statement
;
这里,sql_语句规则必须以分号结尾,但declare_语句不应以分号结尾。我正在使用ANTLR 3