资源简介
利用状态表和有限自动机的运行原理编写和设计程序,判断输入的自动机是DFA还是NFA,如果是NFA,利用子集法将其确定化,然后利用求同法或求异法将所得的DFA最小化。
代码片段和文件信息
# coding=utf-8
# compiler-exp2
import copy
from prettytable import PrettyTable
# 读取文件
file = open(“test/NFA1.txt“)
statecnt_s = file.readline()
endcnt_s = file.readline()
statecnt1 = int(statecnt_s)
endcnt = int(endcnt_s)
print(“该自动机的初始状态数为: %d“ % statecnt1)
endstates = []
for i in range(endcnt):
temp_s = file.readline()
temp = int(temp_s)
endstates.append(temp)
print(“该自动机的终结状态集为: “ end=‘‘)
for i in endstates:
print(i end=‘ ‘)
print(‘\r‘)
charcnt_s = file.readline()
charcnt = int(charcnt_s)
charlist = [“*“]
for i in range(charcnt):
char_s = file.readline()
charlist.append(char_s[0])
rulecnt_s = file.readline()
rulecnt = int(rulecnt_s)
print(“该自动机的转移边条数有: %d“ % rulecnt)
# 构造statedict1即原始的状态字典
statedict1 = {}
for i in range(0 statecnt1):
tempstate = []
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-09-20 09:31 exp2_finite_automata\
目录 0 2019-09-20 09:26 exp2_finite_automata\C++\
文件 136 2019-01-21 21:37 exp2_finite_automata\C++\NFA.txt
目录 0 2019-09-20 09:31 __MACOSX\
目录 0 2019-09-20 09:31 __MACOSX\exp2_finite_automata\
目录 0 2019-09-20 09:31 __MACOSX\exp2_finite_automata\C++\
文件 174 2019-01-21 21:37 __MACOSX\exp2_finite_automata\C++\._NFA.txt
文件 61 2019-01-21 21:37 exp2_finite_automata\C++\DFA.txt
文件 174 2019-01-21 21:37 __MACOSX\exp2_finite_automata\C++\._DFA.txt
文件 5487 2019-01-21 21:37 exp2_finite_automata\C++\main.cpp
文件 174 2019-01-21 21:37 __MACOSX\exp2_finite_automata\C++\._main.cpp
文件 174 2019-09-20 09:26 __MACOSX\exp2_finite_automata\._C++
文件 6148 2019-09-20 09:30 exp2_finite_automata\.DS_Store
文件 120 2019-09-20 09:30 __MACOSX\exp2_finite_automata\._.DS_Store
目录 0 2019-09-20 09:26 exp2_finite_automata\test\
文件 333 2019-01-21 21:37 exp2_finite_automata\test\杈撳叆鏂囦欢鏍蜂緥.txt
目录 0 2019-09-20 09:31 __MACOSX\exp2_finite_automata\test\
文件 174 2019-01-21 21:37 __MACOSX\exp2_finite_automata\test\._杈撳叆鏂囦欢鏍蜂緥.txt
文件 55 2019-01-21 21:37 exp2_finite_automata\test\DFA2.txt
文件 174 2019-01-21 21:37 __MACOSX\exp2_finite_automata\test\._DFA2.txt
文件 104 2019-01-21 21:37 exp2_finite_automata\test\DFA3.txt
文件 174 2019-01-21 21:37 __MACOSX\exp2_finite_automata\test\._DFA3.txt
文件 61 2019-01-21 21:37 exp2_finite_automata\test\DFA1.txt
文件 174 2019-01-21 21:37 __MACOSX\exp2_finite_automata\test\._DFA1.txt
文件 80 2019-01-21 21:37 exp2_finite_automata\test\NFA5.txt
文件 174 2019-01-21 21:37 __MACOSX\exp2_finite_automata\test\._NFA5.txt
文件 80 2019-01-21 21:37 exp2_finite_automata\test\NFA4.txt
文件 174 2019-01-21 21:37 __MACOSX\exp2_finite_automata\test\._NFA4.txt
文件 95 2019-01-21 21:37 exp2_finite_automata\test\NFA1.txt
文件 174 2019-01-21 21:37 __MACOSX\exp2_finite_automata\test\._NFA1.txt
文件 55 2019-01-21 21:37 exp2_finite_automata\test\NFA3.txt
............此处省略13个文件信息
相关资源
- 《编译原理及实践》pdf以及随书源码
- 编译原理课程设计,PL0程序代码和报
- 数据结构教程第2版李春葆编的上机实
- 编译原理词法分析实验报告内含截图
- 编译原理课程结课论文-关于编译原理
- 北邮编译原理第二次实验报告LL(1)
- 广工编译原理实验
- LR分析器总控程序的实现
- 编译原理——词法分析代码
- 实验一 词法分析程序实现
- 编译原理实验二:压缩文法的等价变
- 编译原理 将词法、语法、代码生成等
- 编译原理自底向上分析法
- 西北工业大学C上机考试2
- 编译原理课程设计-PL0编译程序
- 清华大学-编译原理
- 编译原理 词法、语法、语义分析生成
- 编译原理语法分析和词法分析
- 华为2015 2014机试 笔试 试题及上机注意
- 编译原理中间代码生成报告
- 编译原理语法分析器实验报告完整版
- 编译原理实验指导书和代码.rar
- 软件工程导论整学期上机实验题目和
- 编译原理实验报告 Sample语言
- 清华大学编译原理的PL/0源代码
- 正则文法的自动机程序代码
- 将算术表达式转换成间接三元式的程
- 编译原理及实现孙悦红
- 编译原理重要复习资料
- 编译原理 课后答案 陈英 陈朔鹰 清华
评论
共有 条评论