Skip to content

Instantly share code, notes, and snippets.

@pczarn
Last active March 3, 2016 20:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pczarn/22df76657b11f8167fc8 to your computer and use it in GitHub Desktop.
Save pczarn/22df76657b11f8167fc8 to your computer and use it in GitHub Desktop.
recognizer.earleme == 0
====================================
start: [ • plus minus ]{1,4} (0)
------------------------------------
start: • g3 minus (0)
g3 : • g4 g5 (0)
g4 : • g9 minus (0)
g4 : • minus (0)
g5 : • g6 (0)
g5 : • g7 (0)
g6 : • plus (0)
g7 : • g8 plus (0)
g8 : • plus minus (0)
g9 : • g5 (0)
====================================
recognizer.scan(plus)
recognizer.advance()
recognizer.earleme == 1
====================================
start: [ plus • minus ]{1,4} (0)
------------------------------------
g4: g9 • minus (0)
g5: g6 • (0)
g6: plus • (0)
g8: plus • minus (0)
g9: g5 • (0)
====================================
recognizer.scan(minus)
recognizer.advance()
recognizer.earleme == 2
====================================
start: [ • plus minus ]{1,4} (2)
start: [ plus minus • ]{1,4} (0)
------------------------------------
g3: g4 • g5 (0)
g4: g9 minus • (0)
g5: • g6 (2)
g5: • g7 (2)
g6: • plus (2)
g7: • g8 plus (2)
g7: g8 • plus (0)
g8: • plus minus (2)
g8: plus minus • (0)
g9: • g5 (2)
====================================
recognizer.scan(plus)
recognizer.advance()
recognizer.earleme == 3
====================================
start: [ plus • minus ]{1,4} (0, 2)
------------------------------------
start: g3 • minus (0)
g3 : g4 g5 • (0)
g4 : g9 • minus (0)
g5 : g6 • (2)
g5 : g7 • (0)
g6 : plus • (2)
g7 : g8 plus • (0)
g8 : plus • minus (2)
g9 : g5 • (0)
====================================
recognizer.scan(minus)
recognizer.advance()
recognizer.earleme == 4
====================================
start: [ • plus minus ]{1,4} (4)
start: [ plus minus • ]{1,4} (0, 2)
------------------------------------
start: g3 minus • (0)
g3 : g4 • g5 (0)
g4 : g9 minus • (0)
g5 : • g6 (4)
g5 : • g7 (4)
g6 : • plus (4)
g7 : • g8 plus (4)
g7 : g8 • plus (2)
g8 : • plus minus (4)
g8 : plus minus • (2)
g9 : • g5 (4)
====================================
recognizer.scan(plus)
recognizer.advance()
recognizer.earleme == 5
====================================
start: [ plus • minus ]{1,4} (0, 2, 4)
------------------------------------
start: g3 • minus (0)
g3 : g4 g5 • (0)
g5 : g6 • (4)
g5 : g7 • (2)
g6 : plus • (4)
g7 : g8 plus • (2)
g8 : plus • minus (4)
====================================
recognizer.scan(minus)
recognizer.advance()
recognizer.earleme == 6
====================================
start: [ plus minus • ]{1,4} (0, 4)
------------------------------------
start: g3 minus • (0)
g7 : g8 • plus (4)
g8 : plus minus • (4)
====================================
recognizer.earleme == 0
====================================
start: • stmts (0)
stmt : • ident ty defined_as rhs action semi (0)
stmts: [ • stmt ]* (0)
------------------------------------
start: • stmts (0)
stmts: • g32 (0)
stmt : • g24 semi (0)
g24 : • g25 action (0)
g24 : • g25 (0)
g25 : • g26 rhs (0)
g25 : • g26 (0)
g26 : • g27 defined_as (0)
rhs : • ident star (0)
g27 : • ident ty (0)
g27 : • ident (0)
g32 : • stmt (0)
g32 : • g32 stmt (0)
g33 : • ident (0)
====================================
recognizer.scan(ident)
recognizer.scan(any_token)
recognizer.advance()
recognizer.earleme == 1
====================================
stmt : ident • ty • defined_as rhs action semi (0)
defined_as: • double_colon eq (1)
ty : • rarrow tt (1)
------------------------------------
g26 : g27 • defined_as (0)
g27 : ident • ty (0)
g27 : ident • (0)
defined_as: • double_colon eq (1)
ty : • rarrow tt (1)
====================================
recognizer.scan(double_colon)
recognizer.scan(any_token)
recognizer.advance()
recognizer.earleme == 2
====================================
defined_as: double_colon • eq (1)
------------------------------------
defined_as: double_colon • eq (1)
====================================
recognizer.scan(eq)
recognizer.scan(any_token)
recognizer.advance()
recognizer.earleme == 3
====================================
stmt : ident ty defined_as • rhs • action • semi (0)
defined_as: double_colon eq • (1)
rhs : • ident star (3)
action : • l_brace tts r_brace (3)
rhs : [ • ident ]* (3)
------------------------------------
stmt : g24 • semi (0)
g24 : g25 • action (0)
g24 : g25 • (0)
g25 : g26 • rhs (0)
g25 : g26 • (0)
action : • g28 r_brace (3)
g26 : g27 defined_as • (0)
rhs : • ident star (3)
rhs : • g33 (3)
g27 : • ident ty (3)
g27 : • ident (3)
defined_as: double_colon eq • (1)
g28 : • l_brace tts (3)
g28 : • l_brace (3)
g31 : • l_brace tts (3)
g31 : • l_brace (3)
g33 : • ident (3)
g33 : • g33 ident (3)
====================================
recognizer.scan(ident)
recognizer.scan(any_token)
recognizer.advance()
recognizer.earleme == 4
====================================
stmt : ident ty defined_as rhs • action • semi (0)
rhs : ident • star (3)
action: • l_brace tts r_brace (4)
rhs : [ • ident • ]* (3)
------------------------------------
stmt : g24 • semi (0)
g24 : g25 • action (0)
g24 : g25 • (0)
g25 : g26 rhs • (0)
action: • g28 r_brace (4)
rhs : ident • star (3)
rhs : g33 • (3)
g28 : • l_brace tts (4)
g28 : • l_brace (4)
g31 : • l_brace tts (4)
g31 : • l_brace (4)
g33 : ident • (3)
g33 : g33 • ident (3)
====================================
recognizer.scan(ident)
recognizer.scan(any_token)
recognizer.advance()
recognizer.earleme == 5
====================================
stmt : ident ty defined_as rhs • action • semi (0)
action: • l_brace tts r_brace (5)
rhs : [ • ident • ]* (3)
------------------------------------
stmt : g24 • semi (0)
g24 : g25 • action (0)
g24 : g25 • (0)
g25 : g26 rhs • (0)
action: • g28 r_brace (5)
rhs : g33 • (3)
g28 : • l_brace tts (5)
g28 : • l_brace (5)
g31 : • l_brace tts (5)
g31 : • l_brace (5)
g33 : g33 • ident • (3)
====================================
recognizer.scan(semi)
recognizer.scan(any_token)
recognizer.advance()
recognizer.earleme == 6
====================================
start: stmts • (0)
stmt : ident ty defined_as rhs action semi • (0)
stmt : • ident ty defined_as rhs action semi (6)
stmts: [ • stmt • ]* (0)
------------------------------------
start: stmts • (0)
stmts: g32 • (0)
stmt : g24 semi • (0)
stmt : • g24 semi (6)
g24 : • g25 action (6)
g24 : • g25 (6)
g25 : • g26 rhs (6)
g25 : • g26 (6)
g26 : • g27 defined_as (6)
rhs : • ident star (6)
g27 : • ident ty (6)
g27 : • ident (6)
g32 : stmt • (0)
g32 : • stmt (6)
g32 : g32 • stmt (0)
g33 : • ident (6)
====================================
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment