代码生成方法及装置、电子设备和存储介质制造方法及图纸

技术编号:24167617 阅读:43 留言:0更新日期:2020-05-16 01:56
本发明专利技术实施例提供一种代码生成方法及装置、电子设备和存储介质,该方法通过分析第一源代码的语法结构,获得该源代码的抽象语法树,进一步提取出抽象语法树中关键信息,并将第一源代码中关键信息写入代码模板中,最终生成绑定代码,相较于开发人员人工编写绑定代码,本方法实现自动化生成绑定代码,对开发人员的要求降低,且代码生成效率高。

Code generation method and device, electronic equipment and storage medium

【技术实现步骤摘要】
代码生成方法及装置、电子设备和存储介质
本专利技术实施例涉及计算机技术,尤其涉及一种代码生成方法及装置、电子设备和存储介质。
技术介绍
大部分的游戏引擎、游戏框架都使用C++语言编写,再配合脚本语言,有些则使用python脚本语言,当需要编写性能较敏感的模块时,则需要C++语言配合完成功能实现。为了连接C++语言和脚本语言,通常会编写绑定代码来使脚本语言调用C++语言模块。现有的绑定代码是由开发人员使用Python提供的C接口或者封装有C接口的扩展库人工编写的。其中,直接使用C接口编写绑定代码,代码运行效率最快,但开发人员需要编写大量重复又累赘的代码,容易出错,编码效率低。而使用封装有C接口的扩展库编写绑定代码,可减少开发人员编写代码的工作量,但开发人员需要学习扩展库的使用规范,对开发人员要求比较高。由于现有绑定代码由开发人员人工编写的,不仅对开发人员要求高,且生成代码的效率低。
技术实现思路
本专利技术实施例提供一种代码生成方法及装置、电子设备和存储介质,以解决现有代码生成方法对开发人员要求高,且生成代码的本文档来自技高网...

【技术保护点】
1.一种代码生成方法,其特征在于,所述方法包括:/n获取第一源代码的抽象语法树;其中,所述第一源代码是由第一语言编写的;/n从所述抽象语法树中提取用于使所述第一源代码和第二源代码交互的关键信息;其中,所述第二源代码是由第二语言编写的;/n将所述关键信息写入预设的代码模板,生成用于使所述第一源代码和所述第二源代码交互的绑定代码。/n

【技术特征摘要】
1.一种代码生成方法,其特征在于,所述方法包括:
获取第一源代码的抽象语法树;其中,所述第一源代码是由第一语言编写的;
从所述抽象语法树中提取用于使所述第一源代码和第二源代码交互的关键信息;其中,所述第二源代码是由第二语言编写的;
将所述关键信息写入预设的代码模板,生成用于使所述第一源代码和所述第二源代码交互的绑定代码。


2.根据权利要求1所述的方法,其特征在于,在所述将所述关键信息写入预设的代码模板,生成用于使所述第一源代码和所述第二源代码交互的绑定代码之前,还包括:
使用用于使所述第一语言和所述第二语言交互的扩展库编写所述代码模板。


3.根据权利要求2所述的方法,其特征在于,在所述将所述关键信息写入预设的代码模板,生成用于使所述第一源代码和所述第二源代码交互的绑定代码,之后还包括:
将所述绑定代码、所述扩展库、及所述第一源代码进行编译,生成链接库。


4.根据权利要求1至3任一项所述的方法,其特征在于,所述获取第一源代码的抽象语法树,具体包括:
使用语法分析工具对所述第一源代码进行分析,生成所述抽象语法树。


5.根据权利要求4所述的方法,其特征在于,所述第一语言为C++语言;所述第二语言为python语言。

【专利技术属性】
技术研发人员:陈泽欣
申请(专利权)人:网易杭州网络有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1