【网学提醒】:本文主要为网上学习者提供业务规则引擎词法分析 ,希望对需要业务规则引擎词法分析 网友有所帮助,学习一下吧!
资料包括: 论文(39页13620字) 任务书 开题报告
说明:摘 要:编译程序的工作贯穿从输入源程序开始到输出目标程序为止的整个过程,是非常复杂的。一般来说,整个过程可以划分为五个阶段:词法分析、语法分析、中间代码生成、优化和目标代码生成。
本设计即为业务规则引擎词法分析 。词法分析阶段是编译过程的第一个阶段。这个阶段的任务是从左至右扫描源程序的字符串,按照词法规则(正则文法规则)识别出一个个正确的单词,并转换成该单词相应的二元式(种别码、属性值)交给语法分析使用。因此,词法分析是编译的基础。执行词法分析的程序称为词法分析器。
词法分析是从输入的源程序中,识别出每个具有独立意义的单词,即基本保留字(关键字)、标识符、常数、运算符、分隔符五大类,剔除空格与转义字符,并依次输出各个单词的内部编码及单词符号自身值。
关键词:词法分析;原词;编译原理;记号
Business rules engine Lexical Analysis
Abstract :Compiler runs through the work started from the source input to output targets procedures of the whole process is very complex. Generally, the whole process can be divided into five phases: lexical analysis, grammar analysis, intermediate code generation, optimization and target code generation.
This is the lexical analysis of the design stage. Lexical analysis stage is to build the first phase of the process. This phase of the mission is scanned from left to right source of the string, in accordance with the rules of morphology (Regular Grammar rules) to identify the correct one word, and converted into the corresponding dual-word (category codes, property values ) To the analysis of the use of grammar. Therefore, the lexical analysis is compiled based. Lexical analysis of the implementation of the procedure known as the lexical analyzer.
Lexical analysis is imported from the source, identify each has an independent significance of the word, namely, the basic reservations about the word (keywords), the identifier, constant, the operator, separators top-five, remove spaces and escape, And the words were out of the internal code words and symbols its own value.
Key Words: Lexical analysis; Vocable; Compilers; Principles; Token
1. 绪论
1.1课题背景及来源
本课题主要是通过一定业务规则进行简单的词法分析,而业务规则引擎来自于企业中一些严格的要求。复杂企业级项目的开发以及其中随外部条件不断变化的业务规则(Business Logic),迫切需要分离商业决策者的商业决策逻辑和应用开发者的技术决策,并把这些商业决策放在中心数据库或其他统一的地方,让它们能在运行时(即商务时间)可以动态地管理和修改从而提供软件系统的柔性和适应性。规则引擎正是应用于上述动态环境中的一种解决方法。
企业管理者对企业级IT系统的开发有着如下的要求:
1)为提高效率,管理流程必须自动化,即使现代商业规则异常复杂;
2)市场要求业务规则经常变化,IT系统必须依据业务规则的变化快速、低成本的更新;
3)为了快速、低成本的更新,业务人员应能直接管理IT系统中的规则,不需要程序开发人员参与。
而项目开发人员则碰到了以下问题:
1)程序=算法+数据结构,有些复杂的商业规则很难推导出算法和抽象出数据模型;
2)软件工程要求从需求->设计->编码,然而业务规则常常在需求阶段可能还没有明确,在设计和编码后还在变化,业务规则往往嵌在系统各处代码中
3)对程序员来说,系统已经维护,更新困难,更不可能让业务人员来管理。
基于规则的专家系统的出现给开发人员以解决问题的契机。规则引擎由基于规则的专家系统中的推理引擎发展而来。
目录:1.绪论1
1.1课题背景及来源1
1.2课题研究的目标及意义1
1.3编译器发展历史及前景2
1.4本论文组织结构3
2.项目介绍及方案概述4
2.1编译器的构造4
2.1.1编译
程序的引进4
2.1.2编译
程序的功能4
2.1.3编译
程序的构造5
2.2词法分析器构造实践之必要性5
3.业务规则引擎词法分析之过程分析6
3.1扫描处理6
3.2正则表达式8
3.3有穷自动机9
3.4从正则表达式到DFA10
3.4.1从正则表达式到NFA11
3.4.2从NFA到DFA12
3.4.3利用子集构造模拟NFA13
3.4.5将DFA中的状态数最小化13
4.词法分析器的设计与实现15
4.1词法分析器设计目的15
4.2词法分析器设计要求15
4.3算法设计思想15
4.3.1 Token编码15
4.3.2函数构成19
4.3.3注意事项23
4.4词法分析流程图23
4.4.1词法分析输入输出总体流程图23
4.4.2判断标识符和数字的流程图25
4.4.3函数dealword判别字符串流程图25
4.5词法分析结果28
4.5.1正确分析结果28
4.5.2异常处理结果28
4.5.3词法分析结果界面显示29
5.总结31
致谢32
参考文献33
参考文献: 高琰,谷士文,谭立球,费耀平.基于Lucene的
搜索引擎设计与实现.微机发展[J].2004.14(10):27-30
吴栋,滕育平.中文信息检索引擎中的若干技术[J].
计算机应用.2004. (7):128-131
Martin Pinzger. HaraId gall: Pattern-supported architecture re-covery[C] IWPC,2002
http://www.sogou.com/docs/about.htm. 2006.4.17
闫俊英.垂直搜索引擎的研究与实现.硕士学位论文[D],哈尔滨工业大学,2004.3
陈小荷.现代汉语自动分析---- Visual C++ 实现[M].北京:北京语言文化大学出版社,2000
李建中,姜守旭等译,编译原理[M].北京:机械工业出版社, 2005.1
赵铁军等著.机器翻译原理[M].哈尔滨:哈尔滨工业大学出版社,2000
Kenneth C.Louden著, 冯博琴, 冯岚译.编译原理及实践[M].北京:机械工业出版社,2000
陈杰.主题搜索引擎中网络蜘蛛搜索策略研究.硕士学位论文[D],浙江大学,2006.2
黄昌宁等译.自然语言理解与机器翻译[M].北京:清华大学出版社,2001
黄河燕.机器翻译研究进展[M].北京:北京电子工业出版社,2002
李东升.主题搜索引擎研究.哈尔滨工程大学硕士学位论文[D].2005.2
周明德.微型
计算机系统原理及应用(第四版)[M].北京:清华大学出版社,2002
[15] 张幸儿.
计算机编译原理----编译程序构造实践[M].北京:科学出版社,2006.5
[16] 李顺增,吴国东,赵河明,乔志伟.微机原理及接口技术[M].北京:机械工业出版社,2006
[17] 李晓明,闫宏飞,王继民著.搜索引擎- 原理、技术与系统[M].科学出版社,2005.4
[18] 蒋立源等著,编译原理[M].西北工业大学出版社
[19] Stanley B. Lippman Barbara E. Moo Josée LaJoie. C++ Primer[M]. 2006.3
[20] 严蔚敏,吴伟民.数据结构[M].北京:清华大学出版社,1992
[21] Bruce Eckel, 刘宗田等译.Thinking in C++. 机械工业出版社,2000
[22] 陈慧南.数据结构C++语言描述[M].北京:人民邮电出版社,2005.3
[23] 侯捷译.Inside the C++ Object Model[M].华中科技大学出版社
[24] 蒋本珊.
计算机组成原理[M].北京:清华大学出版社,2004.3
[25] David A.Patterson, 郑纬民.
计算机组成和设计[M].北京:清华大学出版社,2003.12
作者点评:随着
计算机语言的结构越来越复杂,为了开发优秀的编译器,人们已经渐渐感到将词法分析独立出来做研究的重要性。不过词法分析器的作用却不限于此。我们有时候建立了比较复杂的配置文件,譬如XML的时候,分析器首先也要对该文件进行词法分析,把整个字符串断成了一个一个比较短小的记号(指的是具有某种属性的字符串),之后才进行结构上的分析。再者,在实现某种控制台应用程序的时候,程序需要分析用户打进屏幕的命令。如果该命令足够复杂的话,我们也首先要对这个命令进行词法分析,之后得到的结果会大大方便进行接下去的工作。
本毕业设计从开题到完成论文,总耗时三个多月。通过这次毕业设计的锻炼以及毕业论文的撰写,让我学习到了许多。
首先,使得我在平时在课堂上所学习到的东西得到了一次实践的机会,让我体验到了实践与理论结合才能发挥巨大的作用这句话的真正含义。
在整个开发过程中,遇到了一些问题阻碍了开发工作的实行。在整个开发过程之中,我的指导老师马征老师给了我很大的帮助。同时,我也向同学们进行了请教,他们也很热心的帮助了我,在通过了他们的帮助以及自己的努力之下,工作渐渐有了起色。让我得以在规定时间之内完成了毕业设计,达到了规定的要求。不仅使自身的专业技能得到很大程度的提升,还让我涉足到许多新的知识领域,拓宽了知识面,为今后的实际工作打下了坚实的基础。从中学习到的内容,让我受益匪浅。