• 大小: 3KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-01-08
  • 语言: C/C++
  • 标签: 编程方法  

资源简介

【问题描述】: 输入一个正则表达式,然后将此正则表达式转换为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

评论

共有 条评论

相关资源