[发明专利]一种面向异构多目标平台的供应商库统一编译方法及系统在审
申请号: | 201910970220.X | 申请日: | 2019-10-12 |
公开(公告)号: | CN112650497A | 公开(公告)日: | 2021-04-13 |
发明(设计)人: | 郭肖旺;赵德政;原惠峰;孙少乙;郝瑞华;封成玉;何永瑾 | 申请(专利权)人: | 中电智能科技有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F9/445 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 102209 北京市昌平区未来*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 多目标 平台 供应商 统一 编译 方法 系统 | ||
1.一种面向PLC逻辑编程的智能形式化验证方法,其特征在于,该方法可用于对多种不同指令平台的PLC供应商库的统一编译生成,所述一种面向异构多平台的PLC供应商库统一编译方法是:
步骤1: 生成未链接的库目标指令程序:编写PLC供应商库程序,编译生成为链接的指令程序,将单个平台中多个未链接的库指令程序组成一个库段,将多个平台的库段合并生成后缀为.SFBL的库文件;
步骤2:与其他程序链接生成可运行的目标程序:编写用于实际运行的PLC运行逻辑程序,编译生成特定目标平台的未链接的目标指令,加载.SFBL库文件,查找对应的目标平台的库段,进行链接、重定位,生成在特定目标平台上运行的目标文件;
该方法可以提供对多种不同指令架构PLC供应商库的统一编译,有效降低开发和应用成本。
2.根据权利要求1,步骤1生成未链接的库目标指令程序包括6个步骤:
S2-1: 词法分析:分析供应商库逻辑程序的变量、标示符、符号等,生成token流;
S2-2: 语法分析:根据词法分析的结果,进行语法分析;
S2-3: 抽象语法树:生成抽象语法树结构,并收集符号信息;
S2-4:二叉树链结构转化:将抽象语法树结构转化为的基于规则的中间代码结构,所述基于规则的中间代码结构是一种采用二叉树和链表结合的数据结构;
S2-5: 多平台目标描述加载:加载目标平台描述文件,描述文件采用基于规则的定义,包括寄存器描述、堆栈描述、字节对齐方式、参数和返回值描述、重定位方式描述等;
S2-6: 多平台目标指令生成:遍历S4生成的中间代码结构,根据S5生成的平台描述文件,生成各个平台未链接的目标指令集库段文件,并将所有库段文件结合生成.SFBL文件。
3.根据权利要求1,步骤2与其他程序链接生成可运行的目标程序具体步骤如下:
S3-1:编译PLC运行逻辑程序,遍历调用供应商库的位置,生成需要重定位和链接的标识;
S3-2: 加载.SFBL文件,根据目标平台获取对应的库段;
S3-3:链接PLC运行逻辑目标程序和对应的库段,生成.o指令文件;
S3-4: 查找调用重定位标记;
S3-5:修改调用指令的偏移,生成.nbp文件;
S3-6:生成目标平台的运行程序,生成.prg文件。
4.根据权利要求2,所述基于规则的中间代码结构是IRS-RTL,支持X86、MIPS32、Arach64、SPARC V8、ARMV7M,规则描述文件包括MD_RTL_X86.trg、MD_RTL_ MIPS32.trg、MD_RTL_ MIPS64.trg、MD_RTL_ aarch64.trg、MD_RTL_ SPARCV8.trg、MD_RTL_ ARMV7M.trg。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中电智能科技有限公司,未经中电智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910970220.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种嵌入式PLC自动化测试系统及方法
- 下一篇:一种多路输出的激光器