Actually parses LR(0) grammers and sentences\! Only two problems is very inefficint gotoTable() and actionTable(), and it REJECTS the sentence after completing the Goal->Sentence(*) production. However, need to go to bed now. Does practially work though\! Yay\!

This commit is contained in:
Nathan Braswell
2013-05-29 20:43:35 -04:00
parent 315dc55409
commit 69713ffe1a
8 changed files with 96 additions and 21 deletions

View File

@@ -13,7 +13,9 @@
class ParseAction {
public:
enum ActionType { INVALID, REDUCE, SHIFT, ACCEPT, REJECT };
ParseAction(ActionType action, ParseRule* reduceRule = NULL, int shiftState = 0);
ParseAction(ActionType action);
ParseAction(ActionType action, ParseRule* reduceRule);
ParseAction(ActionType action, int shiftState);
~ParseAction();
std::string toString();
static std::string actionToString(ActionType action);