[发明专利]一种数控仿真系统中NC代码解释器的设计方法在审
| 申请号: | 201310754409.8 | 申请日: | 2013-12-31 |
| 公开(公告)号: | CN103942041A | 公开(公告)日: | 2014-07-23 |
| 发明(设计)人: | 白瑞林;张和祥;邹骏宇 | 申请(专利权)人: | 江南大学;无锡信捷电气股份有限公司 |
| 主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F17/30 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 214122 江苏省*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 数控 仿真 系统 nc 代码 解释 设计 方法 | ||
1.本发明的目的在于提供一种数控仿真系统中NC代码解释器的设计方法,其特征是:对加工指令进行特征分类,构建规则数据库,根据地址字构造函数表,由地址字结合规则库进行词法分析;同时采用正则表达式对标准数控代码规则进行形式化的描述,并且采用自顶向下的递归下降分析法进行语法分析,针对有指令字缺省的情况,自动补充完整数控代码,大大提高NC解释器的语法分析的灵活性以及编程效率。包含如下几个步骤:
词法分析
第一步:对加工指令进行特征分类,同时构造规则数据库,基于库中地址字,构造地址字函数表;
第二步:读取一行数控程序,进行预处理,去掉空格与注释,并且将程序分解成程序字;
第三步:对分解出的程序字,读取字符,排除字符错误,将其分解成地址字和数值,并调用对应地址字函数结合分解出的数值,为程序字匹配动作功能,以及其参数特性;
语法分析
第一步:建立正则表达式文法规则,针对常用NC代码规则如下:
程序编号规则:O\d{4};程序段序号规则:N/d{4};
地址字G和M等规则:G\d{2}和M/d{2};
地址字F和S等规则:F/d{4}和S\d{4};
第二步:根据自顶向下的递归下降分析法,从正则表达式起始规则开始,按最左推导方式向下推导进行语法分析;针对NC代码有指令字缺省的情况,以正则表达式描述的规则,自动补充缺省的程序字,具体如下步骤:
(1)读取到未缺省的程序字时,从此行代码开始自动向上推导,依据规则库和正则表达式构造缺省的程序字规则;
(2)将未缺省的程序字规则加入缺省的程序字规则中,组成完整的程序,NC数控代码补充完整后,从起始规则开始,依次调用子程序分析整行代码。
2.根据权利要求1所述一种数控仿真系统中NC代码解释器的设计方法,其特 征是;所述语法分析第二步中,包括:
在自顶向下分析法中调用正则表达式描述数控程序语法规则进行语法分析中,遇到有缺省程序字的程序,形如Nnnnn Xnnnn.nnn(其他情况缺省程序字处理过程类似),自动根据上文语义补全程序,具体如下:
(1)在自顶向下分析法中,根据未缺省的程序字Xnnnn.nnn,从Nnnnn行代码开始依次向上推导与之关联的程序字Gnn,根据Gnn在规则库中的定义,查找与之对应的参数,并且利用正则表达式构造缺省的程序字格式,构造如下所示:
_Gnn_Y|Znnnn.nnn(R|Fnnnn.nnn);
(2)与未缺省的程序字Xnnnn.nnn组成完整的程序,组合过程如下:
Nnnnn_Xnnnn.nnn_(_);+_Gnn_Y|Znnnn.nnn(R|Fnnnn.nnn);=Nnnnn Gnn Xnnnn.nnn Y|Znnnn.nnn(R|Fnnnn.nnn);
整个自动补充过程如图5所示。
将整行代码补充完整后,从正则表达式起始规则开始,按最左推导方式向下推导,为每个非终结符构造子程序,依次向下调用相应的过程,完成整行代码的语法分析。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江南大学;无锡信捷电气股份有限公司,未经江南大学;无锡信捷电气股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310754409.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种杯子
- 下一篇:应用在密码技术中的大整数乘法运算方法及装置





