[发明专利]自动分析源文件信息的方法及装置有效
| 申请号: | 201310011128.3 | 申请日: | 2013-01-11 |
| 公开(公告)号: | CN103927212B | 公开(公告)日: | 2018-06-12 |
| 发明(设计)人: | 张军柯 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
| 主分类号: | G06F8/41 | 分类号: | G06F8/41 |
| 代理公司: | 北京康信知识产权代理有限责任公司 11240 | 代理人: | 赵囡囡 |
| 地址: | 518044 广东省深圳*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 源文件 源文件信息 类文件 子文件 集合 代码信息 信息集合 语言类型 自动分析 合法 源代码 读取 系统接收 相关信息 语法规则 自动扫描 文件包 合法性 解析 输出 分析 | ||
1.一种自动分析源文件信息的方法,其特征在于,包括:
读取包含有源代码的源文件或源文件包;
通过分析所述源文件或源文件包中的子文件的后缀名,判断所述源文件或源文件包中的子文件的语言类型以及合法性并获取源文件信息集合;
通过与所述源文件或源文件包中的子文件的语言类型对应的语法规则,判断合法的源文件或者源文件包中的合法子文件是否为合法的类文件,获取类文件信息集合;
通过解析合法的类文件中的代码,获取代码信息集合;
输出所述源文件信息集合、所述类文件信息集合、所述代码信息集合。
2.根据权利要求1所述的方法,其特征在于,所述读取包含有源代码的源文件或源文件包之前进一步包括:
提供接口,用于接收输入的源文件或源文件包。
3.根据权利要求1所述的方法,其特征在于,所述通过分析所述源文件或源文件包中的子文件的后缀名,判断所述源文件或源文件包中的子文件的语言类型以及合法性并获取源文件信息集合的步骤,包括:
分析所述源文件或所述源文件包中的子文件的后缀名得到文件类型的占比,将占比最多的类型设定为所述源文件或所述源文件包的子文件的语言类型;
将所述语言类型存储于所述源文件信息集合。
4.根据权利要求3所述的方法,其特征在于,所述通过分析所述源文件或源文件包中的子文件的后缀名,判断所述源文件或源文件包中的子文件的语言类型以及合法性并获取源文件信息集合的步骤,进一步包括:
打开当前源文件或源文件包中的子文件,根据所述当前源文件或源文件包中的子文件的后缀名判断其是否是合法的源文件,如果是合法的源文件则将其信息加入至合法源文件名集合,否则,将其信息加入至非源文件名集合并停止分析所述当前源文件或源文件包的子文件,扫描下一个被接口接收的文件,所述合法源文件名集合包括合法源文件的名称及个数,所述非源文件名集合包括所述非源文件的名称及个数;
将所述合法源文件名集合以及所述非源文件名集合存储于所述源文件信息集合。
5.根据权利要求1所述的方法,其特征在于,所述通过与所述源文件或源文件包中的子文件的语言类型对应的语法规则,判断合法的源文件或者源文件包中的合法子文件是否为合法的类文件,获取类文件信息集合的步骤,包括:
打开当前合法源文件或源文件包中的合法子文件,通过与所述源文件或源文件包中的子文件的语言类型对应的语法规则判断其是否是合法的类文件,如果是合法的类文件则将其信息加入至合法类文件名集合,否则,将其信息加入至非类文件名集合并停止分析所述当前合法源文件或源文件包中的合法子文件,扫描下一个合法源文件或者源文件包中的合法子文件,所述合法类文件名集合包括所述合法类文件的名称及个数,所述非类文件名集合包括所述非类文件的名称及个数;
将所述合法类文件名集合以及所述非类文件名集合存储于所述类文件信息集合。
6.根据权利要求1所述的方法,其特征在于,所述通过解析合法的类文件中的代码,获取代码信息集合的步骤,包括:
打开当前合法类文件,通过与所述源文件或源文件包中的子文件的语言类型对应的语法规则判断所述合法类文件中的方法是否是合法的方法,如果是合法的方法则将其信息加入至合法方法名集合,否则,将其信息加入至非方法名集合并停止分析当前行,扫描下一行;
将所述合法方法名集合以及所述非方法名集合存储于所述代码信息集合。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310011128.3/1.html,转载请声明来源钻瓜专利网。





