[发明专利]一种代码解析方法、装置、设备及介质在审
申请号: | 202011066291.6 | 申请日: | 2020-09-30 |
公开(公告)号: | CN114327469A | 公开(公告)日: | 2022-04-12 |
发明(设计)人: | 徐珊珊;乐永年;鲍鹏;吕志宏 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F8/30 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 常忠良 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 代码 解析 方法 装置 设备 介质 | ||
1.一种代码解析方法,其特征在于,所述方法包括:
获取第一代码,所述第一代码包括第一编程语言的变量和基于第二编程语言的代码;
对所述第一代码中与所述第一编程语言的变量关联的第一表达式进行替换,得到符合所述第二编程语言的语法规则的第二代码,所述第二代码包括第二表达式;
对所述第二代码进行语法解析,得到所述第二代码的语法结构。
2.根据权利要求1所述的方法,其特征在于,对所述第二代码进行语法解析后,所述方法还包括:
根据所述第二代码中所述第二表达式与所述第一代码中所述第一表达式的映射关系,将所述第二代码的语法结构中的所述第二表达式替换为所述第一表达式,得到所述第一代码的语法结构。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
根据所述第一代码的语法结构生成语法树。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述第一代码中包括所述第一表达式的特征信息,所述特征信息用于描述所述第一表达式与所述第二编程语言的关联关系;
所述对所述第一代码中与所述第一编程语言的变量关联的第一表达式进行替换,包括:
根据所述特征信息将所述第一代码中与所述第一编程语言的变量关联的第一表达式替换为符合所述第二编程语言的语法规则的第二表达式。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述第一编程语言为高级程序语言,所述第二编程语言为低级程序语言。
6.根据权利要求5所述的方法,其特征在于,所述对所述第一代码中与所述第一编程语言的变量关联的第一表达式进行替换,包括:
根据与所述第一编程语言的变量关联的第一表达式的特征信息,将所述第一表达式替换为符合所述第二编程语言的语法规则的内存操作数、寄存器操作数或立即数。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:
通过图形用户界面向用户呈现代码文件中的代码;
所述获取第一代码,包括:
接收所述用户通过所述图形用户界面选择的第一代码。
8.一种代码解析装置,其特征在于,所述装置包括:
通信模块,用于获取第一代码,所述第一代码包括第一编程语言的变量和基于第二编程语言的代码;
替换模块,用于对所述第一代码中与所述第一编程语言的变量关联的第一表达式进行替换,得到符合所述第二编程语言的语法规则的第二代码,所述第二代码包括第二表达式;
解析模块,用于对所述第二代码进行语法解析,得到所述第二代码的语法结构。
9.根据权利要求8所述的装置,其特征在于,所述替换模块还用于:
对所述第二代码进行语法解析后,根据所述第二代码中所述第二表达式与所述第一代码中所述第一表达式的映射关系,将所述第二代码的语法结构中的所述第二表达式替换为所述第一表达式,得到所述第一代码的语法结构。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
生成模块,用于根据所述第一代码的语法结构生成语法树。
11.根据权利要求8至10任一项所述的装置,其特征在于,所述第一代码中包括所述第一表达式的特征信息,所述特征信息用于描述所述第一表达式与所述第二编程语言的关联关系;
所述替换模块具体用于:
根据所述特征信息将所述第一代码中与所述第一编程语言的变量关联的第一表达式替换为符合所述第二编程语言的语法规则的第二表达式。
12.根据权利要求8至11任一项所述的装置,其特征在于,所述第一编程语言为高级程序语言,所述第二编程语言为低级程序语言。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011066291.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:业务处理方法以及相关设备
- 下一篇:烹饪器具、烹饪器具的控制方法和存储介质