#include "symbol.h" #include /* Symbol::Symbol(char o, char* t, char* f, int g) : one(o), gap(g) { //one = o; three = new char[4]; strncpy(three,t,3); three[3] = '\0'; int len = strlen(f); full = new char[len+1]; strncpy(full,f,len); full[len] = '\0'; return; } */ Symbol::Symbol(char o, char* t, char* f) : one(o) { //one = o; three = new char[4]; strncpy(three,t,3); three[3] = '\0'; int len = strlen(f); full = new char[len+1]; strncpy(full,f,len); full[len] = '\0'; return; } Symbol::~Symbol() { delete three; delete full; return; } Symbol* Symbol::clone() { return (new Symbol(one, three, full)); } int Symbol::equals(Symbol* symbol) { //printf("symbol: %c, %s, %s\n",symbol->getOne(),symbol->getThree(),symbol->getFull()); //printf("this: %c, %s, %s\n",one,three,full); if ( one != symbol->getOne() ) return 0; if ( strncmp(three,symbol->getThree(),3) != 0) return 0; int len1 = strlen(full); int len2 = strlen(symbol->getFull()); if ( len1 != len2 || strncmp(full,symbol->getFull(),len1) != 0 ) return 0; return 1; } const char Symbol::getOne() { return one; } const char* Symbol::getThree() { return three; } const char* Symbol::getFull() { return full; } /* int Symbol::isGap() { return gap; } */