[发明专利]一种小程序转换方法、系统、设备及介质在审
申请号: | 202110978060.0 | 申请日: | 2021-08-23 |
公开(公告)号: | CN113918159A | 公开(公告)日: | 2022-01-11 |
发明(设计)人: | 冯威武 | 申请(专利权)人: | 太原天祥科技有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 成都鱼爪智云知识产权代理有限公司 51308 | 代理人: | 梁悦敏 |
地址: | 030006 山西省太原市小店*** | 国省代码: | 山西;14 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 程序 转换 方法 系统 设备 介质 | ||
1.一种小程序转换方法,其特征在于,包括:
获取待开发小程序的原始文件;
利用所述原始文件的开发平台导出源代码和图像文件,将图像文件保存至预设位置,保存所述预设位置的地址信息为引用图片地址;
利用分词器将所述源代码中的语句或表达式拆分成独立的语法单元;
利用语法分析器,把拆分的所述语法单元组装成抽象语法树;
通过所述源代码对应的前端编译器,根据所述抽象语法树把所述源代码编译成中间代码;
利用待转换平台的后端编译器,将所述中间代码编译为目标代码;
将所述目标代码中的图像文件地址替换为对应的所述引用图片地址;
根据待发布平台的平台需求,将所述目标代码转换为目标小程序。
2.如权利要求1所述的一种小程序转换方法,其特征在于,利用分词器将所述源代码中的语句或表达式拆分成独立的语法单元的步骤包括:
将所述原始文件开发平台的库作为所述分词器的词典;当所述分词器读取到所述源代码中的语句或表达式时,将所述语句或表达式拆分成独立的语法单元;
当所述分词器读取到语句或表达式时,确定所述语句或表达式的起始字符和结尾字符,将所述起始字符、所述结尾字符以及位于所述起始字符和所述结尾字符之间的语句一起拆分成独立的语法单元。
3.如权利要求2所述的一种小程序转换方法,其特征在于,所述分词器采用KERAS分词器。
4.如权利要求1所述的一种小程序转换方法,其特征在于,利用语法分析器,把拆分的所述语法单元组装成抽象语法树的步骤包括:
对所述语法单元进行扫描,从第一个非空格字符开始扫描,若扫描出的字符为字母、数字或运算符号,继续下一个字符扫描,直至扫描出的字符为空格,将所述空格前的字母、数字或运算符号保存为单词单元,再对所述空格后的字符进行扫描;将所述单词单元根据扫描出的顺序,在所述抽象语法树上依次分级显示。
5.如权利要求4所述的一种小程序转换方法,其特征在于,将所述单词单元根据扫描出的顺序,在所述抽象语法树上依次分级显示的步骤还包括:
当多个所述语法单元中位于首位的所述单词单元相同时,在所述抽象语法树上共用一个所述单词单元。
6.如权利要求1所述的一种小程序转换方法,其特征在于,所述前端编译器采用GCC编译器。
7.如权利要求1所述的一种小程序转换方法,其特征在于,所述后端编译器采用LVVM编译器。
8.一种小程序转换系统,其特征在于,包括
输入模块,用于获取待开发小程序的原始文件;
转换模块,用于利用所述原始文件的开发平台导出源代码和图像文件,将图像文件保存至预设位置,保存所述预设位置的地址信息为引用图片地址;
分词模块,用于利用分词器将所述源代码中的语句或表达式拆分成独立的语法单元;
语法提取模块,用于利用语法分析器,把拆分的所述语法单元组装成抽象语法树;
代码转译模块,用于通过所述源代码对应的前端编译器,根据所述抽象语法树把所述源代码编译成中间代码;利用待转换平台的后端编译器,将所述中间代码编译为目标代码;
输出模块,将所述目标代码中的图像文件地址替换为对应的所述引用图片地址;根据待发布平台的平台需求,将所述目标代码转换为目标小程序。
9.一种电子设备,其特征在于,包括至少一个处理器、至少一个存储器和数据总线;其中:所述处理器与所述存储器通过所述数据总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令以执行如权利要求1-7任一所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-7中任一项所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于太原天祥科技有限公司,未经太原天祥科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110978060.0/1.html,转载请声明来源钻瓜专利网。