#ifndef REGEXSTATE_H #define REGEXSTATE_H #include "util.h" #include "Symbol.h" #include #include class RegExState { public: RegExState(RegExState* inInnerState); RegExState(char inCharacter); RegExState(); ~RegExState(); void addNext(RegExState* nextState); bool characterIs(char inCharacter); std::vector* advance(char advanceCharacter); std::vector* getNextStates(); RegExState* getInner(); bool isGoal(); std::string toString(); std::string toString(RegExState* avoid); std::string toString(std::vector* avoid); char getCharacter(); private: std::vector nextStates; RegExState* inner; char character; }; #endif