[发明专利]一种图形语言的交叉编译方法及交叉编译器在审
申请号: | 201711449384.5 | 申请日: | 2017-12-27 |
公开(公告)号: | CN109976760A | 公开(公告)日: | 2019-07-05 |
发明(设计)人: | 宋健玮 | 申请(专利权)人: | 北京东土科技股份有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F11/36 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 黄志华 |
地址: | 100041 北京市石*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 交叉编译器 工程文件 交叉编译 图形语言 编译 集合 可执行机器代码 目标计算机环境 源代码 抽象语法树 通用编译器 程序组织 功能块图 目标机器 前端接收 跨平台 有效地 转换 解析 发送 语言 | ||
本发明公开一种图形语言的交叉编译方法及交叉编译器,该方法包括:交叉编译器前端接收用户输入的工程文件,并解析所述工程文件得到由功能块图语言FBD构造的程序组织单元POU集合;所述交叉编译器前端将所述POU集合中的各个POU转换为抽象语法树AST,根据转换得到的AST,生成所述工程文件对应的AST,并将所述AST发送至交叉编译器后端,以使所述交叉编译器后端编译出目标机器在目标计算机环境下的可执行机器代码,且该交叉编译器是在通用编译器的源代码中加入跨平台支持库以实现交叉编译的功能,该方法用以解决现有技术不能快速有效地编译图形语言的问题。
技术领域
本发明涉及自动化控制技术领域,尤其涉及一种图形语言的交叉编译方法及交叉编译器。
背景技术
IEC61131-3标准已纳入国家标准,很多国产PLC(programmable logiccontroller,可编程逻辑控制器)厂家已经基于不同硬件和操作系统平台研发出自己的可编程控制器产品,此标准定义了5种工业控制领域的编程语言:IL(指令清单语言);ST(结构化文本语言);FBD(功能块图语言);LD(梯形图语言);SFC(顺序功能块图语言)。这一标准规范了可编程控制器的编程语言及其基本元素,为可编程控制器软件技术的发展,乃至整个工业控制软件技术的发展,起到了举足轻重的推动作用。
目前传统的通用编译器,例如开源的GCC、微软出品的Visual Studio.net、苹果公司推出的Clang等,都支持通用编程语言,所谓通用编程语言主要是C语言、C++语言、C#语言、Object C语言、Java语言等编程语言。但对于工业控制领域的标准编程语言(例如IEC61131-3中定义的五种语言)并不支持。
为了编译图形语言,有些PLC厂家先把图形语言转换为一种通用编程语言(例如C语言、C++语言、JAVA语言等),再调用支持这种通用编程语言的通用编译器,例如开源的GCC(GNU Compiler Collection,GNU编译器套件),进行编译,虽然这种方法最终能实现的编译图形语言的目的,但存在的问题是在编译过程中多引入了另一种语言的词法和语法操作,降低了编译速度,而且对未来实现调试器(例如断点调试的追踪)提高了难度,最终导致编译结果的报错需要经过更多信息转换才能定位追踪到图形语言代码中,显然这样做降低了调试的效率。
发明内容
本发明实施例提供一种图形语言的交叉编译方法及交叉编译器,用以解决现有技术不能快速有效地编译图形语言的问题。
第一方面,本发明实施例包括一种图形语言的交叉编译方法,该方法包括:首先交叉编译器前端接收用户输入的工程文件,并解析所述工程文件得到由功能块图语言FBD构造的程序组织单元POU集合;然后所述交叉编译器前端将所述POU集合中的各个POU转换为抽象语法树AST,最终根据转换得到的AST,生成所述工程文件对应的AST,并将所述AST发送至交叉编译器后端,以使所述交叉编译器后端编译出目标机器的可执行机器代码。
第二方面,基于同样的发明构思,本发明实施例还提供一种交叉编译器,包括:
接收单元,用于接收用户输入的工程文件;
解析单元,用于解析所述工程文件得到由功能块图语言FBD构造的程序组织单元POU集合;
转换单元,用于将所述POU集合中的各个POU转换为抽象语法树AST;
机器代码生成单元,用于将所述AST编译为目标机器在目标计算机环境下的可执行机器代码。
第三方面,本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行上述任一项所述的图形语言的编译方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京东土科技股份有限公司,未经北京东土科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711449384.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:页面显示方法和装置
- 下一篇:软件开发工具包的生成方法、装置及终端设备