[发明专利]目标语法树的生成方法以及相关设备在审
申请号: | 201911194471.X | 申请日: | 2019-11-28 |
公开(公告)号: | CN112860233A | 公开(公告)日: | 2021-05-28 |
发明(设计)人: | 刘志 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/41 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 目标 语法 生成 方法 以及 相关 设备 | ||
1.一种目标语法树的生成方法,其特征在于,包括:
通用语法分析器将输入的语句进行词法分析,从而得到语言单元链,其中,所述语言单元链包括多个语言单元;
将所述语言单元链和所述语法规则树进行匹配,从而生成语法分析栈,其中,所述语法规则树采用树的形式来表示语法规则,所述语法规则描述了所述语言单元链组合起来的规则;
结合反射技术对所述语法分析栈进行归约,从而得到目标语法树。
2.根据权利要求1所述的方法,其特征在于,将所述语言单元链和所述语法规则树进行匹配,从而生成语法分析栈之前,所述方法还包括:
根据目标语法树对象模型生成语法规则树,其中,所述目标语法树对象模型是目标语法树具有的共同特征的抽象。
3.根据权利要求2所述的方法,其特征在于,所述目标语法树对象模型是使用具备结构化描述的能力,以及反射构造对象的能力的编程语言编写的。
4.根据权利要求3所述的方法,其特征在于,所述编程语言包括Java、C++、C#、Python中的一种或者多种。
5.根据权利要求1至4任一权利要求所述的方法,其特征在于,所述通用语法分析器为结构化查询语言SQL解析器。
6.一种通用语法分析器,其特征在于,包括:词法分析器以及语法分析器,
所述词法分析器用于将输入的语句进行词法分析,从而得到语言单元链,其中,所述语言单元链包括多个语言单元;
所述语法分析器用于将所述语言单元链和所述语法规则树进行匹配,从而生成语法分析栈,其中,所述语法规则树用于采用树的形式来表示语法规则,所述语法规则描述了所述语言单元链组合起来的规则;
所述语法分析器用于结合反射技术对所述语法分析栈进行归约,从而得到目标语法树。
7.根据权利要求6所述的分析器,其特征在于,所述通用语法分析器还包括语法规则树构造器,
所述语法规则树构造器用于根据目标语法树对象模型生成语法规则树,其中,所述目标语法树对象模型是目标语法树具有的共同特征的抽象。
8.根据权利要求7所述的分析器,其特征在于,所述目标语法树对象模型是使用具备结构化描述的能力,以及反射构造对象的能力的编程语言编写的。
9.根据权利要求8所述的分析器,其特征在于,所述编程语言包括Java、C++、C#、Python中的一种或者多种。
10.根据权利要求6至9任一权利要求所述的分析器,其特征在于,所述通用语法分析器为SQL解析器。
11.一种计算机可读存储介质,其特征在于,包括指令,当所述指令在服务器上运行时,使得所述服务器执行如权利要求1至5任一项所述的方法。
12.一种服务器,其特征在于,包括处理器以及存储器,所述存储器用于存储指令,所述处理器运行所述存储器中的指令执行如权利要求1至5任一项所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911194471.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:功率因数校正器
- 下一篇:控制混合动力车辆颗粒物捕集器再生的方法、系统和车辆