[发明专利]一种SQL格式化的方法在审
申请号: | 201811484271.3 | 申请日: | 2018-12-06 |
公开(公告)号: | CN109597624A | 公开(公告)日: | 2019-04-09 |
发明(设计)人: | 魏明伟 | 申请(专利权)人: | 魏明伟 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F16/242 |
代理公司: | 北京天盾知识产权代理有限公司 11421 | 代理人: | 张彩珍 |
地址: | 300170 天*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 格式化 语法分析过程 编码效率 词法分析 通用性强 重新定义 注释位置 语法树 自定义 遍历 虚拟 场景 输出 开发 | ||
1.一种SQL格式化的方法,其特征在于:该方法包括:
A、词法分析提取注释;
B、自定义语法分析过程;
C、重新定义ANTLR的createToken方法;
D、遍历虚拟语法树,确定注释位置;
E、格式化输出。
2.根据权利要求1所述的一种SQL格式化的方法,其特征在于:所述步骤A中还包括编写ANTLR词法和语法脚本。
3.根据权利要求2所述的一种SQL格式化的方法,其特征在于:所述步骤A中还包括设定行注释的词法分析通道为一个特殊通道,区别于空格和换行,为后续直接在词法分析结果中直接过滤出所有的注释。
4.根据权利要求3所述的一种SQL格式化的方法,其特征在于:所述步骤A中还包括完成词法分析后,将所有的注释Token保存到一个单独队列;当前Token信息包含:所在原始字符串的行号和行内的偏移量。
5.根据权利要求1所述的一种SQL格式化的方法,其特征在于:所述步骤B中还包括对特定语法分析单元添加动作脚本。
6.根据权利要求5所述的一种SQL格式化的方法,其特征在于:所述步骤B中还包括保存文法分析过程的具体Token偏移量。
7.根据权利要求6所述的一种SQL格式化的方法,其特征在于:所述步骤B中还包括分析脚本中的每个文法规则添加一个init和after的方法,将恢复节点放入和弹出堆栈。
8.根据权利要求1所述的一种SQL格式化的方法,其特征在于:所述步骤D中还包括:
对虚拟语法树深度遍历;
在遍历过程中使用allnodelist对所有的节点进行倒序存储,此处的倒序是为了模拟出正常代码顺序的相反顺序;
对于注释队列中的每个注释确定输出位置。
9.根据权利要求1所述的一种SQL格式化的方法,其特征在于:所述步骤E中还包括再次对虚拟语法树深度遍历,遇到某个节点,如果该节点是某个注释的输出节点就输出注释,并且去掉该注释节点,然后按照当前节点类型格式化输出当前节点,及深度遍历其子节点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于魏明伟,未经魏明伟许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811484271.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种插件管理方法、装置、设备及存储介质
- 下一篇:可扩展部署系统