Professional Documents
Culture Documents
Nfla 5
Nfla 5
#include "NfaParser.h"
#include "NfaParser.cpp"
#include <fstream>
#include <map>
#include <string>
#include <sstream>
#include <set>
#include <vector>
#include <algorithm>
#include "utils.cpp"
#include "Nfa.h"
#include "Nfa.cpp"
content+="Q: "+get_vec_str(visited)+"\n";
content+="E: "+get_str(alpha)+"\n";
cout << "Initial State : ";
print(visited[0],'\n');
cout << endl;
set<string>::iterator is;
int i =0;
for(is = alpha.begin();is!= alpha.end();is++){
//cout<<states.size();
cout<<*is<<"->";
print(states[i]);
content+="D("+get_str(current,',')+" "+*is+") : "+get_str(states[i]);
i++;
}
cout<<'\n';
set<string>::iterator ij;
for (ij = current.begin();ij!= current.end();ij++) {
set<string> final_states = nfa.get_final_state();
if(final_states.count(*ij)) {
final.push_back(current);
continue;
}
}
}
content += "\nI : " + get_str(visited[0]);
cout << "Final States : ";
content += "F : {";
for (int i = 0; i < final.size(); ++i) {
print(final[i], ',');
content += get_str(final[i], ',');
}
content += " }\n";
cout << endl;
return content;
}
int main(){
NfaParser parser("input.txt");
Nfa nfa = parser.parse();
string dfa;
dfa = converter(nfa);
ofstream f;
f.open("dfa.txt");
f << dfa;
f.close();
}