基于表达式的评价指标解析系统的制作方法

文档序号:6627937阅读:390来源:国知局
基于表达式的评价指标解析系统的制作方法
【专利摘要】本发明的目的在于提供一种基于表达式的评价指标解析系统,包括:评价指标表达式语法定义模块、表达式配置模块和表达式解析模块三部分。该系统能够实现将评价指标的评价逻辑交给用户来设置,使得用户能及时的对项目评价指标的变更,同时系统又能实时的解析评价指标,及时的使用新的评价标准逻辑进行项目评价。
【专利说明】基于表达式的评价指标解析系统

【技术领域】
[0001] 本发明涉及一套基于表达式的评价指标解析系统,尤其是用户能按照评价标准文 档灵活的设置评价指标表达式,同时系统使用评价表达式中的逻辑对评价指标进行自动计 算,获取评价结果。

【背景技术】
[0002] 目前,绝大部分对评价标准的解析都是不够灵活的,由于评价指标不是一成不变 的,通常每隔一段时间就需要修编,针对这种情况系统必须要提供评价指标的修改,同时还 要求系统能够识别并解析用户设置的评价指标两大功能,只有这样才能达到灵活自动评价 的目的。目前少数的类似系统中,在响应评价指标变更方面都做得不好,通常都是将评价指 标的评价逻辑写入在代码中,后期用户难以调整评价指标,无法响应评价指标的变更,而另 一种改进的办法是使用存储过程来实现评价指标的解析,这种解决方案虽然带有一定的灵 活性,但是客户还是不能独立的完成评价指标的变更,需要把新的评价指标给开发人员,然 后由开发人员去调整存储过程。这两种方案都只实现系统识别评价指标的功能,而用户修 改评价指标的功能都是缺失的。造成这一问题的原因是在技术上难以实现一套既可以简单 的将评价指标的文字指标转换成计算机可识别的指标,用户容易上手,又足有灵活的在线 修改评价指标的方案。


【发明内容】

[0003] 为了克服现有的解决方案无法灵活编辑评价指标,本发明的目的在于提供一种简 便的、可以由用户设置评价标准的基于表达式的评价指标解析系统,该系统能够实现将评 价指标的评价逻辑交给用户来设置,使得用户能及时的对项目评价指标的变更,同时系统 又能实时的解析评价指标,及时的使用新的评价标准逻辑进行项目评价。
[0004] 本发明通过如下技术方案实现上述发明目的:
[0005] -种基于表达式的评价指标解析系统,包括:评价指标表达式语法定义模块、表达 式配置模块和表达式解析模块三部分;
[0006] 所述评价指标表达式语法定义模块,使用开源语法分析器ANTLR - Another Tool for Language Recognition (以下简称ANTLR工具),定义了一套解析评价指标表达式的语 法规则。
[0007] 所述评价指标表达式语法定义模块,包含一个供ANTLR工具使用的语法规则文 件,语法规则文件中使用ANTLR工具文法定义中的词法定义规则,定义系统中出现的所有 关键字、操作符及可识别的数据类型。同时在规则文件中通过ANTLR工具文法定义中的语 法定义规则及语法规则的嵌套来定义表达式语法中操作符的结构及操作符的优先级;
[0008] 所述评价指标表达式语法定义模块使用语法规则文件,由ANTLR工具生成词法分 析类(ExpressionLexer)和语法分析类(ExpressionParser) 〇
[0009] 所述表达式配置模块,用于配置和存储评价指标的评价表达式,所述配置和存储 评价指标的评价表达式的过程是:
[0010] 提供输入界面给用户输入评价指标表达式;
[0011] 获取用户输入的评价指标表达式后,把评价指标表达式保存到数据库中。
[0012] 所述评价表达式解析模块,从数据库中取出评价指标的评价表达式,调用所述评 价指标表达式语法定义模块的ANTRL工具自动生成的词法分析类(ExpressionLexer)和语 法分析类(ExpressionParser)对评价表达式进行词法分析和语法分析;所述词法分析和 语法分析的具体过程是:
[0013] 使用词法分析类(ExpressionLexer)结合ANTLR的提供的公共令牌流类 (CommonTokenStream)对评价指标表达式进行词法分析,然后把结果传递给语法分析类 (ExpressionParser)的表达式类(Expression)方法进行语法分析。
[0014] 所述评价表达式解析模块,在词法分析和语法分析后,使用ANTRL工具返回评价 指标表达式的抽象语法树。再按照后序遍历的方法遍历抽象语法树,并解析语法树种的每 一个节点,最后取得表达式的解析结果。
[0015] 本发明对比现有技术,有如下优点:
[0016] 1.用户能够自主、灵活地、随时地配置系统的评价指标的评价逻辑。本发明定义了 一套简单容易上手的表达式语法,用户可以很容易的把文字的评价指标,使用系统的表达 式语法配置出来。
[0017] 2.系统可以及时的响应评价指标的变化,本发明在数据库中存储的是评价指标 的评价逻辑,即用户定义的评价指标表达式,这种存储,使得系统及时的响应评价指标的变 化,同时使得评价指标的评价逻辑不受评价数据的影响。
[0018] 3.快速即时的获取评价结果。本发明是通过动态解析评价表达式来获取评价指标 的评价结果。评价表达式在项目评价的过程中,进行动态解析,并把实时的评价数据代入解 析过程,从而快速计算出实时评价结果。

