[发明专利]一种代码解析的方法、装置、电子设备及存储介质在审
申请号: | 202110175002.4 | 申请日: | 2021-02-09 |
公开(公告)号: | CN112860262A | 公开(公告)日: | 2021-05-28 |
发明(设计)人: | 李秀红;陈仁泽;李懋林;颜深根 | 申请(专利权)人: | 上海商汤智能科技有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06N20/00 |
代理公司: | 北京中知恒瑞知识产权代理事务所(普通合伙) 11889 | 代理人: | 吴迪 |
地址: | 200233 上海市徐*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 代码 解析 方法 装置 电子设备 存储 介质 | ||
本公开提供了一种代码解析的方法、装置、电子设备及存储介质,其中,该方法包括:获取前端中待解析的源代码;检测源代码中是否存在非纯函数元素,并在确定存在非纯函数元素的情况下,获取非纯函数元素在源代码中的位置信息;基于位置信息将源代码划分为非纯函数语段和纯函数语段;利用前端对划分后的非纯函数语段进行处理,以及利用终端对划分后的纯函数语段进行处理。本公开可以基于非纯函数元素进行语段的划分,这使得有关源代码中的纯函数语段依然是可以在终端运行的,整体的计算性能更佳。
技术领域
本公开涉及深度学习技术领域,具体而言,涉及一种代码解析的方法、装置、电子设备及存储介质。
背景技术
目前,深度学习网络广泛应用在各个领域,基于深度学习网络的各种深度学习框架和终端也越来越多。这里的深度学习框架包括TensorFlow、MXNet、Keras和PyTorch等,这里的终端包括中央处理器(Central Processing Unit,CPU)、图形处理器(GraphicsProcessing Unit,GPU)等深度学习处理器。为了适应不同端的应用需求,上述深度学习框架和终端之间所采用的编程语言往往不同,因此一款支持前端各种深度学习框架和终端各种终端的编译器显得尤为重要。
现有的深度学习编译器可以将算法研究员编写的高层次语言代码(例如Python)自动生成为终端代码(例如CUDA)来提高计算执行性能。然而对于非纯函数而言,由于其具有的特殊性,深度学习编译器无法处理,这将导致包含非纯函数的所有源代码均无法完成编译,这使得终端的计算性能大大减低。
发明内容
本公开实施例至少提供一种代码解析的方法、装置、电子设备及存储介质。
第一方面,本公开实施例提供了一种代码解析的方法,所述方法包括:
获取前端中待解析的源代码;
检测所述源代码中是否存在非纯函数元素,并在确定存在非纯函数元素的情况下,获取所述非纯函数元素在所述源代码中的位置信息;
基于所述位置信息将所述源代码划分为非纯函数语段和纯函数语段;
利用前端对划分后的所述非纯函数语段进行处理,以及利用终端对划分后的所述纯函数语段进行处理。
这里,在获取到前端中待解析的源代码的情况下,首先检测源代码中是否存在非纯函数元素,并能够在确定存在非纯函数元素的情况下,获取非纯函数元素在源代码中的位置信息,该位置信息可以将源代码划分为非纯函数语段和纯函数语段,对于划分后的非纯函数语段可以由前端来处理,对于划分后的纯函数语段可以由终端来处理。
可见,对于包含有非纯函数元素的源代码而言,本公开实施例可以基于非纯函数元素进行语段的划分,这使得有关源代码中的纯函数语段依然是可以在终端运行的,相比相关技术中由于包含有非纯函数元素而导致整个源代码无法编译进而无法在终端运行而导致计算性能较差相比,整体的计算性能更佳。
在一种可能实施方式中,所述检测所述源代码中是否存在非纯函数元素,包括:
将获取的所述源代码对应的字符序列进行词法分析,得到至少一个单词;
对所述至少一个单词进行语法分析,得到不同单词之间的语法关系;
针对所述至少一个单词中的每个单词,基于与该单词存在语法关系的关联单词,确定该单词是否为非纯函数元素。
这里,可以结合词法分析和语法分析,确定与源代码对应的每个单词之间存在语法关系的关联单词,利用关联单词所指向的属性信息,即可以确定单词是否为非纯函数元素,通过源代码解析可以进一步提升后续的计算性能。
在一种可能的实施方式中,所述基于与该单词存在语法关系的关联单词,确定该单词是否为非纯函数元素,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海商汤智能科技有限公司,未经上海商汤智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110175002.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种药盘及智能药盒
- 下一篇:一种金属陶瓷复合甩锤的制造方法