[发明专利]编译计算机语言的方法和装置有效
申请号: | 201610200937.2 | 申请日: | 2016-03-31 |
公开(公告)号: | CN107291521B | 公开(公告)日: | 2020-12-04 |
发明(设计)人: | 侯震宇 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 北京博浩百睿知识产权代理有限责任公司 11134 | 代理人: | 宋子良 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 编译 计算机语言 方法 装置 | ||
1.一种编译计算机语言的方法,其特征在于,包括:
依据预设语法检测待编译语句是否存在错误的语法单元;
在检测结果为是的情况下,判断所述语法单元所在的子节点是否为对应的父节点中的可选节点;
在判断结果为是的情况下,删除所述语法单元;
在所述判断所述语法单元所在的子节点是否为对应的父节点中的可选节点之后,所述方法还包括:在判断结果为否的情况下,递归查询所述父节点是否为对应上一级父节点中的所述可选节点;在查询结果为是的情况下,删除所述父节点对应的所述语法单元,编译所述待编译语句中剩余正确的语法单元。
2.根据权利要求1所述的方法,其特征在于,所述待编译语句中的语法单元包括:选择子句序列和来源子句序列,其中,所述选择子句序列包括:选择列表,所述选择列表中任意一列均为所述选择列表中的所述可选节点;所述来源子句序列包括:来源表名和/或来源别名,所述来源别名为所述来源子句序列中的所述可选节点。
3.根据权利要求2所述的方法,其特征在于,在所述错误的语法单元为所述选择子句序列中的所述选择列表的情况下,所述判断所述语法单元所在的子节点是否为对应的父节点中的可选节点包括:
判断所述选择列表中的每一列是否均存在语法错误;
在判断结果为否的情况下,判断所述选择列表中的至少一列是否存在语法错误;
在判断结果为所述选择列表中的至少一列存在语法错误的情况下,判断所述选择列表是否为所述选择子句序列中的所述可选节点;
在判断结果为所述选择列表中的每一列均存在语法错误的情况下,判定所述待编译语句为非法语句。
4.根据权利要求3所述的方法,其特征在于,在所述递归查询所述父节点是否为对应上一级父节点中的所述可选节点之后,所述方法还包括:
在查询结果为所述选择列表为所述选择子句序列中的必选节点的情况下,编译所述选择列表中语法正确的列。
5.根据权利要求2所述的方法,其特征在于,在所述错误的语法单元为所述来源子句序列中的所述来源别名的情况下,所述判断所述语法单元所在的子节点是否为对应的父节点中的可选节点包括:
判断所述来源别名是否为所述来源子句序列中的所述可选节点。
6.根据权利要求5所述的方法,其特征在于,所述在判断结果为是的情况下,删除所述语法单元包括:
在判断结果为所述来源别名是所述来源子句序列中的所述可选节点的情况下,删除所述来源别名对应的语法单元,编译所述待编译语句中剩余正确的语法单元。
7.根据权利要求2所述的方法,其特征在于,所述待编译语句中的语法单元还包括:第一子句序列,其中,所述第一子句序列包括:条件表述序列;所述第一子句序列为所述待编译语句中的可选节点,所述条件表述序列为所述第一子句序列的必选节点。
8.根据权利要求7所述的方法,其特征在于,在所述待编译语句中所述条件表述序列中的表述条件错误的情况下,所述递归查询所述父节点是否为对应上一级父节点中的所述可选节点包括:
查询所述条件表述序列是否为所述第一子句序列中的所述可选节点;
在查询结果为否的情况下,查询所述第一子句序列是否为所述待编译语句中的所述可选节点。
9.根据权利要求8所述的方法,其特征在于,所述删除所述父节点对应的所述语法单元,编译所述待编译语句中剩余正确的语法单元包括:
删除所述第一子句序列对应的所述语法单元,编译所述待编译语句中剩余正确的语法单元。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610200937.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:应用程序中页面内容的显示方法和装置
- 下一篇:一种远程命令的处理方法和装置