Separate the toString and toDOT methods.

This commit is contained in:
Nathan Braswell
2013-05-20 22:59:57 -04:00
parent d2698cf203
commit 200cff6ab4
5 changed files with 27 additions and 6 deletions

View File

@@ -22,6 +22,14 @@ std::string ParseRule::toString() {
for (int i = 0; i < rightSide.size(); i++) {
concat += rightSide[i]->toString() + " ";
}
return(concat + ";");
return(concat);
}
std::string ParseRule::toDOT() {
std::string concat = "";
for (int i = 0; i < rightSide.size(); i++) {
concat += leftHandle->toString() + " -> " + rightSide[i]->toString() + ";\n";
}
return(concat);
}

View File

@@ -57,8 +57,18 @@ std::string Parser::grammerToString() {
std::cout << "About to toString\n";
std::string concat = "";
for (int i = 0; i < loadedGrammer.size(); i++) {
concat += loadedGrammer[i]->toString() + "\n";//->toString();// + std::endl;
concat += loadedGrammer[i]->toString() + "\n";
}
return(concat);
}
std::string Parser::grammerToDOT() {
//Iterate through the vector, adding DOT representation of each grammer rule
std::cout << "About to DOT export\n";
std::string concat = "";
for (int i = 0; i < loadedGrammer.size(); i++) {
concat += loadedGrammer[i]->toDOT();
}
return("digraph Kraken_Grammer { \n" + concat + "}");
}