资源简介
(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个文件信息
相关资源
- TINY 扩充语言的语法分析
- 合工大编译原理17级课件全.zip
- 编译原理第二版 陈意云 张昱
- 编译原理LL1分析程序
- 比特大战源代码
- 编译原理第2版—清华大学出版社
- 南京理工大学编译原理课后习题答案
- 编译原理实验decaf_PA2
- 小型编译器
- 编译原理词法分析语法分析
- 编译原理胡元义第三版课后答案
- 哈工大编译原理习题及答案
- LR0文法分析器32349
- 编译原理课程实验常州工学院,比较
- 编译原理教材清华大学版答案
- 编译原理_Tiny+语法分析
- 编译原理综合课程设计
- 编译原理课后习题答案 清华大学 第二
- 编译原理课件_本科版
- 川大编译原理PPT-2017
- 编译原理课程设计
- 编译原理-Oberon-0逆向工程工具ROSE.ra
- 上海大学计算机编译原理PPT
- 编译原理期末考试题
- 编译原理四元式生成
- 布尔表达式的递归下降翻译程序设计
- 编译原理_第二版_李文生.pdf
- 清华大学编译原理decaf实验pa1
- 广东工业大学编译原理课程设计
- 编译原理课程设计源代码和超强报告
评论
共有 条评论