[发明专利]代码自动生成方法、装置、电子设备及存储介质有效
申请号: | 202310038628.X | 申请日: | 2023-01-13 |
公开(公告)号: | CN115857900B | 公开(公告)日: | 2023-06-16 |
发明(设计)人: | 郑建国;刘晓;陆雍;包刚强 | 申请(专利权)人: | 安世亚太科技股份有限公司 |
主分类号: | G06F8/33 | 分类号: | G06F8/33;G06F8/36;G06F8/20;G06F40/253 |
代理公司: | 北京汇鑫君达知识产权代理有限公司 11769 | 代理人: | 李伟 |
地址: | 100025 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码 自动 生成 方法 装置 电子设备 存储 介质 | ||
本申请属于电数字数据处理技术领域,是关于代码自动生成方法、装置、电子设备及存储介质。该方法包括:接收用户输入的仿真组件的定义文档;所述定义文档用于描述所述仿真组件的接口、服务以及组件功能;解析所述定义文档,得到语法结构树;调用所述用户选定的框架代码模板以及所述语法结构树生成所述仿真组件的基础代码;所述基础代码至少包括所述仿真组件的接口、服务以及组件功能各自对应的通用代码和各自对应的框架代码;所述通用代码以及所述框架代码用于支持业务代码的运行。本申请的方案能够依据用户输入的定义文档自动生成仿真组件的基础代码,提高组件的运行效率,降低处理器的运行压力。
技术领域
本申请涉及电数字数据处理技术领域,尤其涉及代码自动生成方法、装置、电子设备及存储介质。
背景技术
在仿真软件开发的过程中,求解器的代码开发是不可缺少的一个环节。
求解器可以分为多个仿真组件,每一个仿真组件可以实现不同的业务功能,每一个仿真组件的代码可以分为业务代码和基础代码,其中,业务代码可以是用于实现某种具体功能的算法,基础代码可以是功能实现的基础代码以及与其它仿真组件进行交互的基础代码。
相关技术中,软件开发人员需要了解各个仿真组件之间的关系以及基础框架结构等,编写基础代码以及业务代码。
可见,相关技术中,由于需要软件开发人员编写的基础代码过多,造成了软件开发效率差,且由于各个软件开发人员的习惯不同,使得各个计算组件之间的兼容性不高,仿真组件运行之后的运行效率差,浪费了较多的处理器资源。
发明内容
为克服相关技术中存在的问题,本申请提供一种代码自动生成方法、装置、电子设备及存储介质,所述代码自动生成方法能够自动生成基础代码,用于提高代码开发效率和代码兼容性,进而提高仿真组件的运行效率。
本申请第一方面提供一种代码自动生成方法,包括:
接收用户输入的仿真组件的定义文档;所述定义文档用于描述所述仿真组件的接口、服务以及组件功能;
解析所述定义文档,得到语法结构树;
调用所述用户选定的框架代码模板以及所述语法结构树生成所述仿真组件的基础代码;所述基础代码至少包括所述仿真组件的接口、服务以及组件功能各自对应的通用代码和各自对应的框架代码;所述通用代码以及所述框架代码用于支持业务代码的运行。
在一些实施例中,所述定义文档包括:接口描述文件、服务描述文件以及组件功能描述文件。
在一些实施例中,所述解析所述定义文档,得到语法结构树,包括:
解析所述接口描述文件,得到用于表征接口的声明、类、方法以及函数的数据结构关系的接口语法树;
解析所述服务描述文件,得到用于表征服务的声明以及接口的数据结构关系的服务语法树;
解析所述组件功能描述文件,得到用于表征组件所使用框架的版本信息以及所调用的服务的数据结构关系的组件功能语法树。
在一些实施例中,所述调用所述用户选定的框架代码模板以及所述语法结构树生成所述仿真组件的基础代码,包括:
查找用户所选中的框架代码模板;
确定所述框架代码模板对应的编程语言;
依据所述编程语言以及所述语法结构树,生成与所述编程语言匹配的所述仿真组件的基础代码。
在一些实施例中,所述基础代码保存于代码文件中,所述代码文件包括用于描述所述仿真组件的属性、名称以及版本号的json格式的第一文件,用于表征接口定义的第二文件,用于表征服务声明的第三文件,用于表征服务实现的第四文件,用于表征服务的注销和/或注册的第五文件以及用于编译的第六文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于安世亚太科技股份有限公司,未经安世亚太科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310038628.X/2.html,转载请声明来源钻瓜专利网。