一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于antlr4的代码生成器设计方法与流程

2022-02-20 00:44:29 来源:中国专利 TAG:

技术特征:
1.一种基于antlr4的代码生成器设计方法,其特征在于,该方法包括如下步骤:s1:生成idl语法规则文件对应的词法分析器和语法分析器;s2:对idl文件进行预处理,通过词法分析器和语法分析器将预处理后的idl文件生成语法分析树,并进一步将语法分析树生成结构化数据;s3:定义生成c/c 、java文件的公共接口文件;s4:c/c 、java公共接口文件读取工程模板文件,并用步骤s2中的结构化数据替换模板文件中的结构化数据,生成c/c 、java工程文件。2.如权利要求1所述的基于antlr4的代码生成器设计方法,其特征在于,所述步骤s1具体包括:s11、定义idl语法规则文件;s12、通过antlr4工具,将idl语法规则文件生成可分析idl文件的词法分析器和代码语法分析器;s13、获取词法分析器和语法分析器运行时会调用的altar4-runtime库。3.如权利要求2所述的基于antlr4的代码生成器设计方法,其特征在于,所述idl语法规则文件为.g4文件。4.如权利要求2所述的基于antlr4的代码生成器设计方法,其特征在于,所述antlr-runtime由antlr4中间件提供,存放于antlr4目录下,其中包含了antlr4-runtime源代码。5.如权利要求2-4任一项所述的基于antlr4的代码生成器设计方法,其特征在于,所述步骤s2具体包括如下步骤:s21、输入用户自定义的idl文件;s22、代码预处理模块处理idl文件中预处理指令;包含文件处理模块负责加载和处理idl文件中的包含代码;s23、通过词法分析器和语法分析器将处理后的idl文件生成对应的语法分析树;s24、结构化数据生成模块将生成的语法分析树进一步处理,形成友好的结构化数据。6.如权利要求5所述的基于antlr4的代码生成器设计方法,其特征在于,所述预处理指令包括#ifdef、#define、#undef、#else和#endif;所述包含代码包括#include“xxxx.idl”。7.如权利要求5所述的基于antlr4的代码生成器设计方法,其特征在于,所述步骤s3具体包括:s31、源文件公共接口生成模块由antlr4提供,是c/c 、java文件公共接口的基类,定义了代码文件生成所需的公共接口和属性;s32、以源文件公共接口生成模块为基础,定义生成c/c 、java文件的公共接口文件,c/c 、java文件公共接口生成模块根据c/c 、java语言特征抽象了并定义了生成c/c 、java文件的公共接口文件。8.如权利要求7所述的基于antlr4的代码生成器设计方法,其特征在于,所述c/c 、java文件的公共接口文件包括type、type_plugin、type_support、type_publisher、type_subscriber和cmakelist。9.如权利要求7或8所述的基于antlr4的代码生成器设计方法,其特征在于,所述步骤s4具体包括:s41、基于dds的接口规则,定义用于生成c/c 、java的工程模板文件;
s42、c/c 、java公共接口文件读取工程模板文件,并用步骤s2中的结构化数据替换模板文件中的结构化数据,生成对应的c/c 、java工程文件,其中包括publisher源文件,subscriber源文件和cmakelist文件。10.如权利要求9所述的基于antlr4的代码生成器设计方法,其特征在于,所述步骤s4之后还包括:将c/c 、java工程文件拷贝到windows/linux环境下,直接使用cmake命令构建工程,并编译生成可执行文件。

技术总结
本发明涉及一种基于antlr4的代码生成器设计方法,属于代码生成领域。本发明生成IDL语法规则文件对应的词法分析器和语法分析器;对IDL文件进行预处理,通过词法分析器和语法分析器将预处理后的IDL文件生成语法分析树,并进一步将语法分析树生成结构化数据;定义生成C/C 、JAVA文件的公共接口文件;C/C 、JAVA公共接口文件读取工程模板文件,并用步骤S2中的结构化数据替换模板文件中的结构化数据,生成C/C 、JAVA工程文件。本发明实现跨平台跨语言的数据分发服务的应用。的数据分发服务的应用。的数据分发服务的应用。


技术研发人员:叶亚峰 寇金桥 邵宗林
受保护的技术使用者:北京计算机技术及应用研究所
技术研发日:2021.10.25
技术公布日:2022/1/6
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献