有穷自动机
#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);??? //用于轉換正規式。
}
轉載于:https://www.cnblogs.com/7763255qw/p/5017533.html
總結
- 上一篇: centos 下 django 1.8
- 下一篇: 记录EntityValidationEr