#include<stdio.h>
#define MAX 100
typedef struct //構造一個鄰接表 用于存儲NFA
{
char name;
char line[MAX];
}node;
void tran(){ //專門做語句的轉換操作
}
void automata(char R[],int i){
int j = 0;
int n = i;
while(R[j] != '#'){
if(R[i] == '(')
printf("//在這裡是做把'()'裡的字元串裡的語句初步進行轉換,進行遞歸分解");
//在這裡是做把'()'裡的字元串裡的語句初步進行轉換,進行遞歸分解
else if(R[i] == '|'){
printf("//在這裡就是把A和B兩個狀态節點分成 語句1 | 語句2 分成兩路連接配接");
//在這裡就是把A和B兩個狀态節點分成 語句1 | 語句2 分成兩路連接配接
else if(R[i] == '*'){
printf("//在這裡就是把前一個狀态節點進行自循環。");
//在這裡就是把前一個狀态節點進行自循環。
else{
//在這裡進行一般的轉換。
printf("//在這裡進行一般的轉換");
j++;
void main()
char R[MAX];
int i=0;
printf("請輸入要轉換的正規式:\n");
while(R[i-1] != '#'){
scanf("%c",&R[i]);
i++;
automata(R,i); //用于轉換正規式。