[发明专利]一种基于flex与bison语法分析的多输出编译方法及系统在审
申请号: | 202211646172.7 | 申请日: | 2022-12-21 |
公开(公告)号: | CN116257245A | 公开(公告)日: | 2023-06-13 |
发明(设计)人: | 钟世平;周秋芳;张立飞;钟心田;黄旭 | 申请(专利权)人: | 浙江中控技术股份有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 上海汉声知识产权代理有限公司 31236 | 代理人: | 卫素丹;胡晶 |
地址: | 310053 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 flex bison 语法分析 输出 编译 方法 系统 | ||
本发明涉及工业自动控制技术领域,提供了一种基于flex与bison语法分析的多输出编译方法,包括:S1:建立词法分析文件和语法分析文件,并利用flex将词法分析文件生成词法分析器的源程序文件,利用bison将语法分析文件生成语法分析器的源程序文件;S2:采用词法分析器分析ST语言的词法,并基于分析出的词法采用语法分析器分析ST语言的语法,生成语法树;S3:编写指定语言的语法转译配置文件;S4:遍历语法树,依据语法转译配置文件生成对ST语言的转译文件。利用flex和bison工具,只需要编写ST语言语法描述文件,即可生成词法分析器与语法分析器。再利用其处理流程生成语法树,通过读取语法转译配置文件,将输入的语法树,转译为多种语言。
技术领域
本发明涉及工业自动控制的技术领域,尤其涉及一种基于flex与bison语法分析的多输出编译方法及系统。
背景技术
工业控制环境下常使用IEC61131-3标准来作为PLC、DCS编程系统的标准。用此标准编写的高级编程语言ST语言在硬件中运行需要将其转为机器能够识别的机器码才能运行。通常这一转换过程我们称之为编译。而转换的工具称之为编译器。编译器在对高级编程语言进行转译的时候,需要读取用户编写的文本文件,识别文本文件当中用户编写高级语言的关键字和标识符,识别这些元素之间的关系,将其组合识别为语法。当前多数情况下,开发公司会自行开发词法分析器和语法分析器来做语法分析或直接使用国外既存的编译器。
Flex和Bison是用来生成词法分析器和语法分析器源程序的工具,他们所生成的程序能够处理结构化的输入。其中,词法分析就是将输入分隔为一个个有意义的词块,称之为记号(Token)。语法分析器是确定这些记号是如何关联的。
在工业控制系统前期设计阶段,设计师需要对工业控制程序进行调试校验,很多时候,编译的程序需要运行在硬件上,调配硬件资源流程复杂时间长。本发明提出一种基于Flex和Bison语法分析的多语言编译器。一般情况下,一个编译器只负责将一种语言转译为另一种语言。本发明利用Flex和Bison工具快速建立起ST语言的语法树,然后利用语法转译配置文件将语法树同时转为PLC、DSC系统运行在硬件上的机器码与运行在个人计算机(PC)上的高级语言代码(本文中使用的是C++语言)。对应的PLC、DSC机器码作为硬件输出的调试程序源,个人计算机上的高级语言代码,通过配合相应的仿真系统可以在个人计算机上实现快速调试,达到一次输入,多种应用的效果。
发明内容
针对上述问题,本发明的目的在于提供一种基于flex与bison语法分析的多输出编译方法及系统,利用flex和bison工具,只需要编写ST语言语法描述文件,即可生成词法分析器与语法分析器。再利用其处理流程生成语法树,通过读取语法转译配置文件,将输入的语法树,转译为多种语言。
本发明的上述发明目的是通过以下技术方案得以实现的:
一种基于flex与bison语法分析的多输出编译方法,包括以下步骤:
S1:建立词法分析文件和语法分析文件,并利用flex将所述词法分析文件生成词法分析器的源程序文件,利用bison将所述语法分析文件生成语法分析器的源程序文件;
S2:采用所述词法分析器分析ST语言的词法,并基于分析出的所述词法采用所述语法分析器分析所述ST语言的语法,生成语法树;
S3:编写指定语言的语法转译配置文件;
S4:遍历所述语法树,依据所述语法转译配置文件生成对所述ST语言的转译文件。
进一步地,在步骤S1中,所述词法分析文件,具体为:
根据IEC61131-3标准,依次定义所述ST语言中的包括关键字、分界符、数据类型在内的可识别字符串为记号值。
进一步地,在步骤S1中,所述语法分析文件,具体为:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江中控技术股份有限公司,未经浙江中控技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211646172.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:立体护围卫生巾
- 下一篇:源代码检测方法、装置、计算机设备和存储介质