[发明专利]一种基于解耦架构的文本类编程语言编译方法在审
| 申请号: | 202310440088.8 | 申请日: | 2023-04-23 |
| 公开(公告)号: | CN116501330A | 公开(公告)日: | 2023-07-28 |
| 发明(设计)人: | 尹志威;王一凡;贺银增;任大明;徐晨;周笑 | 申请(专利权)人: | 寂山智工(苏州)科技有限公司 |
| 主分类号: | G06F8/41 | 分类号: | G06F8/41 |
| 代理公司: | 南京经纬专利商标代理有限公司 32200 | 代理人: | 田凌涛 |
| 地址: | 215000 江苏省苏州市苏州市工*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 架构 文本 编程 语言 编译 方法 | ||
1.一种基于解耦架构的文本类编程语言编译方法,其特征在于:执行如下步骤A至步骤E,对目标PLC程序对应目标文本类编程语言的目标源代码实现编译执行;
步骤A. 基于IEC61131-3编程语言标准下目标文本类编程语言所对应的词法规则,针对目标源代码进行词法分析,获得目标源代码所对应由各个词法单元组成的符号流,然后进入步骤B;
步骤B. 基于IEC61131-3编程语言标准下目标文本类编程语言所对应的语法规则,针对符号流进行语法分析,获得符号流所对应的语法解析树,然后进入步骤C;
步骤C. 基于预设编译要求定义的抽象语法树AST数据结构,创建语法解析树所对应的抽象语法树AST,然后进入步骤D;
步骤D. 针对抽象语法树AST进行语义分析,填充抽象语法树AST中各节点的节点数据类型、以及常量值,更新抽象语法树AST,然后进入步骤E;
步骤E. 将抽象语法树AST转换为目标编程语言代码,并应用目标编译器针对目标编程语言代码进行编译,获得用于在相应硬件上执行的应用程序实现执行。
2.根据权利要求1所述一种基于解耦架构的文本类编程语言编译方法,其特征在于:还包括步骤DE如下,执行完步骤D之后进入步骤DE;
步骤DE. 应用优化器针对抽象语法树AST进行包括常量折叠和无用代码消除的优化更新处理,获得优化更新后的抽象语法树AST,然后进入步骤E。
3.根据权利要求1所述一种基于解耦架构的文本类编程语言编译方法,其特征在于:所述步骤A包括步骤A1至步骤A2;
步骤A1. 根据IEC61131-3编程语言标准,应用ANTLR4工具编写目标文本类编程语言对应的词法规则,并生成该词法规则对应的词法分析器,并进入步骤A2;
步骤A2. 应用词法分析器针对目标源代码进行词法分析,获得源代码所对应包含各个词法单元的符号流。
4.根据权利要求1所述一种基于解耦架构的文本类编程语言编译方法,其特征在于:所述步骤B包括步骤B1至步骤B2;
步骤B1. 根据IEC61131-3编程语言标准,应用ANTLR4工具编写目标文本类编程语言对应的语法规则,并生成该语法规则对应包含预设文法分析手段与预设语法解析规则的语法分析器,并进入步骤B2;
步骤B2. 应用语法分析器针对符号流进行语法分析,获得符号流所对应的语法解析树。
5.根据权利要求4所述一种基于解耦架构的文本类编程语言编译方法,其特征在于:所述语法分析器包含的预设文法分析手段为上下文无关文法分析手段,语法分析器包含的预设语法解析规则为LL(k)递归下降语法。
6.根据权利要求1所述一种基于解耦架构的文本类编程语言编译方法,其特征在于:所述步骤C包括步骤C1至步骤C3;
步骤C1. 基于预设编译要求,创建由抽象语法树AST中各节点之间预设相同各属性组成的基类CSymbol;
并创建继承基类CSymbol、且包含除基类CSymbol中各属性以外的第一预设属性的符号节点基类CToken;
以及创建继承基类CSymbol、且包含除基类CSymbol中各属性以外的第二预设属性的符号列表基类CSymlist,然后进入步骤C2;
步骤C2. 根据IEC61131-3编程语言标准下目标文本类编程语言的语法结构,以及基类CSymbol、符号节点基类CToken、符号列表基类CSymlist,采用自顶向下方法定义抽象语法树AST中各节点的数据结构类,各节点的数据结构类都是这三个基类其中之一的子类,然后进入步骤C3;
步骤C3. 基于抽象语法树AST,词法单元保存在以符号节点基类CToken为基类的子类中,作为AST的叶子节点,抽象语法树AST节点列表保存在以符号列表基类CSymlist为基类的子类中,抽象语法树AST其他节点保存在以基类CSymbol为基类的子类中,创建语法解析树所对应的抽象语法树AST。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于寂山智工(苏州)科技有限公司,未经寂山智工(苏州)科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310440088.8/1.html,转载请声明来源钻瓜专利网。





