資源簡介
利用狀態表和有限自動機的運行原理編寫和設計程序,判斷輸入的自動機是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個文件信息
評論
共有 條評論