[发明专利]一种应用于工业机器人编程语言的语法检查方法有效
申请号: | 202010874055.0 | 申请日: | 2020-08-26 |
公开(公告)号: | CN112114812B | 公开(公告)日: | 2022-09-27 |
发明(设计)人: | 张乐乐;李萌萌;廖良闯;马韬;孙宏伟;张本顺;李凡;杨哲;王传生;邹金欣 | 申请(专利权)人: | 中国船舶重工集团公司第七一六研究所;江苏杰瑞科技集团有限责任公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 南京理工大学专利中心 32203 | 代理人: | 陈鹏 |
地址: | 222001 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 应用于 工业 机器人 编程 语言 语法 检查 方法 | ||
本发明公开了一种应用于工业机器人编程语言的语法检查方法,针对由计算机通用语言改进而来的机器人语言,将指令语法分类归纳为一个语法说明文档,读取程序变量数据和程序语句,按照指令详细说明中程序流控制指令将程序进行分割,计算每行语句的嵌套层级指数,最后逐行查找指令,检查指令的参数个数和参数类型、检查指令的分隔符等;将每行的检查结果汇总,形成语法检查的结果。本发明定制化机器人语言语法,可以快速完成指令的新增、删除和更改;按照层级指数将程序进行分割,快速检查。
技术领域
本发明涉及语法词法分析领域,特别是一种工业机器人编程语言的语法检查方法。
背景技术
高效准确的词法语法分析是实现工业机器人语言程序向可执行目标代码翻译的关键之一。从国内外研发的各种机器人语言来看,机器人语法的发展方式分为三种:1)产生一种全新的语言;2)对计算机通用语言进行修改和增加一些句法或者规则;3)在原计算机编程语言上增加新的子程序。
现有的语法检查方法,主要存在以下缺点:1)可扩展性较低:没有将机器人编程指令抽象归纳为统一形式的指令说明文档,增加指令时工作量较大;2)检查效率低:按照从上到下的顺序依次检查每行指令语句,没有将编程语句分块检查。
发明内容
本发明的目的在于提供一种应用于工业机器人编程语言的语法检查方法。
实现本发明目的的技术方案为:一种应用于工业机器人编程语言的语法检查方法,包括以下步骤:
步骤1、设计并编写语法详细说明文档;
步骤2、读取机器人程序内容,读取机器人指令语法说明;
步骤3、提取嵌套结构,计算层级指数;
步骤4、按照语法说明逐行语句进行检查。
进一步的,语法详细说明文档的设计方法为:将指令名称、指令类型、指令参数、指令参数类型、依赖指令、伙伴指令填充到XML节点树中,指令的通用形式如下:
进一步的,步骤2读取程序内容和指令说明,具体为:
读取机器人程序的内容,包括机器人语言的代码语句Sentences[0:n]和变量信息Vars[0:m];读取机器人语言文档中的指令说明CmdInfos[0:k];根据指令说明CmdInfos,逐行查找每行语句中的指令名称;语句的指令名称查找结果分为三种:无指令、一个指令、多个指令;
其中,机器人程序包括编程语句文本和编程语句中变量信息文本;Sentences[0:n]表示n行编程语句组成的数组;Vars[0:m]表示n行编程中包含的m个变量信息,包括机器人位置姿态变量、数字量IO控制变量、模拟量IO控制变量等;CmdInfos[0:k]表示权利要求2中语法详细说明文档包含的k个指令说明数组。
进一步的,计算层级指数的递归算法,其步骤如下:
Step1:语句段所有语句遍历完毕,返回本语句段的层级指数并结束;
Step2:当前语句不是控制流起始语句时,当前行语句的层级指数为level,存储该结果,索引指向下一行语句,继续Step1;否则,执行Step3;
Step3:查找控制流终止语句;控制流起始和终止语句的层级指数均为level,并将控制流起始语句和控制流终止语句之间的子语句段SubSentences[j:k]分割,递归调用alg_sentence_level,将SubSentences[j:k]作为参数输入,该子语句段的初始指数为level+1;
Step4:按照存储顺序,先存储控制流起始语句的层级指数,再存储语句段SubSentences[j:k]的层级指数列表,最后存储控制流终止语句的层级指数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国船舶重工集团公司第七一六研究所;江苏杰瑞科技集团有限责任公司,未经中国船舶重工集团公司第七一六研究所;江苏杰瑞科技集团有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010874055.0/2.html,转载请声明来源钻瓜专利网。