【专利附图】

【附图说明】
[0019] 图1为固定资产投资项目后评价工作平台建设项目中的评价指标解析系统使用 流程图;
[0020] 图2为固定资产投资项目后评价工作平台建设项目中的评价指标解析系统的编 辑评价标准的界面图;
[0021] 图3为表达式抽象语法树;
[0022] 图4为固定资产投资项目后评价工作平台建设项目中的评价指标解析系统的项 目评价结果界面图。

【具体实施方式】
[0023] 本发明的实施方式是提供基于规则的可定义表达式的解析系统,如图1所示,包 含评价指标表达式语法定义模块、评价指标表达式配置模块和评价指标表达式解析模块三 部分。
[0024] 评价指标表达式语法定义模块,使用ANTLR工具的文法定义中的词法定义规则, 定义系统中出现的所有关键字、操作符及可识别的数据类型。通过文法定义中的语法定义 规则及语法规则的嵌套来定义表达式语法中合法表达式及操作符的优先级。
[0025] 系统中通过ANTLR工具定义的部分表达式语法规则如下所示:
[0026]

【权利要求】
1. 一种基于表达式的评价指标解析系统,其特征在于包括:评价指标表达式语法定义 模块、表达式配置模块和表达式解析模块三部分; 所述评价指标表达式语法定义模块,包含一个供ANTLR工具使用的语法规则文件, 语法规则文件中使用ANTLR工具文法定义中的词法定义规则,定义系统中出现的所有关 键字、操作符及可识别的数据类型;同时在规则文件中通过ANTLR工具文法定义中的语 法定义规则及语法规则的嵌套来定义表达式语法中操作符的结构及操作符的优先级; 所述评价指标表达式语法定义模块使用语法规则文件,由ANTLR工具生成词法分析类 (ExpressionLexer)和语法分析类(ExpressionParser); 所述表达式配置模块,用于配置和存储评价指标的评价表达式,所述配置和存储评价 指标的评价表达式的过程是: 提供输入界面给用户输入评价指标表达式; 获取用户输入的评价指标表达式后,把评价指标表达式保存到数据库中; 所述评价表达式解析模块,从数据库中取出评价指标的评价表达式,调用所述评价指 标表达式语法定义模块的ANTRL工具自动生成的词法分析类(ExpressionLexer)和语法分 析类(ExpressionParser)对评价表达式进行词法分析和语法分析; 所述评价表达式解析模块,在词法分析和语法分析后,使用ANTRL工具返回评价指标 表达式的抽象语法树;再按照后序遍历的方法遍历抽象语法树,并解析语法树种的每一个 节点,最后取得表达式的解析结果。
2. 根据权利要求1所述的系统,其特征在于:所述词法分析和语法分析的具体过程 是: 使用词法分析类结合ANTLR的提供的公共令牌流类(CommonTokenStream)对评价指标 表达式进行词法分析,然后把结果传递给语法分析类的表达式类(Expression)方法进行 语法分析。
【文档编号】G06F17/27GK104298657SQ201410490189
【公开日】2015年1月21日 申请日期:2014年9月23日 优先权日:2014年9月23日
【发明者】吴烈鑫, 陈辉祥, 陈铭, 张小辉, 韩淳, 刘晓玲, 张鑫 申请人:广东电网公司电网规划研究中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1