资源简介
(1)Lex输入文件的解析:
·主函数main()实现对Lex输入文件结构的解析
·int checkType(char c)函数判断是定义段开始?定义段结束?规则段?
(2)正规表达式的解析:
·void replaceID(string &re)函数将用户标示id转换成re
·通过对正规表达式的解析的解析可以将规则段的模式部分全部转换成正规表达式
(3)一个正规表达式到NFA的转换算法的实现
·void generateNFA(const string & re,vector<list > &tnfa,vector &isTer,int index)函数完成正规表达式到NFA的转换
其中:re:正规表达式
tnfa:数据结构是vector<list>,即NFA的每个结点是list
(关于NFA的数据结构的描述见后面)
isTer:统计tnfa中接受状态结点(isTer[i]!=0表示结点i为接受态)
(3)多个NFA的合并
·void joinNFA(vector<list > &nfa1,const vector<list > &nfa2)
函数完成了NFA nfa1和nfa2的合并,从总体来看起到所有NFA的合并
·合并NFA的基本原理:将nfa2的开始的点中的内容全部拷贝给nfa1的开始结点然后,再把nfa2中除了开始点以外的点连接到nfa1的末尾即可,注意结点编号的变化
(4)NFA的确定化算法的实现
·void TODFA()函数完成NFA到DFA的转换
·在进行NFA确定化算法的同时,自动机的接受态集合也做相应的变换
vector nfaIsTer vector dfaIsTer

代码片段和文件信息
#include
#include
#include//文件流
#include
#include//栈
#include//容器
#include//链表
#include
#include
#include
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2008-11-20 10:30 SeuLex椤圭洰\
目录 0 2008-11-20 10:30 SeuLex椤圭洰\debug\
目录 0 2008-11-20 10:30 SeuLex椤圭洰\SeuLex椤圭洰\
目录 0 2008-11-20 10:30 SeuLex椤圭洰\SeuLex椤圭洰\Debug\
文件 198656 2002-12-31 21:02 SeuLex椤圭洰\缂栬瘧鍘熺悊璇剧▼璁捐鎶ュ憡锛圫euLex锛?doc
文件 24064 2002-12-31 21:07 SeuLex椤圭洰\SeuLex椤圭洰.suo
文件 901 2002-12-31 16:22 SeuLex椤圭洰\SeuLex椤圭洰.sln
文件 2608128 2002-12-31 21:07 SeuLex椤圭洰\SeuLex椤圭洰.ncb
文件 2173952 2002-12-31 21:05 SeuLex椤圭洰\debug\SeuLex椤圭洰.pdb
文件 998092 2002-12-31 21:05 SeuLex椤圭洰\debug\SeuLex椤圭洰.ilk
文件 385024 2002-12-31 21:05 SeuLex椤圭洰\debug\SeuLex椤圭洰.exe
文件 68608 2002-12-31 16:25 SeuLex椤圭洰\SeuLex椤圭洰\~WRL2183.tmp
文件 68096 2003-01-01 06:54 SeuLex椤圭洰\SeuLex椤圭洰\~WRL1189.tmp
文件 162 2002-12-31 16:19 SeuLex椤圭洰\SeuLex椤圭洰\~$鍘熺悊璇剧▼璁捐鎶ュ憡锛圫euLex锛?doc
文件 702 2003-01-01 05:25 SeuLex椤圭洰\SeuLex椤圭洰\yytab.h
文件 59224 2002-12-31 21:05 SeuLex椤圭洰\SeuLex椤圭洰\yylex.cpp
文件 1427 2002-12-31 21:07 SeuLex椤圭洰\SeuLex椤圭洰\SeuLex椤圭洰.vcproj.0F9C05CB33D74C5.d4234ggdh.user
文件 3976 2002-12-31 16:24 SeuLex椤圭洰\SeuLex椤圭洰\SeuLex椤圭洰.vcproj
文件 23378 2002-12-31 20:58 SeuLex椤圭洰\SeuLex椤圭洰\seulex.cpp
文件 8199 2002-12-31 21:05 SeuLex椤圭洰\SeuLex椤圭洰\Re_Act_NFA.txt
文件 568 2002-12-31 21:03 SeuLex椤圭洰\SeuLex椤圭洰\ReadMe.txt
文件 7300 2002-12-31 21:05 SeuLex椤圭洰\SeuLex椤圭洰\NFA.txt
文件 1816 2003-01-01 05:31 SeuLex椤圭洰\SeuLex椤圭洰\lex.l
文件 12912 2002-12-31 21:05 SeuLex椤圭洰\SeuLex椤圭洰\DFA.txt
文件 446464 2002-12-31 21:05 SeuLex椤圭洰\SeuLex椤圭洰\Debug\vc80.pdb
文件 232448 2002-12-31 21:05 SeuLex椤圭洰\SeuLex椤圭洰\Debug\vc80.idb
文件 385 2002-12-31 21:05 SeuLex椤圭洰\SeuLex椤圭洰\Debug\SeuLex椤圭洰.exe.intermediate.manifest
文件 468 2002-12-31 21:05 SeuLex椤圭洰\SeuLex椤圭洰\Debug\SeuLex椤圭洰.exe.em
文件 403 2002-12-31 21:05 SeuLex椤圭洰\SeuLex椤圭洰\Debug\SeuLex椤圭洰.exe.em
文件 2088203 2002-12-31 21:05 SeuLex椤圭洰\SeuLex椤圭洰\Debug\seulex.obj
文件 64 2002-12-31 21:05 SeuLex椤圭洰\SeuLex椤圭洰\Debug\mt.dep
............此处省略1个文件信息
相关资源
- 编译原理实验工具及参考源码(lex&
- 类pascal语言编译器(编译原理实验)
- 编译原理课程设计:词法语法编译器
- 中科院 编译原理 习题及解答
- 编译原理四元式和逆波兰式
- 《编译原理》清华大学版中的pl0扩充
- PL/0功能扩充break功能
- 编译原理LR(0)语法分析
- 编译原理中间代码生成程序
- 编译原理:LR分析程序
- 编译原理实验:词法分析,语法分析
- 吉林大学编译原理课件
- 编译原理龙书答案
- 编译原理 第三章课后习题答案
- 易语言变量和数组的编译原理
- 编译原理语法分析器、词法分析器
- 山东大学编译原理PL/0语言 compiler实验
- FOR循环语句的翻译程序设计简单优先
- NFA的确定化NFA->DFA完整可运行代码
- 哈工大威海编译原理实验报告和源代
- 哈工大威海-编译原理实验报告和源码
- 编译原理课设c编译器
- 赋值语句翻译四元式
- 河北工业大学编译原理实验代码及实
- 编译原理课程设计 while do循环语句翻
- 编译原理课程设计do——while简单优先
- 南开大学编译原理课件及作业
- 华工往年编译原理试卷
- 编译原理课程设计for循环LR法三元式
- 哈工程-编译原理课程设计(2016级)
评论
共有 条评论