首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
基于逆波兰记号电信计费话单过滤算法设计
来源:本站整理  作者:佚名  2011-08-21 07:42:42



  3.5 话单过滤表达式运算算法的实现

  话单过滤表达式最终将形成布尔值结果真或假,由此来判定该张话单是否被系统过滤。算法分为语法分析、业务逻辑处理两个部分。语法分析是利用堆栈运算分解出原子表达式的过程;业务逻辑处理是针对原子表达式的语义作出相应的业务处理并求得该原子表达式的布尔值。以下是算法的伪C语言代码:

  STACK stack;

  Bool result;

  String suffixexpress;

  Bool SyntaxAnlysis(suffixexpress){

  SETNULL(stack);

  Terminalsymb=GetNextTerminalsymb(suffixexpress);

  While (!IsNull(Terminalsymb)) {

  Switch(Terminalsymb){

  Case A to N     PUSH(stack,Terminalsymbol);

  Case > to =

  POP(stack,value);

  POP(stack,factor_code);

  Comparesymb=Terminalsymb;

  Result=LogICProcess(factor_code,Com

  paresymbol,value);

  PUSH(stack,result)

  Case  ∪,∩

  POP(stack,result1);

  POP(stack,result2);

  Logicalsymb=Terminalsymb;

  Result=BoolProcess(result1,Logicalsymbol,result2);

  PUSH(stack,result);

  }

  Terminalsymbol=GetNextTerminalsymbol(suffixexpress);

  }

  return TOP(stack);

  }

  在设计和开发湖南电信本地网计费系统过程中,运用逆波兰记号和堆栈技术,基于ANSI C/C++开发环境成功完成了计费预处理的话单过滤系统。本算法稍加修改和扩充就可以应用到大部分涉及格式化文本和数据库记录过滤的应用中。

上一页  [1] [2] [3] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:229,976.60000 毫秒