[发明专利]提高代码执行性能的方法及装置有效
申请号: | 201610430445.2 | 申请日: | 2016-06-16 |
公开(公告)号: | CN107515739B | 公开(公告)日: | 2021-02-26 |
发明(设计)人: | 杨扬;张继鹏;王雷;苏丽丽 | 申请(专利权)人: | 斑马智行网络(香港)有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 上海华诚知识产权代理有限公司 31300 | 代理人: | 徐颖聪 |
地址: | 中国香港九龙长沙湾道*** | 国省代码: | 香港;81 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 提高 代码 执行 性能 方法 装置 | ||
1.一种提高代码执行性能的方法,其特征在于,包括:
根据源代码包含的预设格式的类型标注语句,生成变量标识与类型的对应关系,所述变量标识是指能够识别所述源代码中的变量的标识信息;所述类型标注语句的形式包括:字符串语句,或注释语句;
获取针对所述源代码预先生成的、所述变量标识与类型的对应关系;所述源代码是用弱类型语言编写的;
根据所述对应关系,将以语法树格式存储的所述源代码编译生成进行变量类型限定后的可执行代码;
其中,所述根据源代码包含的预设格式的类型标注语句,生成变量标识与类型的对应关系,包括:
在所述预设格式的类型标注语句是针对变量定义语句添加的、并且所述类型标注语句中包含变量标识以及相应的类型信息时,逐句读取所述源代码中的语句,若识别出所读取的语句为所述预设格式的类型标注语句,则根据从所述类型标注语句中提取的变量标识以及相应类型信息生成对应关系条目,并添加到变量标识与类型的对应关系中;
或者
在所述预设格式的类型标注语句是针对变量定义语句添加的、并且所述类型标注语句中不包含变量标识时,根据所述类型标注语句与相应的变量定义语句的位置关系,生成变量标识与类型的对应关系条目,并添加到变量标识与类型的对应关系中。
2.根据权利要求1所述的方法,其特征在于,所述语句与相应变量定义语句的位置关系,包括:
所述语句与相应变量定义语句相邻、且位于所述变量定义语句之前、或者之后。
3.根据权利要求1所述的方法,其特征在于,在通过语法解析生成所述以语法树格式存储的所述源代码的过程中,至少根据所述源代码包含的预设格式的类型标注语句,生成所述变量标识与类型的对应关系。
4.根据权利要求1所述的方法,其特征在于,所述根据所述对应关系,将以语法树格式存储的所述源代码编译生成进行变量类型限定后的可执行代码,包括:
逐句读取以语法树格式存储的所述源代码中的语句,并针对每个语句执行下述操作:
判断所述语句是否满足以下条件:所述语句为变量运算语句、且其中至少存在一个运算变量在所述对应关系中具有对应的类型信息;
若满足,根据从所述对应关系中获取的、所述语句包含的运算变量的类型信息,生成针对所述语句进行变量类型限定后的可执行代码;
否则,针对所述语句生成未进行变量类型限定的可执行代码。
5.根据权利要求1所述的方法,其特征在于,还包括:
执行所述可执行代码。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述弱类型语言包括:JavaScript语言。
7.一种提高代码执行性能的装置,其特征在于,包括:
对应关系获取单元,用于获取针对源代码预先生成的、变量标识与类型的对应关系,所述变量标识是指能够识别所述源代码中的变量的标识信息;
可执行代码生成单元,用于根据所述对应关系,将以语法树格式存储的所述源代码编译生成进行变量类型限定后的可执行代码;
对应关系生成单元,用于至少根据所述源代码包含的预设格式的类型标注语句,生成所述变量标识与类型的对应关系;
其中,所述源代码是用弱类型语言编写的;所述至少根据所述源代码包含的预设格式的类型标注语句,生成所述变量标识与类型的对应关系,包括:在所述预设格式的类型标注语句是针对变量定义语句添加的、并且所述类型标注语句中包含变量标识以及相应的类型信息时,逐句读取所述源代码中的语句,若识别出所读取的语句为所述预设格式的类型标注语句,则根据从所述类型标注语句中提取的变量标识以及相应类型信息生成对应关系条目,并添加到变量标识与类型的对应关系中;或者在所述预设格式的类型标注语句是针对变量定义语句添加的、并且所述类型标注语句中不包含变量标识时,根据所述类型标注语句与相应的变量定义语句的位置关系,生成变量标识与类型的对应关系条目,并添加到变量标识与类型的对应关系中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于斑马智行网络(香港)有限公司,未经斑马智行网络(香港)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610430445.2/1.html,转载请声明来源钻瓜专利网。