Created
June 26, 2014 17:35
-
-
Save mtomwing/8dc62258ca449e10a10b to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
PRODUCTIONS: | |
F : LPAREN E RPAREN | |
F : ID | |
T : F T' | |
E' : <empty> | |
E' : PLUS T E' | |
START_E : E | |
E : T E' | |
T' : TIMES F T' | |
T' : <empty> | |
CLOSURE([START_E : · E, <$>]) { | |
[F : · LPAREN E RPAREN, PLUS] | |
[F : · ID, TIMES] | |
[T : · F T', <$>] | |
[F : · ID, <$>] | |
[F : · LPAREN E RPAREN, TIMES] | |
[F : · LPAREN E RPAREN, <$>] | |
[F : · ID, PLUS] | |
[START_E : · E, <$>] | |
[E : · T E', <$>] | |
[T : · F T', PLUS] | |
} | |
NEXT: | |
[T : F · T', <$>] | |
[T' : · <empty>, <$>] | |
[T' : · <empty>, PLUS] | |
[T' : · TIMES F T', <$>] | |
[T' : · TIMES F T', PLUS] | |
[T : F · T', PLUS] | |
ALL CLOSURES | |
CLOSURE { | |
[F : · LPAREN E RPAREN, PLUS] | |
[F : · ID, TIMES] | |
[T : · F T', <$>] | |
[F : · ID, <$>] | |
[F : · LPAREN E RPAREN, TIMES] | |
[F : · LPAREN E RPAREN, <$>] | |
[F : · ID, PLUS] | |
[START_E : · E, <$>] | |
[E : · T E', <$>] | |
[T : · F T', PLUS] | |
} | |
CLOSURE { | |
[T : F · T', <$>] | |
[T' : · <empty>, <$>] | |
[T' : · <empty>, PLUS] | |
[T' : · TIMES F T', <$>] | |
[T' : · TIMES F T', PLUS] | |
[T : F · T', PLUS] | |
} | |
CLOSURE { | |
[F : LPAREN · E RPAREN, TIMES] | |
[F : · LPAREN E RPAREN, PLUS] | |
[T : · F T', RPAREN] | |
[F : · ID, TIMES] | |
[F : · LPAREN E RPAREN, RPAREN] | |
[F : LPAREN · E RPAREN, <$>] | |
[E : · T E', RPAREN] | |
[F : · LPAREN E RPAREN, TIMES] | |
[F : LPAREN · E RPAREN, PLUS] | |
[F : · ID, RPAREN] | |
[F : · ID, PLUS] | |
[T : · F T', PLUS] | |
} | |
CLOSURE { | |
[START_E : E ·, <$>] | |
} | |
CLOSURE { | |
[E' : · <empty>, <$>] | |
[E : T · E', <$>] | |
[E' : · PLUS T E', <$>] | |
} | |
CLOSURE { | |
[F : ID ·, <$>] | |
[F : ID ·, PLUS] | |
[F : ID ·, TIMES] | |
} | |
CLOSURE { | |
[T' : <empty> ·, <$>] | |
[T' : <empty> ·, PLUS] | |
} | |
CLOSURE { | |
[F : · LPAREN E RPAREN, PLUS] | |
[F : · ID, TIMES] | |
[F : · ID, <$>] | |
[T' : TIMES · F T', PLUS] | |
[T' : TIMES · F T', <$>] | |
[F : · LPAREN E RPAREN, TIMES] | |
[F : · LPAREN E RPAREN, <$>] | |
[F : · ID, PLUS] | |
} | |
CLOSURE { | |
[T : F T' ·, <$>] | |
[T : F T' ·, PLUS] | |
} | |
CLOSURE { | |
[T' : · TIMES F T', RPAREN] | |
[T : F · T', RPAREN] | |
[T' : · <empty>, RPAREN] | |
[T' : · <empty>, PLUS] | |
[T' : · TIMES F T', PLUS] | |
[T : F · T', PLUS] | |
} | |
CLOSURE { | |
[F : LPAREN · E RPAREN, TIMES] | |
[F : · LPAREN E RPAREN, PLUS] | |
[T : · F T', RPAREN] | |
[F : · ID, TIMES] | |
[F : · LPAREN E RPAREN, RPAREN] | |
[F : LPAREN · E RPAREN, RPAREN] | |
[E : · T E', RPAREN] | |
[F : · LPAREN E RPAREN, TIMES] | |
[F : LPAREN · E RPAREN, PLUS] | |
[F : · ID, RPAREN] | |
[F : · ID, PLUS] | |
[T : · F T', PLUS] | |
} | |
CLOSURE { | |
[F : LPAREN E · RPAREN, <$>] | |
[F : LPAREN E · RPAREN, PLUS] | |
[F : LPAREN E · RPAREN, TIMES] | |
} | |
CLOSURE { | |
[E' : · <empty>, RPAREN] | |
[E : T · E', RPAREN] | |
[E' : · PLUS T E', RPAREN] | |
} | |
CLOSURE { | |
[F : ID ·, PLUS] | |
[F : ID ·, RPAREN] | |
[F : ID ·, TIMES] | |
} | |
CLOSURE { | |
[E' : <empty> ·, <$>] | |
} | |
CLOSURE { | |
[F : · LPAREN E RPAREN, PLUS] | |
[F : · ID, TIMES] | |
[T : · F T', <$>] | |
[F : · ID, <$>] | |
[F : · LPAREN E RPAREN, TIMES] | |
[E' : PLUS · T E', <$>] | |
[F : · LPAREN E RPAREN, <$>] | |
[F : · ID, PLUS] | |
[T : · F T', PLUS] | |
} | |
CLOSURE { | |
[E : T E' ·, <$>] | |
} | |
CLOSURE { | |
[T' : TIMES F · T', <$>] | |
[T' : · <empty>, <$>] | |
[T' : · <empty>, PLUS] | |
[T' : · TIMES F T', <$>] | |
[T' : · TIMES F T', PLUS] | |
[T' : TIMES F · T', PLUS] | |
} | |
CLOSURE { | |
[T' : <empty> ·, PLUS] | |
[T' : <empty> ·, RPAREN] | |
} | |
CLOSURE { | |
[F : · LPAREN E RPAREN, PLUS] | |
[F : · LPAREN E RPAREN, RPAREN] | |
[F : · ID, TIMES] | |
[T' : TIMES · F T', PLUS] | |
[T' : TIMES · F T', RPAREN] | |
[F : · LPAREN E RPAREN, TIMES] | |
[F : · ID, RPAREN] | |
[F : · ID, PLUS] | |
} | |
CLOSURE { | |
[T : F T' ·, PLUS] | |
[T : F T' ·, RPAREN] | |
} | |
CLOSURE { | |
[F : LPAREN E · RPAREN, PLUS] | |
[F : LPAREN E · RPAREN, TIMES] | |
[F : LPAREN E · RPAREN, RPAREN] | |
} | |
CLOSURE { | |
[F : LPAREN E RPAREN ·, TIMES] | |
[F : LPAREN E RPAREN ·, <$>] | |
[F : LPAREN E RPAREN ·, PLUS] | |
} | |
CLOSURE { | |
[E' : <empty> ·, RPAREN] | |
} | |
CLOSURE { | |
[F : · LPAREN E RPAREN, PLUS] | |
[F : · LPAREN E RPAREN, RPAREN] | |
[T : · F T', RPAREN] | |
[F : · ID, TIMES] | |
[E' : PLUS · T E', RPAREN] | |
[F : · LPAREN E RPAREN, TIMES] | |
[F : · ID, RPAREN] | |
[F : · ID, PLUS] | |
[T : · F T', PLUS] | |
} | |
CLOSURE { | |
[E : T E' ·, RPAREN] | |
} | |
CLOSURE { | |
[E' : PLUS T · E', <$>] | |
[E' : · <empty>, <$>] | |
[E' : · PLUS T E', <$>] | |
} | |
CLOSURE { | |
[T' : TIMES F T' ·, <$>] | |
[T' : TIMES F T' ·, PLUS] | |
} | |
CLOSURE { | |
[T' : · TIMES F T', RPAREN] | |
[T' : · <empty>, PLUS] | |
[T' : · <empty>, RPAREN] | |
[T' : · TIMES F T', PLUS] | |
[T' : TIMES F · T', RPAREN] | |
[T' : TIMES F · T', PLUS] | |
} | |
CLOSURE { | |
[F : LPAREN E RPAREN ·, TIMES] | |
[F : LPAREN E RPAREN ·, PLUS] | |
[F : LPAREN E RPAREN ·, RPAREN] | |
} | |
CLOSURE { | |
[E' : PLUS T · E', RPAREN] | |
[E' : · <empty>, RPAREN] | |
[E' : · PLUS T E', RPAREN] | |
} | |
CLOSURE { | |
[E' : PLUS T E' ·, <$>] | |
} | |
CLOSURE { | |
[T' : TIMES F T' ·, PLUS] | |
[T' : TIMES F T' ·, RPAREN] | |
} | |
CLOSURE { | |
[E' : PLUS T E' ·, RPAREN] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment