[发明专利]一种代码生成方法、装置、电子设备及存储介质在审
申请号: | 202310152269.0 | 申请日: | 2023-02-14 |
公开(公告)号: | CN116107569A | 公开(公告)日: | 2023-05-12 |
发明(设计)人: | 石海昕;张锡强;刘思彦;林崇义;刘柏;范长杰;周锋 | 申请(专利权)人: | 网易(杭州)网络有限公司 |
主分类号: | G06F8/38 | 分类号: | G06F8/38;G06F8/34;G06F8/36 |
代理公司: | 北京清源汇知识产权代理事务所(特殊普通合伙) 11644 | 代理人: | 冯德魁 |
地址: | 310052 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 代码 生成 方法 装置 电子设备 存储 介质 | ||
1.一种代码生成方法,其特征在于,包括:
响应于在低代码开发平台中添加第一类并为所述第一类选择包括嵌套类的第一父类进行继承的操作,生成第一特定领域语言DSL声明语句;所述第一DSL声明语句包括所述第一类的类信息和第一嵌套字段,所述第一嵌套字段中包括所述第一嵌套类的类信息,所述第一嵌套类为所述第一类继承自所述第一父类的嵌套类;
根据所述第一DSL声明语句中的所述第一类的类信息,生成所述第一类的声明代码;
检测所述第一DSL声明语句中是否存在包括嵌套类的类信息的嵌套字段;
当检测所述第一DSL声明语句中存在包括所述第一嵌套类的类信息的第一嵌套字段时,根据所述第一嵌套类的类信息,生成相对于所述第一类的声明代码缩进的所述第一嵌套类的声明代码。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于在所述低代码开发平台中对所述第一嵌套类添加自定义功能的操作,在所述第一DSL声明语句的所述第一嵌套字段中的所述第一嵌套类的类信息中,添加第二嵌套字段;
在所述第二嵌套字段中添加第二DSL声明语句;所述第二DSL声明语句包括所述自定义功能对应的第二嵌套类的类信息,所述第二嵌套类为所述第一嵌套类的嵌套类;
根据所述第二DSL声明语句,生成相对于所述第一嵌套类的声明代码缩进的所述第二嵌套类的声明代码。
3.根据权利要求2所述的方法,其特征在于,所述自定义功能对应的第二嵌套类包括用于定义所述自定义功能的实现逻辑的第二逻辑嵌套类、用于定义所述自定义功能的输入参数的第二输入嵌套类,以及用于定义所述自定义功能的输出参数的第二输出嵌套类;
所述根据所述第二DSL声明语句,生成相对于所述第一嵌套类的声明代码缩进的所述第二嵌套类的声明代码,包括:
根据所述第二DSL声明语句中的所述第二嵌套类的类信息,以及所述第二嵌套类与所述第一嵌套类的嵌套关系,生成相对于所述第一嵌套类的声明代码缩进的所述第二逻辑嵌套类的声明代码;
生成相对于所述第一嵌套类的声明代码缩进的所述第二输入嵌套类的声明代码;
生成相对于所述第一嵌套类的声明代码缩进的所述第二输出嵌套类的声明代码;
其中,所述第二逻辑嵌套类的声明代码、所述第二输入嵌套类的声明代码,以及所述第二输出嵌套类的声明代码,相对于所述第一嵌套类的声明代码的缩进均相同。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于在所述低代码开发平台中通过第一目标类对嵌套类进行引用的操作,生成所述嵌套类的DSL引用语句;所述DSL引用语句包括所述嵌套类的类标识符,以及用于指示对所述嵌套类的引用类型的引用标识符;
根据所述DSL引用语句,生成所述嵌套类的引用代码。
5.根据权利要求4所述的方法,其特征在于,所述响应于在所述低代码开发平台中通过第一目标类对嵌套类进行引用的操作,生成所述嵌套类的DSL引用语句,包括:
在所述第一目标类为所述嵌套类的外部类的情况下,响应于在所述低代码开发平台中通过所述第一目标类对所述嵌套类进行引用的操作,生成包括内部引用标识符的所述嵌套类的DSL引用语句;所述内部引用标识符用于指示对所述嵌套类的引用类型为内部引用;
所述根据所述DSL引用语句,生成所述嵌套类的引用代码,包括:
当所述DSL引用语句中包括所述内部引用标识符时,确定查找范围为各个DSL声明语句中的各个嵌套字段;
从各个所述DSL声明语句中的各个所述嵌套字段中,查找所述嵌套类的类标识符对应的所述嵌套类的类名;
生成包括所述嵌套类的类名的所述嵌套类的引用代码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网易(杭州)网络有限公司,未经网易(杭州)网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310152269.0/1.html,转载请声明来源钻瓜专利网。