【技术实现步骤摘要】
译码方法、文件解析方法、解析器、系统及存储介质
[0001]本申请实施例涉及计算机
,具体涉及一种译码方法、文件解析方法、解析器、系统及存储介质。
技术介绍
[0002]数控机床可以通过执行数控程序完成对零件的加工,用户利用几何指令(Geometriefolge
‑
Befehl,G代码)、辅助功能指令(Maschinenfunktion
‑
Befehl,M代码)控制机床的运动,执行辅助操作。数控代码解析器可以对数控程序进行译码并解析,转化为可以控制数控机床进行零件加工的数控指令。
[0003]数控代码解析器是数控机床的数控系统的核心模块之一,数控代码解析器在进行译码的过程中,首先通过语义分析等手段对待译码数控程序进行预翻译,得到语义正确的中间代码,进而对中间代码进行解析得到译码结束后的数控指令;中间代码的应用与数控代码解析器的运行效率相关,而数控代码解析器的运行效率直接影响整个数控系统运行的稳定性。在此背景下,如何提供技术方案,以提高中间代码的编译扩展性和灵活性,进而提高数控代码解析器的运行效率成为了本领域技术人员亟需解决的技术问题。
技术实现思路
[0004]有鉴于此,本专利技术实施例提供一种译码方法、文件解析方法、解析器、系统及存储介质,以提高中间代码的编译扩展性和灵活性,进而提高数控代码解析器的运行效率。
[0005]为实现上述目的,本专利技术实施例提供如下技术方案。
[0006]第一方面,本专利技术实施例提供一种译码方法,包括: ...
【技术保护点】
【技术特征摘要】
1.一种译码方法,其特征在于,包括:获取中间代码,所述中间代码通过对待译码数控程序进行预翻译后得到;根据所述中间代码对应的目标指令类型生成与所述目标指令类型对应的目标编码格式,所述目标编码格式包括适用于多指令类型的基本格式和针对所述目标指令类型的目标扩展格式;利用所述目标编码格式对所述中间代码进行编译,生成所述待译码数控程序的指令文件,得到所述待译码数控程序的译码结果,所述指令文件用于进行译码后的解析操作。2.如权利要求1所述的译码方法,其特征在于,所述根据所述中间代码对应的目标指令类型生成与所述目标指令类型对应的目标编码格式,包括:从预定义的多个指令类型对应的扩展格式中,确定所述目标指令类型对应的目标扩展格式,将所述目标扩展格式与基本格式结合生成所述目标编码格式。3.如权利要求2所述的译码方法,其特征在于,所述预定义的多个指令类型包括逻辑控制指令和非逻辑控制指令,所述逻辑控制指令对应的扩展格式为目标地址字段;所述非逻辑控制指令对应的扩展格式为数据字段;所述基本格式至少包括指令名称字段,指令类型字段和指令长度字段。4.如权利要求3所述的译码方法,其特征在于,所述从预定义的多个指令类型对应的扩展格式中,确定所述目标指令类型对应的目标扩展格式,将所述目标扩展格式与基本格式结合生成所述目标编码格式,包括:当所述中间代码对应的目标指令类型为逻辑控制指令时,确定逻辑控制指令对应的目标扩展格式为目标地址字段,将所述目标扩展格式和所述基本格式结合生成逻辑控制指令对应的目标编码格式;当所述中间代码对应的目标指令类型为非逻辑控制指令时,确定非逻辑控制指令对应的目标扩展格式为数据字段,将所述目标扩展格式和所述基本格式结合生成非逻辑控制指令对应的目标编码格式。5.如权利要求4所述的译码方法,其特征在于,所述基本格式还包括编码描述字段,所述编码描述字段的字节长度固定,用于对所述数据字段和所述指令名称字段所对应的内容进行描述,或者对所述目标地址字段和所述指令名称字段所对应的内容进行描述。6.如权利要求5所述的译码方法,其特征在于,所述利用所述目标编码格式对所述中间代码进行编译,生成所述待译码数控程序的指令文件,得到所述待译码数控程序的译码结果,包括:如果所述中间代码的目标指令类型为所述逻辑控制指令,则将所述中间代码的指令内容和所述目标指令类型,写入到所述逻辑控制指令对应的目标编码格式的字段中,生成所述待译码数控程序的指令文件;如果所述中间代码的目标指令类型为所述非逻辑控制指令,则将所述中间代码的指令内容和所述目标指令类型,写入到所述非逻辑控制指令对应的目标编码格式的字段中,生成所述待译码数控程序的指令文件。7.如权利要求6所述的译码方法,其特征在于,所述如果所述中间代码的目标指令类型为所述逻辑控制指令,则将所述中间代码的指令内容和所述目标指令类型,写入到所述逻辑控制指令对应的目标编码格式的字段中,生成所述待译码数控程序的指令文件,包括:
确定所述中间代码的指令内容中的指令名称,将所述指令名称对应的指令名称标识写入到所述目标编码格式的指令名称字段中,生成所述待译码数控程序的指令文件中的指令名称字段;将所述逻辑控制指令对应的指令类型标识,写入到所述目标编码格式的指令类型字段中,生成所述待译码数控程序的指令文件中的指令类型字段;确定所述中间代码的指令内容中的指令长度,将所述指令长度对应的字节数写入到所述目标编码格式的指令长度字段中,生成所述待译码数控程序的指令文件中的指令长度字段;确定所述中间代码的指令内容中的目标地址,将所述目标地址对应的地址长度写入到所述目标编码格式的目标地址字段中,生成所述待译码数控程序的指令文件中的目标地址字段。8.如权利要求7所述的译码方法,其特征在于,所述中间代码的指令内容中的指令名称包括跳转分支指令。9.如权利要求8所述的译码方法,其特征在于,所如果所述中间代码的目标指令类型为所述非逻辑控制指令,则将所述中间代码的指令内容和所述目标指令类型,写入到所述非逻辑控制指令对应的目标编码格式的字段中,生成所述待译码数控程序的指令文件,包括:确定所述中间代码的指令内容中的指令名称,将所述指令名称对应的指令名称标识写入到所述目标编码格式的指令名称字段中,生成所述待译码数控程序的指令文件中的指令名称字段;将所述非逻辑控制指令对应的指令类型标识,写入到所述目标编码格式的指令类型字段中,生成所述待译码数控程序的指令文件中的指令类型字段;确定所述中间代码的指令内容中的指令长度,将所述指令长度对应的字节数写入到所述目标编码格式的指令长度字段中,生成所述待译码数控程序的指令文件中的指令长度字段;确定所述中间代码的指令内容中的目标数据,将所述目标数据对应的数据内容写入到所述目标编码格式的数据字段中,生成所述待译码数控程序的指令文件中的数据字段。10.如权利要求9所述的译码方法,其特征在于,所述中间代码的指令内容中的指令名称至少包括辅助功能指令,集合指令,附加功能指令,进给速率指令,工具指令以及程序号指令。11.如权利要求1
‑
10任一项所述的译码方法,其特征在于,所述中间代码通过对待译码数控程序进行预翻译后得到,包括:获取待译码数控程序;对所述待译码数控程序进行预翻译;对通过预翻译后的待译码数控程序的指令类型进行判断;如果预翻译后的待译码数控程序的指令类型为逻辑控制指令,生成逻辑控制指令的中间代码;如果预翻译后的待译码数控程序的指令类型为非逻辑控制指令,生成非逻辑控制指令的中间代码。12.如权利要求11所述的译码方法,其特征在于,所述如果预翻译后的待译码数控程序
的指令类型为非逻辑控制指令,生成非逻辑控制指令的中间代码的步骤之后,还包括:对生成的所述非逻辑控制指令的中间代码进行指令重排,...
【专利技术属性】
技术研发人员:方葵,邱明勇,李佳佳,陈阁,翁师道,
申请(专利权)人:通用技术集团机床工程研究院有限公司上海分公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。