小编And*_*ock的帖子

简单的antlr4语法中的输入错误不匹配

我正在尝试使用antlr4解析SQL的一个简单子集.

我的语法看起来像这样:

grammar Query;
query : select;
select : 'select' colname (','  colname)* 'from' tablename;
colname : COLNAME;
tablename : TABLENAME;
COLNAME: [a-z]+ ;
TABLENAME : [a-z]+;
WS : [ \t\n\r]+ -> skip ; // skip spaces, tabs, newlines
Run Code Online (Sandbox Code Playgroud)

我用一个简单的java应用程序测试它,如下所示:

import java.io.ByteArrayInputStream;
import java.io.InputStream;

import org.antlr.v4.runtime.*;
import org.antlr.v4.runtime.tree.*;

public class Test {
    public static void main(String[] args) throws Exception {
        // create a CharStream that reads from standard input

        InputStream is = new ByteArrayInputStream("select one,two ,three from table".getBytes());

        ANTLRInputStream input …
Run Code Online (Sandbox Code Playgroud)

antlr antlr4

3
推荐指数
1
解决办法
4846
查看次数

标签 统计

antlr ×1

antlr4 ×1