自动机实验

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

时间: 2024-12-18 18:56:01

自动机实验的相关文章

12.03自动机实验

#include<stdio.h>#define MAX 100typedef 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("//在这里是做把'()'里的字符串里的语句初步进行

1203—颜文生—自动机实验

#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("//在这里是做把'()'里的

[C#] 逆袭——自制日刷千题的AC自动机攻克HDU OJ

前言 做过杭电.浙大或是北大等ACM题库的人一定对“刷题”不陌生,以杭电OJ为例:首先打开首页(http://acm.hdu.edu.cn/),然后登陆,接着找到“Online Exercise”下的“Problem Archive”,然后从众多题目中选择一个进行读题.构思.编程.然后提交.最后查看题解状态,如果AC了表示这一题被攻克了,否则就要重做了~一般情况下,“刷题”要求精神高度集中且经验丰富,否则很难成功AC,有时候甚至做一题要浪费半天的时间!(有时网速卡了,比抢火车票还要急!) 楼主在

实验三

一.        实验目的 1.掌握有穷状态自动机的概念:  2.掌握有穷状态自动机的存储及表示方法:3.掌握有穷状态自动机与正则式之间的关系. 实验内容和要求 1.输入正规式: 2.构造该正规式的有穷状态自动机: 3. 以五元组形式输出. 练习: 2  (a|b)*abb 2  l(l|d)* 2  1(1010*|1(010)*1)*0   #include <stdio.h> //s为初态,z为终态 int in(int s,int z) { if(s == z) { printf(&

元胞自动机+生命游戏

元胞自动机 元胞自动机(Cellular Automaton,复数为Cellular Automata,简称CA,也有人译为细胞自动机.点格自动机.分子自动机或单元自动机).是一时间和空间都离散的动力系统.散布在规则格网 (Lattice Grid)中的每一元胞(Cell)取有限的离散状态,遵循同样的作用规则,依据确定的局部规则作同步更新.大量元胞通过简单的相互作用而构成动态系统的演化. 不同于一般的动力学模型,元胞自动机不是由严格定义的物理方程或函数确定,而是用一系列模型构造的规则构成.凡是满

实验三 有限自动机的构造与识别

一.实验目标 1.掌握有穷状态自动机的概念: 2.掌握有穷状态自动机的存储及表示方法: 3.掌握有穷状态自动机与正则式之间的关系. 二.实验要求 1.输入正规式: 2.构造该正规式的有穷状态自动机: 3. 以五元组形式输出. 三.算法 参见教材的转换规则. 练习: 2  (a|b)*abb 2  l(l|d)* 2  1(1010*|1(010)*1)*0 四.完成算法设计.编码和调试工作,完成实验报告. #include<string.h> #include<stdio.h> #

实验三有限自动机的构造与识别

#include<stdio.h> #include <ctype.h> #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=

有穷状态自动机

实验三有限自动机的构造与识别 专业:商业软件工程   姓名:陈蔓嘉  学号:201506110245 一.   实验目的 1.掌握有穷状态自动机的概念: 2.掌握有穷状态自动机的存储及表示方法: 3.掌握有穷状态自动机与正则式之间的关系. 二.   实验要求 1.输入正规式: 2.构造该正规式的有穷状态自动机: 3. 以五元组形式输出. 三.    算法 1. 参见教材的转换规则. 四.  实验方法.步骤及结果测试 实验方法: 源程序名:压缩包文件(rar或zip)词法分析程序.zip 源程序名

中文分词系列(二) 基于双数组Tire树的AC自动机

秉着能偷懒就偷懒的精神,关于AC自动机本来不想看的,但是HanLp的源码中用户自定义词典的识别是用的AC自动机实现的.唉-没办法,还是看看吧 AC自动机理论 Aho Corasick自动机,简称AC自动机,要学会AC自动机,我们必须知道什么是Trie,也就是字典树.Trie树,又称单词查找树或键树,是一种树形结构,是一种哈希树的变种.典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计.它的优点是:最大限度地减少无谓的字符串比较,查询效率比哈希表高.之