[发明专利]一种图形语言的交叉编译方法及交叉编译器在审
申请号: | 201711449384.5 | 申请日: | 2017-12-27 |
公开(公告)号: | CN109976760A | 公开(公告)日: | 2019-07-05 |
发明(设计)人: | 宋健玮 | 申请(专利权)人: | 北京东土科技股份有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F11/36 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 黄志华 |
地址: | 100041 北京市石*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 交叉编译器 工程文件 交叉编译 图形语言 编译 集合 可执行机器代码 目标计算机环境 源代码 抽象语法树 通用编译器 程序组织 功能块图 目标机器 前端接收 跨平台 有效地 转换 解析 发送 语言 | ||
1.一种图形语言的交叉编译方法,其特征在于,该方法包括:
交叉编译器前端接收用户输入的工程文件,并解析所述工程文件得到由功能块图语言FBD构造的程序组织单元POU集合;
所述交叉编译器前端将所述POU集合中的各个POU转换为抽象语法树AST;
将所述AST发送至交叉编译器后端,以使所述交叉编译器交叉编译出目标机器在目标计算机环境下的可执行机器代码,其中,所述交叉编译器由所述交叉编译器前端和所述交叉编译器后端组成。
2.如权利要求1所述的方法,其特征在于,所述交叉编译器前端将所述POU集合中的各个POU转换为AST,还包括:
针对所述POU集合中的任意一个POU,所述交叉编译器前端根据所述POU中各个图形元素的坐标位置,依据从左到右、从上到下的顺序对所述POU中的各个图形元素进行排序,生成第一排序结果;
所述交叉编译器前端根据所述第一排序结果中的FB类型功能块、FU类型功能中的输入输出逻辑,在所述第一排序结果基础上进行第二次排序,生成第二排序结果;
所述交叉编译器前端根据所述第二排序结果的排序顺序,将所述第二排序结果中的各个图形元素转换为各个AST节点。
3.如权利要求1所述的方法,其特征在于,所述交叉编译器前端解析所述功能块图得到程序逻辑单元POU集合之前,还包括:
所述交叉编译器前端删除所述功能块图中表示注释信息的图形元素,并将任意一个连线的起始标识和结束标识转换为一个连线实例;
所述交叉编译器前端对处理过的所述功能块图进行语法检查,所述语法检查包括确定任意一个连线实例都仅有一个数据源。
4.如权利要求1所述的方法,其特征在于,所述交叉编译器前端解析所述功能块图得到程序逻辑单元POU集合之前,还包括:
所述交叉编译器前端对处理过的所述功能块图进行语义检查,所述语义检查包括检查并确保没有递归调用、没有自反馈路径,所述自反馈路径指一个功能或功能块的输出经过N步连线后作为自身的输入。
5.如权利要求1所述的方法,其特征在于,所述交叉编译器是通过在通用编译器的源代码中加入跨平台支持库实现的交叉编译功能。
6.如权利要求1所述的方法,其特征在于,所述交叉编译器前端的功能实现为C语言代码实现,所述C语言代码被集成在所述通用编译器的源代码中,且所述C语言代码能够被所述通用编译器配置后的编译脚本编译到。
7.一种交叉编译器,其特征在于,包括:
接收单元,用于接收用户输入的工程文件;
解析单元,用于解析所述工程文件得到由功能块图语言FBD构造的程序组织单元POU集合;
转换单元,用于将所述POU集合中的各个POU转换为抽象语法树AST;
机器代码生成单元,用于将所述AST编译为目标机器在目标计算机环境下的可执行机器代码。
8.如权利要求7所述的交叉编译器,其特征在于,所述转换单元还用于:
针对所述POU集合中的任意一个POU,根据所述POU中各个图形元素的坐标位置,依据从左到右、从上到下的顺序对所述POU中的各个图形元素进行排序,生成第一排序结果;
根据所述第一排序结果中的FB类型功能块、FU类型功能中的输入输出逻辑,在所述第一排序结果基础上进行第二次排序,生成第二排序结果;
根据所述第二排序结果的排序顺序,将所述第二排序结果中的各个图形元素转换为各个AST节点。
9.如权利要求7所述的交叉编译器,其特征在于,所述转换单元还用于:
对处理过的所述功能块图进行语义检查,所述语义检查包括检查并确保没有递归调用、没有自反馈路径,所述自反馈路径指一个功能或功能块的输出经过N步连线后作为自身的输入。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京东土科技股份有限公司,未经北京东土科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711449384.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:页面显示方法和装置
- 下一篇:软件开发工具包的生成方法、装置及终端设备