SparkSQL解析-SqlBase.g4无法识别小写的关键字和标识符

时间:2019-03-04 21:50:59

标签: sql apache-spark apache-spark-sql antlr

我下载了SqlBase.g4,并使用antlr v4工具构建了词法分析器和解析器。但是,当我针对一个非常简单的查询运行解析器时:select * from table1,当我将查询更改为{{1时,它无法识别小写select和小写表标识符table1 }}有效。

有没有办法让解析器适用于小写字母情况?

1 个答案:

答案 0 :(得分:3)

您在这里有两个选择:

1。。构建与大写或小写字母匹配的词汇规则。

2。。构建与所有大写字母匹配的关键字的词法规则,然后使用自定义字符流进行解析,该字符流将所有字符转换为大写,然后再将其发送到词法分析器(通过LA()方法)。

阅读本文以获取更多信息:Case-Insensitive Lexing