1118 實驗三 有限自動機的構造與識別

2022-05-26 03:54:07 字數 1360 閱讀 2934

#include

#include

#define ok 1

#define error 0

#define maxregluarlong 40

#define maxstatelong 40

#define maxcahrslong 40

typedef int state;

int icurrentstate=0; //初態以1開始

int iprestate=0;

int ilastforkstate=0;

int iforkstate=0;

int imaxstate=0;

char cregluarsting[maxregluarlong]; //輸入的正規式字串

char ccharset[maxcahrslong]; //字符集

int istatematrix[maxstatelong][maxcahrslong]; //狀態轉換矩陣

state vstoreregluarsting()//把字串讀入乙個緩衝區中

state vpreprocessregluarsting()

//對字串進行預處理,去掉字串裡面的對分析不產生影響

}i++;

}return ok;

}void vconstructstatematrix(char cchar,int istate)//構造狀態轉換矩陣

void vaanalyseregluarsting()//對字串進行從左到右的分析與處理

if(cregluarsting[i]=='|')

if(icharnumbeforl==1&&cregluarsting[i+2]=='|')

icurrentstate=iforkstate;

icharnumbeforl=0;

}if(cregluarsting[i]==')')}}

else

} }}

void vprintfstateprojectfunction()

void vprintfnfa()//輸出nfa

\n");

printf("\n狀態集s為:

printf("}\n\n");

vprintfstateprojectfunction();

printf("\n初態集s0為:\n\n");

printf("終態集f為:",imaxstate);

1118實驗三有限自動機的構造與識別

include include include int main 存放非終結符號 char vt 30 存放終結符號 printf 請輸入規則個數 scanf d n line n for i 0 i 30 i 給字串陣列p,q全部賦值為 0 for j 0 j 30 j printf 請輸入文法 ...

1118有限自動機的構造與識別

include include include intmain 存放非終結符號 char vt 30 存放終結符號 printf 請輸入規則個數 scanf d n line n for i 0 i 30 i 給字串陣列p q全部賦值為 0 for j 0 j 30 j printf 請輸入文法 n...

實驗三 有限自動機的構造與識別

實驗三 有限自動機的構造與識別 一 實驗目標 1 掌握有窮狀態自動機的概念 2 掌握有窮狀態自動機的儲存及表示方法 3 掌握有窮狀態自動機與正則式之間的關係。二 實驗要求 1 輸入正規式 2 構造該正規式的有窮狀態自動機 3.以五元組形式輸出。三 演算法 參見教材的轉換規則。練習 a b abb l...