Files
kraken/src/ParseRule.cpp

36 lines
705 B
C++
Raw Normal View History

2013-05-20 19:34:15 -04:00
#include "ParseRule.h"
ParseRule::ParseRule() {
pointerIndex = 0;
leftHandle = NULL;
}
ParseRule::~ParseRule() {
}
void ParseRule::setLeftHandle(Symbol* leftHandle) {
this->leftHandle = leftHandle;
}
void ParseRule::appendToRight(Symbol* appendee) {
rightSide.push_back(appendee);
}
std::string ParseRule::toString() {
std::string concat = leftHandle->toString() + " -> ";
for (int i = 0; i < rightSide.size(); i++) {
concat += rightSide[i]->toString() + " ";
}
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);
2013-05-20 19:34:15 -04:00
}