sql - SparkSQL 解析 - SqlBase.g4 无法识别小写关键字和标识符
问题描述
我下载了 SqlBase.g4 并使用 antlr v4 工具来构建词法分析器和解析器。但是,当我针对一个非常简单的查询运行解析器时:,当我将查询更改为它时select * from table1
,它无法识别小写select
和小写表标识符。table1
SELECT * FROM TABLE1
有没有办法让解析器为小写场景工作?
解决方案
您在这里有两个选择:
1.建立匹配大写或小写的词法规则。
2.构建匹配所有大写关键字的词法规则,然后使用将所有字符转换为大写的自定义字符流进行解析,然后将它们发送到词法分析器(通过 LA() 方法)。
阅读本文以获取更多信息:不区分大小写的 Lexing
推荐阅读
- html - 为什么即使显示:inline-block,背景颜色也不会捕捉?
- c# - 访问类和类中的数组
- xml - xml定义位置上的Powershell Append()属性
- java - 将给定的字符串答案与实际时间进行比较?
- c++ - 自定义模板操作符<<(T x) 上的错误 C2676
- javascript - 当我使用 Promise.all 进行多次调用(大约 12 次)时,一些 API 调用失败
- blazor - Blazor 服务器 - 分页和导航
- php - WordPress 帖子不会始终如一地显示
- excel - 在 Excel 中的多个列中满足条件时突出显示重复的行
- react-native - 如何使用 Mocha Runner 使用 E2E Detox 测试 React Native Camera