资源简介
【问题描述】:
输入一个正则表达式,然后将此正则表达式转换为NFA,最后将此NFA输出
【实验要求】:
写出程序运行环境, 体会,程序结构,程序清单, 典型结果,以及结果分析
【程序运行环境】:
此程序是在Visual C++下,新建一个C++ sourse file,然后编译通过
代码片段和文件信息
#include
#include
#define CMAX 50
#define AMAX 50
void welcome()
{
cout<<“************************************************************“< cout<<“ 实验一 : 正则表达式转换成NFA “< cout<<“************************************************************“< cout<<“请你输入正则表达式(如果输入的是#则表示字符串已经结束了)“< }
void main()
{
int ij; //循环变量
char tab[CMAX][CMAX];//存放NFA的有向弧线表
int k=0; //状态计数器
int t=0; //已经到达的状态(并非NFA的终态单元)
int st0=0; //分支开始状态
int st1; //分支结束状态
int q=0; //标号值
char sym; //暂时保留正则表达式的一个字母
char a[AMAX]; //正规表达式的字母表
int stack[AMAX]; //堆栈
int top=0;
int z=1;
//初始化有向弧线表,令它为空
for(i=0;i {
for(j=0;j
- 上一篇:C++简易数据库系统源代码 文档
- 下一篇:C++编写加水印源码详细
评论
共有 条评论