[发明专利]一种基于cfg文件的类型转换的处理方法及其应用有效
申请号: | 201410660551.0 | 申请日: | 2014-11-18 |
公开(公告)号: | CN104317969B | 公开(公告)日: | 2017-06-16 |
发明(设计)人: | 顾乃杰;杜云开;任开新;黄双玲 | 申请(专利权)人: | 合肥康捷信息科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 安徽省合肥新安专利代理有限责任公司34101 | 代理人: | 何梅生 |
地址: | 230000 安徽省合肥市望江西路和创新大*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 cfg 文件 类型 转换 处理 方法 及其 应用 | ||
1.一种基于cfg文件的类型转换的处理方法,所述cfg文件中包含类型树;其特征是对所述cfg文件中的代码进行逐条处理,所述逐条处理包括提取满足所定义的类型转换模式的语句并分别进行存储并按如下步骤进行:
步骤1、定义类型转换模式和存储结构;
所述类型转换模式分为变量间接类型转换模式、直接类型转换模式、取地址间接类型转换模式和动态类型转换模式;
定义所述变量间接类型转换模式为:TYPE*var;
TYPE2*var2=var;
TYPE和TYPE2分别表示不同的类型关键字,var和var2分别表示不同的变量;
定义所述直接类型转换模式为:TYPE*var=new TYPE2;
new为C++语言的关键字,表示创建对象;
定义所述取地址间接类型转换模式为:TYPE var;
TYPE2*var2=&var;
定义所述动态类型转换模式为:TYPE*var=dynamic_cast<TYPE*>(var2);
dynamic_cast为C++语言的关键字,表示动态类型转换;
定义所述存储结构是由定义类型varType、原始类型realType和原始对象top组成的结构体;
所述不同的变量var和var2均对应有各自的结构体;
步骤2、提取所述cfg文件中满足所述类型转换模式的语句,并分别按照如下类型进行存储:
类型一、对于所述变量间接类型转换模式和所述取地址间接类型转换模式:
步骤1.1、将所述类型关键字TYPE存入变量var的定义类型varType中;
步骤1.2、将所述类型关键字TYPE存入变量var的原始类型realType中;
步骤1.3、随机产生地址并存入变量var的原始对象top中;
步骤1.4、将所述类型关键字TYPE2存入变量var2的定义类型varType中;
步骤1.5、将所述类型关键字TYPE存入变量var2的原始类型realType中;
步骤1.6、将所述变量var的原始对象top存入所述变量var2的原始对象top中;
类型二、对于所述直接类型转换模式:
步骤1.1、将所述类型关键字TYPE存入变量var的定义类型varType中;
步骤1.2、将所述类型关键字TYPE2存入变量var的原始类型realType;
步骤1.3、随机产生地址并存入变量var的原始对象top中;
类型三、对于所述动态类型转换模式:
步骤1.1、将所述类型关键字TYPE存入变量var的定义类型varType中;
步骤1.2、将所述类型关键字TYPE存入变量var的原始类型realType;
步骤1.3、从所述变量var2的原始类型realType开始向下搜索所述类型树,判断所述类型树中是否存在所述类型关键字为TYPE的类型,若存在,则将所述变量var2的原始对象top存入所述变量var的原始对象top中;否则,将0存入所述变量var的原始对象top中。
2.根据权利要求1所述的基于cfg文件的类型转换的处理方法,其特征是:用于虚函数重载中根据所述变量的结构体获得真实函数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于合肥康捷信息科技有限公司,未经合肥康捷信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410660551.0/1.html,转载请声明来源钻瓜专利网。