[发明专利]源文件压缩装置在审
申请号: | 201710890808.5 | 申请日: | 2017-09-27 |
公开(公告)号: | CN107729002A | 公开(公告)日: | 2018-02-23 |
发明(设计)人: | 周维 | 申请(专利权)人: | 上海斐讯数据通信技术有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30 |
代理公司: | 上海硕力知识产权代理事务所(普通合伙)31251 | 代理人: | 郭桂峰 |
地址: | 201616 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 源文件 压缩 装置 | ||
技术领域
本发明涉及通信技术领域,尤其涉及一种源文件压缩装置。
背景技术
随着计算机程序的发展,高级编程语言得到普及,越来越多的项目使用JAVA开发。又随着业务需求复杂度的提升,项目代码量越来越多,即源文件数量不断攀升,为了便于记忆,不同开发人员的编程风格大相径庭,在对变量的命名上体现的较为明显。对于初学者来说,因为没有太多的引用关系存在,通常会选用简洁一些的命名,但是对于开发人员来说,通常会采用单词拼凑的方式对变量进行命名,便于对源文件的阅读和理解。通常开发者命名的变量名(或者参数名)是有一定意义的单词或者是单词组合,利于传阅的。
但是,对于临时变量来说,尤其是开发完毕之后,源文件经过编译之后在运行阶段,长串的变量名对于电脑机器而言其实并无意义。因为电脑机器并不会去理解变量名字本身的意义,变量名字只是一个代号,一个占位符而已;且如今的源代码几乎每一行都有一个变量,每一个方法至少有10多个变量,每个变量都会被引用三五次,在如此高频率的使用下,大量长串名字的变量无疑会影响虚拟机的识别效率,从而影响源代码的执行效率。
发明内容
本发明的目的是提供一种源文件压缩装置,有效解决现有技术中由大串的名字的变量影响源文件执行效率的技术问题。
本发明提供的技术方案如下:
一种源文件压缩装置,包括,
处理器,用于实现各指令;及
存储器,用于存储多条指令,指令适用于处理器加载并执行;
所述多条指令中包括:
导入待压缩的源文件;
提取所述源文件中所有的临时变量,生成第一临时变量列表;
按照预设规则生成与第一临时变量列表中临时变量相应数量的变量名;
使用生成的变量名依次替换所述第一临时变量列表中各临时变量的名字;
完成对所述源文件的压缩,生成新的源文件并导出。
在本技术方案中,将源文件中的所有临时变量的名字都替换为根据预设规则生成的新的变量名,完成对源文件的压缩,提高虚拟机的识别效率,以此提升源文件的执行效率。
进一步优选地,在指令导入待压缩的源文件之后,还包括:
识别所述源文件中包括的所有方法,并对各方法依次进行排序;
在指令提取所述源文件中所有的临时变量中,包括:
依照各方法的排序进入一个方法;
提取该方法中所有的临时变量,生成第二临时变量列表;
在指令按照预设规则生成与第一临时变量列表中临时变量相应数量的变量名中,具体为:按照预设规则生成与第二临时变量列表中临时变量相应数量的变量名;
在指令使用生成的变量名依次替换所述第一临时变量列表中各临时变量的名字中,具体为:使用生成的变量名依次替换所述第二临时变量列表中各临时变量的名字。
在本技术方案中,为了避免由源文件中临时变量过多影响压缩过程,在变量名替换的过程中,根据源文件中不同的方法,依次进行替换,以此提升压缩的效率。
进一步优选地,在指令按照预设规则生成与第二临时变量列表中临时变量相应数量的变量名之前,还包括:清空针对前一方法生成的临时变量的名字;或,
在指令使用生成的变量名依次替换所述第二临时变量列表中各临时变量的名字之后,还包括:清空针对该方法生成的临时变量的名字。
在本技术方案中,为了避免出现变量名替换混乱的情况,在每个方法中临时变量替换完成之后,清空之前生成的变量名,进入下一个方法,根据预设规则重新生成变量名。
进一步优选地,在指令使用生成的变量名依次替换所述第二临时变量列表中各临时变量的名字之后,还包括:
判断是否源文件中所有方法都完成了临时变量名字的替换;若是,判定完成对所述源文件的压缩;否则,进入临时变量名字未替换的方法,并跳转至指令提取该方法中所有的临时变量。
进一步优选地,在指令导入待压缩的源文件之后,还包括:
记录所述源文件中所有的成员变量;
在指令提取所述源文件中所有的临时变量之后,还包括:
判断所述第一临时变量列表中是否有临时变量与成员变量重名;若是,
将与成员变量重名的临时变量从第一临时变量列表中删除。
在本技术方案中,为了避免在变量名替换的过程中对成员变量的名字进行替换,以此,在替换之前判断是否有与临时变量重名的成员变量,以免成员变量名改动后,新的源文件在运行的过程中出现报错,提高新的源文件的执行效率。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海斐讯数据通信技术有限公司,未经上海斐讯数据通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710890808.5/2.html,转载请声明来源钻瓜专利网。