[发明专利]基于RINSIM仿真平台的C语言编译方法及装置在审
申请号: | 202111036453.6 | 申请日: | 2021-09-06 |
公开(公告)号: | CN113946338A | 公开(公告)日: | 2022-01-18 |
发明(设计)人: | 侯雪燕;刘伟;张大志;景应刚 | 申请(专利权)人: | 中核武汉核电运行技术股份有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 核工业专利中心 11007 | 代理人: | 王朋 |
地址: | 430223 湖北省武汉*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 rinsim 仿真 平台 语言 编译 方法 装置 | ||
1.一种基于RINSIM仿真平台的C语言编译方法,其特征在于,所述方法包括:
在检测到待编译的源程序包括变量时,根据该变量生成符合所述RINSIM仿真平台的编译规则的变量信息,并将该变量信息添加至变量数据库;
在检测所述源程序包括符合所述编译规则的函数时,将该函数的函数信息添加至模块数据库;
根据检测到的多个具有相同名称特征的多态子函数,生成符合所述编译规则的模糊多态函数,将该多个具有相同名称特征的多态子函数中的一个多态子函数替换为该模糊多态函数,并将该模块多态函数的函数信息添加至模块数据库,该模糊多态函数能够实现该多个具有相同名称特征的多态子函数的全部功能;
对所述源程序进行编译预处理的过程中,针对所述源程序,根据所述变量数据库和所述模块数据库生成头文件,所述头文件定义了所述源程序中各变量符合所述编译规则的实际位置信息,忽略所述源程序中的多态子函数,并定义了函数符合所述编译规则的格式;
根据所述头文件,对所述源程序进行编译,生成目标程序。
2.根据权利要求1所述的方法,其特征在于,针对所述源程序,根据所述变量数据库和所述模块数据库生成头文件,包括:
在检测到所述源程序中的语句包含全局变量区及变量的情况下,在该段语句前标注第一类标识;
对所述源程序进行逐行扫描,若检测到所述源程序的语句包含第一类标识,则截取该语句对应的变量名,并根据所述变量数据库,确定该变量的变量信息;
根据该变量的变量信息,确定该变量的实际位置信息;
根据每个变量的实际位置信息,在头文件中定义每个变量的实际位置。
3.根据权利要求2所述的方法,其特征在于,根据该变量的变量信息,确定该变量的实际位置信息,包括:
在截取到的变量为数组变量的情况下,根据该变量的下标及起始位置,确定该变量的实际位置信息;
在截取到的变量为复杂变量的情况下,根据该变量的字段偏移及父节点位置信息,确定该变量的实际位置信息。
4.根据权利要求2所述的方法,其特征在于,根据每个变量的实际位置信息,在头文件中定义每个变量的实际位置,包括:
根据每个变量的实际位置信息,生成内存列表和第一符号链表,所述内存列表包括所述源程序的各变量对应的实际位置信息,所述第一符号链表包括所述源程序的各变量名;
遍历所述内存列表,在头文件中按C语言格式生成每个被引用内存的用extern char修饰的定义,并定义静态指针变量指向该被引用内存区;
遍历所述第一符号链表,在检测到全局变量时,在头文件中生成用#define修饰的C语言宏定义,将该全局变量与该全局变量的实际位置信息绑定。
5.根据权利要求1所述的方法,其特征在于,针对所述源程序,根据所述变量数据库和所述模块数据库生成头文件,还包括:
在检测到所述源程序中的语句包含主函数的情况下,在该段语句前标注第二类标识,在检测到所述源程序中的语句包含多态函数的情况下,在该段语句前标注第三类标识;
对所述源程序进行逐行扫描,进行以下操作:
若检测到所述源程序的语句包含第二类标识,则截取该语句的主函数名,在所述模块数据库中包含截取到的主函数名时,将该主函数名添加到第二符号链表中;
若检测到所述源程序的语句包含第三类标识,则截取该语句的多态子函数名,在所述模块数据库中包含截取到的多态子函数名时,将该多态子函数名添加到第二符号链表和多态列表中;
结束对所述源程序的逐行扫描,生成第二符号链表和多态列表,所述第二符号链表包括所述源程序的各函数,所述多态列表包括所述源程序的各多态子函数;
遍历所述第二符号链表,在检测到子函数时,判断该子函数是否存在于所述多态列表,若该该子函数存在于所述多态列表中,则在头文件中定义忽略该子函数,若该子函数不存在于所述多态列表中,则在头文件的宏定义中将该子函数名修改为符合所述编译规则的格式。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中核武汉核电运行技术股份有限公司,未经中核武汉核电运行技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111036453.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种化工设备防腐蚀保温结构
- 下一篇:多角度绕线头