[发明专利]代码转换方法及装置有效
| 申请号: | 201911396096.7 | 申请日: | 2019-12-30 |
| 公开(公告)号: | CN111209004B | 公开(公告)日: | 2023-09-01 |
| 发明(设计)人: | 刘恒 | 申请(专利权)人: | 北京水滴科技集团有限公司 |
| 主分类号: | G06F8/41 | 分类号: | G06F8/41 |
| 代理公司: | 北京中强智尚知识产权代理有限公司 11448 | 代理人: | 黄耀威 |
| 地址: | 100102 北京市*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 代码 转换 方法 装置 | ||
1.一种代码转换方法,其特征在于,包括:
获取源代码文件;
根据所述源代码文件的语法结构信息将所述源代码文件编译成抽象语法树AST,其中,所述语法结构信息至少包括:所述源代码文件的语法,所述源代码文件的格式,所述源代码文件的标签,所述语法结构信息的识别过程包括:根据预设环境变量在所述源代码文件的config配置文件夹中选择目标配置文件夹,其中,所述config配置文件夹至少包括:开发环境配置文件夹,产品环境配置文件夹,测试环境配置文件夹;读取所述目标配置文件夹中的依赖文件中的字符串;根据所述字符串的字符特征识别所述源代码文件的语法结构信息;
将所述AST发送至多个目标平台,其中,所述目标平台用于将所述AST转换为所述目标平台的目标代码。
2.根据权利要求1所述的方法,其特征在于,根据所述源代码文件的语法结构信息将所述源代码文件编译成抽象语法树AST包括:
识别所述源代码文件的语法结构信息;
根据所述语法结构信息构建所述AST。
3.根据权利要求2所述的方法,其特征在于,根据所述语法结构信息构建所述AST包括:
在启动编译所述源代码文件的编译命令时,确定起始文件,其中,所述编译命令携带有所述目标平台的平台名称;
从所述起始文件开始构建所述AST。
4.根据权利要求3所述的方法,其特征在于,确定起始文件包括:
执行所述源代码文件中目标配置文件夹的配置文件,以查找所述配置文件中的索引文件;
将所述索引文件作为所述起始文件。
5.根据权利要求3所述的方法,其特征在于,从所述起始文件开始构建所述AST包括:
将所述起始文件作为依赖进行编译,以查找所述源代码文件中除所述起始文件之外的依赖文件;
将所述依赖文件中语法结构信息的字符串转换为Token序列,其中,所述Token序列中的每个字符串对应一个树节点;
将所述Token序列转换成所述AST,其中,所述AST中的每个树节点对应所述目标代码中的一个字符串。
6.一种代码转换方法,其特征在于,包括:
接收源平台发送的抽象语法树AST,其中,所述AST是由所述源平台基于源代码文件的语法结构信息编译而成,所述语法结构信息至少包括:所述源代码文件的语法,所述源代码文件的格式,所述源代码文件的标签;
将所述AST转换为目标平台的目标代码。
7.根据权利要求6所述的方法,其特征在于,将所述AST转换为目标平台的目标代码包括:
读取所述AST的字符串;
根据所述字符串的字符特征比较所述AST与所述目标平台之间的语法差异信息,其中,所述语法差异信息至少包括:所述目标平台的语法标签,所述目标平台的语法属性,所述目标平台的语法格式;
根据所述语法差异信息将所述AST转换为所述目标平台适用的目标代码。
8.一种代码转换装置,其特征在于,包括:
获取模块,用于获取源代码文件;
转换模块,用于根据所述源代码文件的语法结构信息将所述源代码文件编译成抽象语法树AST,其中,所述语法结构信息至少包括:所述源代码文件的语法,所述源代码文件的格式,所述源代码文件的标签,所述语法结构信息的识别过程包括:根据预设环境变量在所述源代码文件的config配置文件夹中选择目标配置文件夹,其中,所述config配置文件夹至少包括:开发环境配置文件夹,产品环境配置文件夹,测试环境配置文件夹;读取所述目标配置文件夹中的依赖文件中的字符串;根据所述字符串的字符特征识别所述源代码文件的语法结构信息;
发送模块,用于将所述AST发送至多个目标平台,其中,所述目标平台用于将所述AST转换为所述目标平台的目标代码。
9.根据权利要求8所述的装置,其特征在于,所述转换模块,具体用于:
识别所述源代码文件的语法结构信息;
根据所述语法结构信息构建所述AST。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京水滴科技集团有限公司,未经北京水滴科技集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911396096.7/1.html,转载请声明来源钻瓜专利网。





