首页 > 解决方案 > SparkSQL 解析 - SqlBase.g4 无法识别小写关键字和标识符

问题描述

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

有没有办法让解析器为小写场景工作?

标签: sqlapache-sparkapache-spark-sqlantlr

解决方案


您在这里有两个选择:

1.建立匹配大写或小写的词法规则。

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

阅读本文以获取更多信息:不区分大小写的 Lexing


推荐阅读