Implemented grammer loading
This commit is contained in:
27
src/ParseRule.cpp
Normal file
27
src/ParseRule.cpp
Normal file
@@ -0,0 +1,27 @@
|
||||
#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 + ";");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user