1.一种条件编译预处理方法,所述方法包括:
获取待处理的原程序文本;
对所述原程序文本进行分析,根据预设的正则表达式匹配出对应的关键字并输出相应的标记;
根据所述标记和预设的条件编译语法规则匹配出相应的事件;
根据当前状态和所述事件确定相应的处理动作;
根据确定的所述处理动作对所述原程序文本进行对应的处理,输出处理后的目标程序文本。
2.根据权利要求1所述的方法,其特征在于,所述根据当前状态和所述事件确定相应的处理动作的步骤包括:
根据当前状态和所述事件确定下一步状态;
根据所述下一步状态确定相应的处理动作。
3.根据权利要求1所述的方法,其特征在于,所述根据确定的所述处理动作对所述原程序文本进行对应的处理,输出处理后的目标程序文本的步骤包括:
将确定的所述处理动作添加到动作列表;
根据所述动作列表对所述原程序文本执行对应的处理动作,输出处理后的目标程序文本。
4.根据权利要求1所述的方法,其特征在于,所述根据所述标记和预设的条件编译语法规则匹配出相应的事件的步骤还包括:
根据所述标记和预设的条件编译语法规则进行匹配,当匹配到包含宏名称的条件语句时,向宏定义管理器查询与所述宏名称对应的定义及相应的值以进行条件判断,根据所述条件判断的结果匹配出相应的事件。
5.根据权利要求1所述的方法,其特征在于,所述对所述原程序文本进行分析,根据预设的正则表达式匹配出对应的关键字并输出相应的标记的步骤包括:
对所述原程序文本进行分析,根据预设的正则表达式匹配出对应的关键字,记录所述关键字所在的行号,输出相应的标记和对应的行号;
所述根据确定的所述处理动作对所述原程序文本进行对应的处理,输出处理后的目标程序文本的步骤包括:
根据所述处理动作的类型和对应的行号执行对应的处理动作,输出处理后的目标程序文本。
6.一种条件编译预处理装置,其特征在于,所述装置包括:
获取模块,用于获取待处理的原程序文本;
输出模块,用于对所述原程序文本进行分析,根据预设的正则表达式匹配出对应的关键字并输出相应的标记;
匹配模块,用于根据所述标记和预设的条件编译语法规则匹配出相应的事件;
确定模块,用于根据当前状态和所述事件确定相应的处理动作;
处理模块,用于根据确定的所述处理动作对所述原程序文本进行对应的处理,输出处理后的目标程序文本。
7.根据权利要求6所述的装置,其特征在于,所述确定模块还用于根据当前状态和所述事件确定下一步状态,根据所述下一步状态确定相应的处理动作。
8.根据权利要求6所述的装置,其特征在于,所述处理模块还用于将确定的所述处理动作添加到动作列表,根据所述动作列表对所述原程序文本执行对应的处理动作,输出处理后的目标程序文本。
9.根据权利要求6所述的装置,其特征在于,所述匹配模块还用于根据所述标记和预设的条件编译语法规则进行匹配,当匹配到包含宏名称的条件语句时,向宏定义管理器查询与所述宏名称对应的定义及相应的值以进行条件判断,根据所述条件判断的结果匹配出相应的事件。
10.根据权利要求6所述的装置,其特征在于,所述输出模块还用于对所述原程序文本进行分析,根据预设的正则表达式匹配出对应的关键字,记录所述关键字所在的行号,输出相应的标记和对应的行号;
所述处理模块还用于根据所述处理动作的类型和对应的行号执行对应的处理动作,输出处理后的目标程序文本。