[发明专利]一种应用于工业机器人编程语言的语法检查方法有效
申请号: | 202010874055.0 | 申请日: | 2020-08-26 |
公开(公告)号: | CN112114812B | 公开(公告)日: | 2022-09-27 |
发明(设计)人: | 张乐乐;李萌萌;廖良闯;马韬;孙宏伟;张本顺;李凡;杨哲;王传生;邹金欣 | 申请(专利权)人: | 中国船舶重工集团公司第七一六研究所;江苏杰瑞科技集团有限责任公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 南京理工大学专利中心 32203 | 代理人: | 陈鹏 |
地址: | 222001 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 应用于 工业 机器人 编程 语言 语法 检查 方法 | ||
1.一种应用于工业机器人编程语言的语法检查方法,其特征在于,包括以下步骤:
步骤1、设计并编写语法详细说明文档;语法详细说明文档的设计方法为:将指令名称、指令类型、指令参数、指令参数类型、依赖指令、伙伴指令填充到XML节点树中;
步骤2、读取机器人程序内容,读取机器人指令语法说明;具体为:
读取机器人程序的内容,包括机器人语言的代码语句Sentences[0:n]和变量信息Vars[0:m];读取机器人语言文档中的指令说明CmdInfos[0:k];根据指令说明CmdInfos,逐行查找每行语句中的指令名称;语句的指令名称查找结果分为三种:无指令、一个指令、多个指令;
其中,Sentences[0:n]表示n行编程语句组成的数组;Vars[0:m]表示n行编程中包含的m个变量信息;CmdInfos[0:k]表示语法详细说明文档包含的k个指令说明数组;
步骤3、提取嵌套结构,计算层级指数;
计算层级指数的递归算法,算法名称:alg_sentence_level;输入:语句Sentences[0:n]、初始指数level;输出:按照行号依次存储的语句层级指数列表;算法步骤如下:
Step1:语句段所有语句遍历完毕,返回本语句段的层级指数并结束;
Step2:当前语句不是控制流起始语句时,当前行语句的层级指数为level,存储该结果,索引指向下一行语句,继续Step1;否则,执行Step3;
Step3:查找控制流终止语句;控制流起始和终止语句的层级指数均为level,并将控制流起始语句和控制流终止语句之间的子语句段SubSentences[j:p]分割,递归调用alg_sentence_level,将SubSentences[j:p]作为参数输入,该子语句段的初始指数为level+1;
Step4:按照存储顺序,先存储控制流起始语句的层级指数,再存储语句段SubSentences[j:p]的层级指数列表,最后存储控制流终止语句的层级指数;
步骤4、按照语法说明逐行语句进行检查。
2.如权利要求1所述的应用于工业机器人编程语言的语法检查方法,其特征在于,指令的通用形式如下:
key name=”name”type=”type”
param name=”name1”type=”type1”/
…
param name=”nameN”type=”typeN”/
/key
其中,key与/key作为一组标签且成对出现,代表着两个标签之间的多行文本内容为一个完整的机器人编程指令描述;key标签内的name表示指令的名称,type表示指令的类型;param/作为单独出现的标签,描述了机器人编程指令的一个参数,标签内的name表示当前参数的名称,标签内的type表示当前参数的类型。
3.如权利要求1所述的应用于工业机器人编程语言的语法检查方法,其特征在于,按照语法说明逐行语句进行检查,具体为:
根据层级指数列表和指令名称列表,在机器人程序中顺序检查每行语句;检查类型包括:指令个数、指令参数个数、指令参数类型、指令是否包含分隔符、逻辑表达式是否完整、控制流指令是否完整。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国船舶重工集团公司第七一六研究所;江苏杰瑞科技集团有限责任公司,未经中国船舶重工集团公司第七一六研究所;江苏杰瑞科技集团有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010874055.0/1.html,转载请声明来源钻瓜专利网。