#include #include #include "Parser.h" #include "GraphStructuredStack.h" class RNGLRParser: public Parser { public: RNGLRParser(); ~RNGLRParser(); NodeTree* parseInput(std::string inputString); void reducer(int i); void shifter(int i); void addStates(std::vector< State* >* stateSets, State* state); private: std::vector input; GraphStructuredStack gss; //start node, lefthand side of the reduction, reduction length std::queue*, Symbol*>, int > > toReduce; //Node coming from, state going to std::queue< std::pair*, int> > toShift; };