Fixed lots of bugs, added much more sane and efficient ParseAction table instead of recalculating every time. Fixed lots of bugs and inefficencies. Some temporary hacks in the table, mostly having to do with not having an EOF Symbol yet.

This commit is contained in:
Nathan Braswell
2013-06-04 19:50:16 -04:00
parent 0c4af245bf
commit 949dbc532a
10 changed files with 192 additions and 86 deletions

View File

@@ -5,6 +5,7 @@
#define NULL 0
#endif
#include "util.h"
#include "ParseRule.h"
#include <vector>
@@ -17,6 +18,8 @@ class ParseAction {
ParseAction(ActionType action, ParseRule* reduceRule);
ParseAction(ActionType action, int shiftState);
~ParseAction();
bool const operator==(const ParseAction &other);
bool const operator!=(const ParseAction &other);
std::string toString();
static std::string actionToString(ActionType action);