编译原理中有限自动机程序

小驴 小驴 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

// B_1.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"


#include<stdio.h>

int exch[4][2]={1,2,3,2,1,3,3,3};//这个是2维数组吗?具体是怎么样的
void judge(char *s)
{
int cur = 0, i = 0;
while(s[i])
{
if(s[i]-'a' > 1||s[i] < 'a')
break;
cur=exch[cur][ s[i++] - 'a'];//这一句怎么理解?
}
if(s[i] == 0 && cur == 3)
printf("%s √ Right!\n\n",s);
else printf("%s × Wrong!\n\n",s);
}

void main()
{
char str[100];
while(1)
{
printf("有限自动机,判断是否符合 (a|b)*(aa|bb)(a|b)*正则式\n");
printf("请输入字符串: ");
gets(str);
judge(str);
}
}


...全文

相关推荐

编译原理课程2017年秋季学期四个核心实验项目集合_包含简单的C语言词法分析器实现有限自动机的确定化与最小化递归下降分析子程序构建以及LL1语法分析器的设计与开发_旨在通过实践深入.zip

编译原理课程2017年秋季学期四个核心实验项目集合_包含简单的C语言词法分析器实现有限自动机的确定化与最小化递归下降分析子程序构建以及LL1语法分析器的设计与开发_旨在通过实践深入.zip

A20250FSAF

编译原理-有限自动机.zip

编译原理课程实验-有限自动机的确定化和最小化: 实验目的:利用状态表和有限自动机的运行原理编写和设计程序,判断输入的自动机是DFA还是NFA,如果是NFA,利用子集法将其确定化,然后利用求同法或求异法将所得的DFA最小化。 实现功能:1.建议以文本文件形式来描述自动机,例如:第一行:表示状态个数;第二行开始表示为状态转换表;最后一行给出接受状态列表。2.根据读进去的自动机内容,判断其类别(NFA还是DFA?)。3.若是NFA,利用子集法将其确定化。4.将DFA最小化。5.输入测试符号串,输出测试结果。

沈吸热

正则式到有限自动机的自动转换 课程设计 好用

编译原理正则式到有限自动机的自动转换的课程设计报告...WORD文档,超好用

az14753

编译原理实验查填符号表(含源代码和运行结果)

编译原理实验查填符号表(含源代码和运行结果)

文档优选

杭电编译原理实验——有限自动机的确定化和最小化

利用状态表和有限自动机的运行原理编写和设计程序,判断输入的自动机是DFA还是NFA,如果是NFA,利用子集法将其确定化,然后利用求同法或求异法将所得的DFA最小化。

wr1zgz38
评论 6
收藏 已收藏
分享
返回顶部
小驴
C语言 70,040 成员 243,237 内容