[发明专利]ST语言源代码编译方法、装置、计算机设备及介质在审
| 申请号: | 202010328050.8 | 申请日: | 2020-04-23 |
| 公开(公告)号: | CN111488154A | 公开(公告)日: | 2020-08-04 |
| 发明(设计)人: | 李胤颉;宋健玮 | 申请(专利权)人: | 北京东土科技股份有限公司 |
| 主分类号: | G06F8/41 | 分类号: | G06F8/41 |
| 代理公司: | 北京华夏正合知识产权代理事务所(普通合伙) 11017 | 代理人: | 韩登营 |
| 地址: | 100144 北京市石景*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | st 语言 源代码 编译 方法 装置 计算机 设备 介质 | ||
1.一种ST语言源代码编译方法,其特征在于,包括:
获取ST语言源代码中的业务源代码;
对所述业务源代码根据词法和语法规则进行词法和语法分析获得抽象语法树;
由GCC后端根据所述抽象语法树生成目标设备可识别的指令代码。
2.根据权利要求1所述的方法,其特征在于,所述获得抽象语法树的步骤包括;
对所述业务源代码进行词法分析和语法分析,获得以树状结构存储的各个节点;
依次遍历各个节点形成所述抽象语法树。
3.根据权利要求1或2所述的方法,其特征在于,还包括:获取ST语言源代码中的声明类源代码;
所述获得抽象语法树还根据所述声明类源代码来获得。
4.根据权利要求3所述的方法,其特征在于,所述获取ST语言源代码中的业务源代码和声明类源代码是通过包含有ST语言源代码中的业务源代码和声明类源代码的JSON格式文件获取。
5.根据权利要求3所述的方法,其特征在于,所述声明类源代码包括至少以下之一的源代码:
全局变量声明、局部变量声明、结构体声明、数组声明。
6.根据权利要求3所述的方法,其特征在于,
所述ST语言源代码被记录到调试信息debug_info段;且
判断为下述源代码时,下述源代码不记录debug_info段中:
所述声明类源代码、条件类语句源代码。
7.一种ST语言源代码编译装置,其特征在于,包括:
获取模块,用于获取ST语言源代码中的业务源代码;
前端编译模块,用于对所述业务源代码根据词法和语法规则进行词法和语法分析获得抽象语法树;
后端编译模块,用于由GCC后端根据所述抽象语法树生成目标设备可识别的指令代码。
8.根据权利要求7所述的装置,其特征在于,所述前端编译模块包括;
节点生成模块,用于对所述业务源代码进行词法分析和语法分析,获得以树状结构存储的各个节点;
抽象语法树生成模块,用于依次遍历各个节点形成所述抽象语法树。
9.一种计算设备,其特征在于,包括:
总线;
通信接口,其与所述总线连接;
至少一个处理器,其与所述总线连接;以及
至少一个存储器,其与所述总线连接并存储有程序指令,所述程序指令当被所述至少一个处理器执行时使得所述至少一个处理器执行权利要求1至6任一所述的方法。
10.一种计算机可读存储介质,其上存储有程序指令,其特征在于,所述程序指令当被计算机执行时使得所述计算机执行权利要求1至6任一所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京东土科技股份有限公司,未经北京东土科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010328050.8/1.html,转载请声明来源钻瓜专利网。





