• 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
    • / 17
    • 下载费用:30 金币  

    重庆时时彩几分钟: 一种程序配置信息的获取方法和装置.pdf

    摘要
    申请专利号:

    重庆时时彩单双窍门 www.4mum.com.cn CN201310629039.5

    申请日:

    2013.11.29

    公开号:

    CN103646055A

    公开日:

    2014.03.19

    当前法律状态:

    授权

    有效性:

    有权

    法律详情: 授权|||实质审查的生效IPC(主分类):G06F 17/30申请日:20131129|||公开
    IPC分类号: G06F17/30 主分类号: G06F17/30
    申请人: 广州视源电子科技股份有限公司
    发明人: 肖文鲲; 辛奇俊; 叶大旺; 徐锦亮
    地址: 510663 广东省广州市高新技术产业开发区科学城科珠路192号
    优先权:
    专利代理机构: 北京集佳知识产权代理有限公司 11227 代理人: 王宝筠
    PDF完整版下载: PDF下载
    法律状态
    申请(专利)号:

    CN201310629039.5

    授权公告号:

    ||||||

    法律状态公告日:

    2017.09.26|||2014.04.16|||2014.03.19

    法律状态类型:

    授权|||实质审查的生效|||公开

    摘要

    本发明实施例公开了程序配置信息的获取方法和装置,应用于计算机技术领域。在本发明实施例的程序配置信息的获取方法中,可以将应用程序的源代码中的配置文件进行解析,并根据解析到的宏定义和宏条件表达式分别设置配置信息树的节点信息和分支节点信息,从而将得到的配置信息树统一输出,该配置信息树就可以表示应用程序的源代码文件中包括的各个配置项之间的关系。这样在查找各个功能对应配置项时,可以通过各个节点和分支节点上的信息来进行查找,和现有技术中各个配置项的内容在源代码文件中各自独立储存相比,本实施例的方法可以简化对于配置项的查找的过程。

    权利要求书

    权利要求书
    1.  一种程序配置信息的获取方法,其特征在于,包括:
    确定应用程序的源代码目录中待操作的配置文件;
    对所述配置文件进行解析,当解析到所述配置文件中的宏定义时,将所述宏定义储存到配置信息树中当前节点的内容信息中;
    当解析到所述配置文件中的宏条件表达式时,根据所述宏条件表达式设置所述配置信息树中相关节点的分支节点。
    将所述配置文件对应的配置信息树输出。

    2.  如权利要求1所述的方法,其特征在于,所述确定应用程序的源代码目录中待操作的配置文件,具体包括:
    以所述源代码目录中的配置根文件为起始点,查找所述源代码目录中包含指令对应文件作为所述待操作的配置文件;或,
    以所述源代码目录中的配置根文件为起始点,查找所述源代码目录中的包含指令对应文件,并将所述包含指令对应文件中与预置文件相匹配的文件进行过滤,将所述过滤后的包含指令对应文件作为所述待操作的配置文件;
    所述配置根文件是所述源代码目录中某一配置文件。

    3.  如权利要求1所述的方法,其特征在于,所述根据所述宏条件表达式设置所述配置信息树中相关节点的分支节点,具体包括:
    如果所述宏条件表达式中包括进入新分支的第一表达式,则在所述配置信息树的当前节点下建立第一子节点,并将所述第一表达式储存为所述第一子节点的标识信息;
    如果所述宏条件表达式中包括退出当前分支并进入另一新分支的第二表达式,则退出所述配置信息树的当前节点,回到父节点下建立第二子节点,并将所述第二表达式储存为所述第二子节点的标识信息;
    如果所述宏条件表达式中包括退出当前分支的第三表达式,则退出所述配置信息树的当前节点。

    4.  如权利要求1至3任一项所述的方法,其特征在于,所述将所述配置文件对应的配置信息树输出之前,还包括:
    当解析到所述配置文件中的宏注释信息时,将所述宏注释信息储存到所述配置信息树中对应节点的同名宏的内容信息中;
    当解析到所述配置文件中的删除宏定义时,在所述配置信息树中当前节点的内容信息中增加所述删除宏定义对应宏已被删除的信息。

    5.  如权利要求1至3任一项所述的方法,其特征在于,所述将所述配置文件对应的配置信息树输出之前,还包括:
    当解析到所述配置文件中的文件包含指令,查找所述文件包含指令对应的文件,并暂停解析当前文件,开始解析所述查找到的文件。

    6.  如权利要求5所述的方法,其特征在于,所述查找所述文件包含指令对应的文件,具体包括:
    如果所述文件包含指令对应的文件名是双引号方式的文件名,则在所述确定的待操作的配置文件中和所述文件包含指令所指定的路径中进行首次查找双引号中的文件名;
    如果所述首次查找未查找到所述文件包含指令对应的文件,则在所述源代码目录中进行再次查找双引号中的文件;
    如果所述文件包含指令对应的文件名是宏名称,则在所述配置信息树的当前节点对应的子节点的内容信息中查找所述宏名称。

    7.  一种程序配置信息的获取装置,其特征在于,包括:
    配置确定单元,用于确定应用程序的源代码目录中待操作的配置文件;
    解析单元,用于对所述配置文件进行解析;
    节点处理单元,用于当所述解析单元解析到所述配置文件中的宏定义时,将所述宏定义储存到配置信息树中当前节点的内容信息中;
    分支节点处理单元,用于当所述解析单元解析到所述配置文件中的宏条件表达式时,根据所述宏条件表达式设置所述配置信息树中相关节点的分支节点;
    输出单元,将所述配置文件对应的配置信息树输出。

    8.  如权利要求7所述的装置,其特征在于,所述配置确定单元包括查找单元,并将所述查找单元查找到的包含指令对应文件作为所述待操作的配置文件;
    或所述配置确定单元包括查找单元和过滤单元,并将所述过滤单元过滤后的包含指令对应文件作为所述待操作的配置文件;
    所述查找单元,用于以所述源代码目录中的配置根文件为起始点,查找所述源代码目录中包含指令对应文件,所述配置根文件是所述源代码目录中某一配置文件;
    所述过滤单元,用于将所述查找单元查找的包含指令对应文件中与预置文件相匹配的文件进行过滤。

    9.  如权利要求7所述的装置,所述分支节点处理单元具体包括:
    第一处理单元,用于如果所述宏条件表达式中包括进入新分支的第一表达式,则在所述配置信息树的当前节点下建立第一子节点,并将所述第一表达式储存为所述第一子节点的标识信息;
    第二处理单元,用于如果所述宏条件表达式中包括退出当前分支并进入另一新分支的第二表达式,则退出所述配置信息树的当前节点,回到父节点下建立第二子节点,并将所述第二表达式储存为所述第二子节点的标识信息;
    第三处理单元,用于如果所述宏条件表达式中包括退出当前分支的第三表达式,则退出所述配置信息树的当前节点。

    10.  如权利要求7至9任一项所述的装置,其特征在于,还包括:
    注释处理单元,用于当所述解析单元解析到所述配置文件中的宏注释信息时,将所述宏注释信息储存到所述配置信息树中对应节点的同名宏的内容信息中;
    删除处理单元,用于当所述解析单元解析到所述配置文件中的删除宏定义时,在所述配置信息树中当前节点的内容信息中增加所述删除宏定义对应宏已被删除的信息。

    11.  如权利要求7至9任一项所述的装置,其特征在于,还包括:
    文件包含处理单元,用于当解析到所述配置文件中的文件包含指令,查找所述文件包含指令对应的文件,并暂停解析当前文件,开始解析所述查找到的文件。

    12.  如权利要求11所述的装置,其特征在于,所述文件包含处理单元具体包括:
    第一查找单元,用于如果所述文件包含指令对应的文件名是双引号方式的文件名,则在所述确定的待操作的配置文件中和所述文件包含指令所指定 的路径中进行首次查找双引号中的文件名;如果所述首次查找未查找到所述文件包含指令对应的文件,则在所述源代码目录中进行再次查找双引号中的文件;
    第二查找单元,用于如果所述文件包含指令对应的文件名是宏名称,则在所述配置信息树的当前节点对应的子节点的内容信息中查找所述宏名称;
    查找解析单元,用于解析所述第一查找单元或第二查找单元查找到的文件。

    说明书

    说明书一种程序配置信息的获取方法和装置
    技术领域
    本发明涉及计算机技术领域,特别涉及程序配置信息的获取方法和装置。
    背景技术
    在一个应用程序对应源代码目录中可以包括源文件和配置文件,在配置文件中包括该应用程序的多个配置项的内容,这里一个配置项可以表示该应用程序所能实现的一项功能。在对应用程序中各个功能进行更新和升级时,需要先在源代码文件中找到各个功能对应配置项的内容,然后再进行更新和升级的操作,但是现有技术中,一个应用程序各个配置项的内容在源代码文件中都是各自独立存放的,且格式不定,使得在查找各个功能对应配置项的内容时,比较繁琐且困难。
    发明内容
    本发明实施例提供程序配置信息的获取方法和装置,简化对于配置项的查找的过程。
    本发明实施例提供一种程序配置信息的获取方法,包括:
    确定应用程序的源代码目录中待操作的配置文件;
    对所述配置文件进行解析,当解析到所述配置文件中的宏定义时,将所述宏定义储存到配置信息树中当前节点的内容信息中;
    当解析到所述配置文件中的宏条件表达式时,根据所述宏条件表达式设置所述配置信息树中相关节点的分支节点。
    将所述配置文件对应的配置信息树输出。
    本发明实施例提供一种程序配置信息的获取装置,包括:
    配置确定单元,用于确定应用程序的源代码目录中待操作的配置文件;
    解析单元,用于对所述配置文件进行解析;
    节点处理单元,用于当所述解析单元解析到所述配置文件中的宏定义时,将所述宏定义储存到配置信息树中当前节点的内容信息中;
    分支节点处理单元,用于当所述解析单元解析到所述配置文件中的宏条件表达式时,根据所述宏条件表达式设置所述配置信息树中相关节点的分支 节点;
    输出单元,将所述配置文件对应的配置信息树输出。
    在本发明实施例的程序配置信息的获取方法中,可以将应用程序的源代码中的配置文件进行解析,并根据解析到的宏定义和宏条件表达式分别设置配置信息树的节点的信息和分支节点的信息,从而将得到的配置信息树统一输出,该配置信息树就可以表示应用程序的源代码文件中包括的各个配置项之间的关系。这样在查找各个功能对应配置项时,可以通过各个节点和分支节点上的信息来进行查找,和现有技术中各个配置项的内容在源代码文件中各自独立储存相比,本实施例的方法可以简化对于配置项的查找的过程。
    附图说明
    为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
    图1是本发明实施例提供的一种程序配置信息的获取方法流程图;
    图2是本发明实施例中程序配置信息的获取装置设置的配置信息树的示意图;
    图3是本发明实施例提供的另一种程序配置信息的获取方法流程图;
    图4是本发明实施例提供的一种程序配置信息的获取装置的结构示意图;
    图5是本发明实施例提供的另一种程序配置信息的获取装置的结构示意图;
    图6是本发明实施例提供的另一种程序配置信息的获取装置的结构示意图。
    具体实施方式
    下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例?;诒痉⒚髦械氖凳├?,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明?;さ姆段?。
    本发明实施例提供一种程序配置信息的获取方法,主要是从应用程序的 源代码文件中获取,本实施例的方法是程序配置信息的获取装置所执行的方法,流程图如图1所示,包括:
    步骤101,确定应用程序的源代码目录中待操作的配置文件,这里源代码目录是指储存应用程序的源代码的路径。
    可以理解,一个应用程序的源代码目录中可以包括配置文件和源文件,其中配置文件中包括多个配置项的内容,而一个配置项可以表示该应用程序的一个功能项;源文件是实现应用程序的代码文件。程序配置信息的获取装置在执行本步骤时,可以以源代码目录中的配置根文件为起始点,查找源代码目录中包含指令(即#include)对应文件作为待操作的配置文件。为了简化对配置文件的处理时间,程序配置信息的获取装置可以先将没有用的文件先过滤掉,具体地,程序配置信息的获取装置在执行本步骤时,可以以源代码目录中的配置根文件为起始点,查找源代码目录中包含指令对应配置文件,并将包含指令对应文件中与预置文件相匹配的文件进行过滤,将过滤后的包含指令对应文件作为待操作的配置文件。其中,预置文件可以是没有用的文件,比如备份文件(以bak为后缀),代码版本控制文件(以CVS或svn为后缀)和系统库文件(以stdio.h为后缀)等,配置根文件是用户指定的上述源代码目录中特定的一个配置文件。
    进一步地,为了不会影响该应用程序的正常运行,程序配置信息的获取装置可以将确定的待操作的配置文件先储存到一个工作路径中,然后针对该工作路径中储存的配置文件进行如下步骤102到104的操作。
    步骤102,对步骤101中确定的待操作的配置文件进行解析,当解析到配置文件中的宏定义时,则执行步骤103;当解析到配置文件中的宏条件表达式时,则执行步骤104。
    程序配置信息的获取装置可以从配置根文件开始进行解析,先建立配置信息树的根节点,然后一边执行本步骤的解析,一边根据解析得到的结果创建该应用程序对应的配置信息树,其中每当解析到某一个宏条件表达式时,会进行节点的移动。其中解析到的宏定义是指定义一个宏,其关键字为“#define”,这里宏是一种编译预处理命令;宏条件表达式是指关于宏的条件关系式,主要可以包括但限于如下几种类型:进入一个新分支的第一表达式, 其关键字可以为“#if”,“#ifdef”,和“#ifndef”等;退出当前分支并进入另一新分支的第二表达式,其关键字可以为“#elif”和“#else”等;退出当前分支但不进入另一新分支的第三表达式,其关键字为“#endif”。
    步骤103,将宏定义储存到配置信息树中当前节点的内容信息中。如果该宏定义是在从配置根文件为起始点进行解析时,在解析到宏定义表达式之前就解析到的,则当前节点是配置根文件对应的根节点;如果该宏定义是当解析到某一宏条件表达式之后解析到的,则当前节点是该宏条件表达式对应的节点。
    步骤104,根据宏条件表达式设置配置信息树中相关节点的分支节点。
    具体地,可以根据不同宏条件表达式执行不同的操作,比如对于进入新分支的第一表达式,则程序配置信息的获取装置会在配置信息树的当前节点下建立第一子节点,并将第一表达式储存成第一子节点的标识信息,这里当前节点是指在该第一表达式之前所解析到的某一宏条件表达式对应的节点,或根节点;对于退出当前分支并进入另一新分支的第二表达式,则程序配置信息的获取装置会退出配置信息树的当前节点,回到父节点下建立第二子节点,并将第二表达式储存成第二子节点的标识信息,这里父节点是当前节点的父节点,这里的当前节点是指在该第二表达式之前所解析到的某一宏条件表达式对应的节点,或根节点;对于退出当前分支的第三表达式,则退出配置信息树的当前节点,这里的当前节点是指在该第三表达式之前所解析到的某一宏条件表达式对应的节点,或根节点。上述当前节点是随着根据解析结果对配置信息树的设置和扩建而动态变化的,并不是指配置信息树中某一个固定的节点。
    在具体实现的过程中,程序配置信息的获取装置在储存上述各个表达式为子节点的标识信息时,可以将表达式除去空格和操作符提取等简单处理后,得到表达式对应的关键字(key)和条件值(id)等信息进行储存。
    例如,对于如下的配置文件的源代码:


    则在程序配置信息的获取装置在对配置文件进行解析的过程中,可以在当前节点之下建立三个子节点,这里当前节点是在该if的宏条件表达式之前所解析到的某一宏条件表达式的节点,这三个子节点的标识信息分别为,其中OP为操作符(operator):
    KEY:CVTE_MACRO_NAME_FEATURE,ID:CVTE_OPTION1,OP:==
    KEY:CVTE_MACRO_NAME_FEATURE,ID:CVTE_OPTION2,OP:==
    KEY:CVTE_MACRO_NAME_FEATURE,ID:CVTE_OPTION3,OP:==
    需要说明的是,在有些宏条件表达式中的条件比较复杂的情况下,可以直接将表达式作为该子节点的标识信息,比如“#if((A==B)&&(C==D)&&(E))”,可以将(A==B)&&(C==D)&&(E)作为该子节点的标识信息。而有些宏条件表达式中没有列出条件,比如“#else”分支没有列出条件,可以将else加序号作为标识信息。
    步骤105,在步骤103或104后,当按照上述步骤102将待操作的配置文件全部解析完成后,就可以将待操作的配置文件对应的配置信息树输出,具体地,可以将配置信息树中各个节点的信息(包括标识信息和内容信息等)以统一的格式输出,比如以可扩展标识语言(eXtensible Markup Language,XML)等类型的文件输出。如果待操作的配置文件没有全部解析完成,则需要继续返回步骤102执行解析步骤。
    需要说明的是,上述配置信息树中各个节点的内容信息包括宏定义的信 息,节点的标识信息是宏条件表达式的信息,而宏可以表示该应用程序所能执行的功能即配置项,因此配置信息树可以表示该应用程序中各个配置项之间的关系。例如图2所示的配置信息树中,可以包括3个节点即分别是关于客户1到客户3的信息,而节点客户2又可以包括3个子节点即客户2的需求1到需求3的信息,在需求1的子节点中对应功能1和2,在需求2的子节点中对应功能1和3,在需求3的子节点中对应功能2和4。
    另外,上述第一表达式到第三表达式,及第一子节点和第二子节点并不表示顺序关系,而是为了说明不同的表达式和不同的子节点。
    可见,在本发明实施例的程序配置信息的获取方法中,可以将应用程序的源代码中的配置文件进行解析,并根据解析到的宏定义和宏条件表达式分别设置配置信息树的节点信息和分支节点信息,从而将得到的配置信息树统一输出,该配置信息树就可以表示应用程序的源代码文件中包括的各个配置项之间的关系。这样在查找各个功能对应配置项时,可以通过各个节点和分支节点上的信息来进行查找,和现有技术中各个配置项的内容在源代码文件中各自独立储存相比,本实施例的方法可以简化对于配置项的查找的过程。
    且进一步地,可以将配置信息树以统一的格式录入数据库中,这样就可以实现各个配置项的联网查询等功能。
    参考图3所示,在一个具体的实施例中,上述步骤101中确定的待操作的配置文件中除了宏定义和宏条件表达式之外,还可以包括删除宏定义、宏注释信息和文件包含的信息,则程序配置信息的获取装置在执行上述步骤102时,如果在解析到配置文件中的宏注释信息时,会执行步骤106;如果在解析到配置文件中的删除宏定义时,会执行步骤107;如果在解析到配置文件中的文件包含指令时,会执行步骤108,具体地:
    步骤106,将宏注释信息储存到配置信息树中对应节点的同名宏的内容信息中,这里宏注释信息是指对源代码中的代码进行标记和必要说明的信息。
    比如,对于宏为CVTE_MACRO_NAME_FEATURE的宏注释信息如下:
    /***************CVTE_MACRO_NAME_FEATURE*****************
    (1)默认值:
    (2)范围说明:
    (3)功能描述:
    (4)作者&日期:
    **************************************************************/
    宏注释信息的第一行中包括宏的名称,之后是对该宏的属性特征进行详细说明,比如默认值、范围说明和功能描述等。当解析到上述的宏注释信息时,将宏注释信息的具体内容储存到并关联到宏CVTE_MACRO_NAME_FEATURE的信息中。
    步骤107,在配置信息树中当前节点的内容信息中增加该删除宏定义对应宏已被删除的信息,该当前节点是指在该删除宏定义之前解析到一个宏条件表达式对应的节点,或根节点。
    步骤108,查找文件包含指令对应的文件,并暂停解析当前文件,开始解析查找到的文件,该文件包括指令的关键字为:#include文件名,如果该文件名可以是双引号方式的文件名即“FILE”,也可以是尖括号方式的文件名即<FILE>,还可以是宏名称。
    其中,对于双引号方式的文件名,则程序配置信息的获取装置在查找文件时,可以在上述步骤101中确定的待操作的配置文件中和该文件包含指令所指定的路径中进行首次查找双引号中的文件名,进一步地如果该首次查找未查找到文件包含指令对应的文件,则会扩大文件查找的范围,在应用程序的源代码目录中进行再次查找双引号中的文件名;对于尖括号方式的文件名对应文件是指编译器库中的文件,与配置信息不相关,可以忽略这类文件;如果文件名是宏名称,在配置信息树的当前节点对应的子节点的内容信息中查找宏名称,这里当前节点是指在该宏名称之前解析到的某一宏条件表达式对应的节点,且该宏条件表达式对应节点中包括多个子节点,或根节点。
    一般来说在文件包含指令对应宏名称时,为了逻辑一致性,只支持如下形式的代码:


    在该代码中,要求宏定义在当前节点的直接子节点内,即在当前节点下有子节点A的情况,和子节点B的情况,则当解析到文件包含指令对应宏名称INC时,则需要在这些子节点的内容信息中查找该宏名称。如果在子节点的内容信息中查找不到该宏名称,则将其忽略。
    这样,在本发明实施例中,在步骤103或104或106或107或108后,当按照上述步骤102将待操作的配置文件全部解析完成后,就可以将配置文件对应的配置信息树输出。
    本发明实施例还提供一种程序配置信息的获取装置,其结构示意图如图4所示,包括:
    配置确定单元10,用于确定应用程序的源代码目录中待操作的配置文件;为了不影响应用程序的正常运行,该配置确定单元10可以将确定的待操作的配置文件先储存到一个工作路径中,然后再由其它单元来执行其它步骤。
    解析单元11,用于对所述配置确定单元10确定的待操作的配置文件进行解析。
    节点处理单元12,用于当所述解析单元11解析到所述配置文件中的宏定义时,将所述宏定义储存到配置信息树中当前节点的内容信息中。
    分支节点处理单元13,用于当所述解析单元11解析到所述配置文件中的宏条件表达式时,根据所述宏条件表达式设置所述配置信息树中相关节点的分支节点。
    输出单元14,将所述配置文件对应的配置信息树输出。当解析单元11将配置信息全部解析完后,输出单元14可以将配置信息树中各个节点的信息以统一的格式输出。且该输出单元14可以将配置信息树以统一格式录入数据库中,这样方便用户联网查找各个配置项的内容。
    在本发明实施例的程序配置信息的获取装置中,解析单元11可以将应用程序的源代码中的配置文件进行解析,并由节点处理单元12和分支节点处理单元13根据解析到的宏定义和宏条件表达式分别设置配置信息树的节点信息和分支节点信息,从而输出单元14将得到的配置信息树统一输出,该配置信 息树就可以表示应用程序的源代码文件中包括的各个配置项之间的关系。这样在查找各个功能对应配置项时,可以通过各个节点和分支节点上的信息来进行查找,和现有技术中各个配置项的内容在源代码文件中各自独立储存相比,本实施例的方法可以简化对于配置项的查找的过程。
    参考图5所示,在一个具体的实施例中,程序配置信息的获取装置除了可以包括如图4所示的结构外,进一步地,其中的配置确定单元10可以通过查找单元110或通过查找单元110和过滤单元120来实现,而分支节点处理单元13具体可以通过第一处理单元131、第二处理单元132和第三处理单元133来实现,具体地:
    查找单元110,用于以所述源代码目录中的配置根文件为起始点,查找所述源代码目录中包含指令对应文件,所述配置根文件是所述源代码目录中某一配置文件;
    过滤单元120,用于将所述查找单元110查找的包含指令对应文件中与预置文件相匹配的文件进行过滤。
    第一处理单元131,用于如果所述解析单元11解析到宏条件表达式中包括进入新分支的第一表达式,则在所述配置信息树的当前节点下建立第一子节点,并将所述第一表达式储存成所述第一子节点的标识信息;
    第二处理单元132,用于如果所述解析单元11解析到宏条件表达式中包括退出当前分支并进入另一新分支的第二表达式,则退出所述配置信息树的当前节点,在父节点下建立第二子节点,并将所述第二表达式储存成所述第二子节点的标识信息;
    第三处理单元133,用于如果所述解析单元11解析到宏条件表达式中包括退出当前分支的第三表达式,则退出所述配置信息树的当前节点。
    上述第一处理单元131和第二处理单元132在储存上述各个表达式为子节点的标识信息时,可以将表达式除去空格和操作符提取等简单处理后,得到表达式对应的关键字(key)和条件值(id)等信息进行储存。
    本实施例中,可以将配置确定单元10中的查找单元110查找到的包含指令对应文件作为待操作的配置文件,进一步地,为了简化对配置文件的处理时间,可以将配置确定单元10中的过滤单元120过滤后的包含指令对应文件作为 所述待操作的配置文件。且本实施例中,输出单元14可以输出节点处理单元12中设置的节点的信息,及分支节点处理单元13中第一处理单元131和第二处理单元132设置的子节点的信息。
    参考图6所示,在一个具体的实施例中,程序配置信息的获取装置除了可以包括如图4所示的结构外,还可以包括注释处理单元15、删除处理单元16和文件包含处理单元17,且在一个具体的实施例中,文件包含处理单元17可以通过第一查找单元171、第二查找单元172和查找解析单元173来实现,其中:
    注释处理单元15,用于当所述解析单元11解析到所述配置文件中的宏注释信息时,将所述宏注释信息储存到所述配置信息树中对应节点的同名宏的内容信息中;
    删除处理单元16,用于当所述解析单元11解析到所述配置文件中的删除宏定义时,在所述配置信息树中当前节点的内容信息中增加所述删除宏定义对应宏已被删除的信息。
    文件包含处理单元17,用于当解析单元11解析到所述配置文件中的文件包含指令,查找所述文件包含指令对应的文件,并暂停解析当前文件,开始解析所述查找到的文件。
    第一查找单元171,用于如果所述解析单元11解析到文件包含指令对应的文件名是双引号方式的文件名,则在所述确定的待操作的配置文件中和所述文件包含指令所指定的路径中进行首次查找双引号中的文件名;如果所述首次查找未查找到所述文件包含指令对应的文件,则在所述源代码目录中进行再次查找双引号中的文件;
    第二查找单元172,用于如果所述解析单元11解析到文件包含指令对应的文件名是宏名称,则在所述配置信息树的当前节点对应的子节点的内容信息中查找所述宏名称;
    查找解析单元173,用于解析所述第一查找单元171或第二查找单元172查找到的文件。
    本实施例中,输出单元14在输出配置信息树中各个节点的信息时,还可以输出注释处理单元15中储存的宏注释信息,还可以输出文件包含处理单元17中查找解析单元173解析的查找到文件的信息。
    本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM)、随机存取存储器(RAM)、磁盘或光盘等。
    以上对本发明实施例所提供的程序配置信息的获取方法和装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

    关 键 词:
    一种 程序 配置 信息 获取 方法 装置
      专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:一种程序配置信息的获取方法和装置.pdf
    链接地址://www.4mum.com.cn/p-5779417.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们

    [email protected] 2017-2018 www.4mum.com.cn网站版权所有
    经营许可证编号:粤ICP备17046363号-1 
     


    收起
    展开
  • 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03