码迷,mamicode.com
首页 > 其他好文 > 详细

有穷自动机

时间:2015-12-03 21:26:29      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:

#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);    //用于转换正规式。
}

有穷自动机

标签:

原文地址:http://www.cnblogs.com/7763255qw/p/5017533.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!