Files
kraken/src/Symbol.cpp

43 lines
764 B
C++
Raw Normal View History

2013-05-20 19:34:15 -04:00
#include "Symbol.h"
Symbol::Symbol(std::string name, bool isTerminal) {
this->name = name;
this->terminal = isTerminal;
this->subTree = NULL;
}
Symbol::Symbol(std::string name, bool isTerminal, NodeTree* tree) {
this->name = name;
this->terminal = isTerminal;
this->subTree = tree;
2013-05-20 19:34:15 -04:00
}
Symbol::~Symbol() {
}
2013-05-23 01:35:54 -04:00
const bool Symbol::operator==(const Symbol &other) {
return( name == other.name && terminal == other.terminal);
2013-05-23 01:35:54 -04:00
}
2013-05-20 19:34:15 -04:00
std::string Symbol::toString() {
return(name); //+ "(" + (terminal ? "T" : "NT") + ")");
}
Symbol* Symbol::clone() {
return new Symbol(name, terminal, subTree);
}
void Symbol::setSubTree(NodeTree* tree) {
subTree = tree;
}
NodeTree* Symbol::getSubTree() {
return subTree;
}
bool Symbol::isTerminal() {
return terminal;
2013-05-20 19:34:15 -04:00
}