資源簡介
【問題描述】:
輸入一個正則表達式,然后將此正則表達式轉換為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++編寫加水印源碼詳細
評論
共有 條評論