Starting parse Entering state 0 Reading a token: Next token is token TEXT (0) Shifting token TEXT (0) Entering state 1 Reducing stack by rule 5 (line 90): $1 = token TEXT (0) -> $$ = nterm item (0) Destroy: "" Stack now 0 Entering state 5 Reducing stack by rule 2 (line 84): $1 = nterm item (0) -> $$ = nterm list ((0)) Destroy: "0" Stack now 0 Entering state 4 Reading a token: Next token is token "," () Shifting token "," () Destroy: (0) Entering state 8 Reading a token: Next token is token NUMBER (1) Shifting token NUMBER (1) Destroy: (0) Entering state 2 Reducing stack by rule 6 (line 91): $1 = token NUMBER (1) -> $$ = nterm item (1) Destroy: 1 Stack now 8 4 0 Entering state 9 Reducing stack by rule 3 (line 85): $1 = nterm list ((0)) $2 = token "," () $3 = nterm item (1) -> $$ = nterm list ((0, 1)) Destroy: "1" Destroy: () Stack now 0 Entering state 4 Reading a token: Next token is token "," () Shifting token "," () Entering state 8 Reading a token: Next token is token TEXT (2) Shifting token TEXT (2) Entering state 1 Reducing stack by rule 5 (line 90): $1 = token TEXT (2) -> $$ = nterm item (2) Destroy: "" Stack now 8 4 0 Entering state 9 Reducing stack by rule 3 (line 85): $1 = nterm list ((0, 1)) $2 = token "," () $3 = nterm item (2) -> $$ = nterm list ((0, 1, 2)) Destroy: "2" Destroy: () Stack now 0 Entering state 4 Reading a token: Next token is token "," () Shifting token "," () Entering state 8 Reading a token: Next token is token NUMBER (3) Shifting token NUMBER (3) Entering state 2 Reducing stack by rule 6 (line 91): $1 = token NUMBER (3) Destroy: "" Destroy: 3 Error: popping token "," () Stack now 4 0 Shifting token error () Entering state 7 Reducing stack by rule 4 (line 86): $1 = nterm list ((0, 1, 2)) $2 = token error () -> $$ = nterm list ((0, 1, 2)) Destroy: () Stack now 0 Entering state 4 Reading a token: Next token is token "," () Shifting token "," () Entering state 8 Reading a token: Next token is token TEXT (4) Shifting token TEXT (4) Entering state 1 Reducing stack by rule 5 (line 90): $1 = token TEXT (4) -> $$ = nterm item (4) Destroy: "" Stack now 8 4 0 Entering state 9 Reducing stack by rule 3 (line 85): $1 = nterm list ((0, 1, 2)) $2 = token "," () $3 = nterm item (4) -> $$ = nterm list ((0, 1, 2, 4)) Destroy: "4" Destroy: () Stack now 0 Entering state 4 Reading a token: Next token is token NUMBER (5) Shifting token error () Entering state 7 Reducing stack by rule 4 (line 86): $1 = nterm list ((0, 1, 2, 4)) $2 = token error () -> $$ = nterm list ((0, 1, 2, 4)) Destroy: () Stack now 0 Entering state 4 Next token is token NUMBER (5) Error: discarding token NUMBER (5) Destroy: 5 Shifting token error () Entering state 7 Reducing stack by rule 4 (line 86): $1 = nterm list ((0, 1, 2, 4)) $2 = token error () -> $$ = nterm list ((0, 1, 2, 4)) Destroy: () Stack now 0 Entering state 4 Reading a token: Next token is token "," () Shifting token "," () Entering state 8 Reading a token: Next token is token TEXT (6) Shifting token TEXT (6) Entering state 1 Reducing stack by rule 5 (line 90): $1 = token TEXT (6) -> $$ = nterm item (6) Destroy: "" Stack now 8 4 0 Entering state 9 Reducing stack by rule 3 (line 85): $1 = nterm list ((0, 1, 2, 4)) $2 = token "," () $3 = nterm item (6) -> $$ = nterm list ((0, 1, 2, 4, 6)) Destroy: "6" Destroy: () Stack now 0 Entering state 4 Reading a token: Next token is token END_OF_FILE () Reducing stack by rule 1 (line 80): $1 = nterm list ((0, 1, 2, 4, 6)) -> $$ = nterm result () Destroy: (0, 1, 2, 4, 6) Stack now 0 Entering state 3 Next token is token END_OF_FILE () Shifting token END_OF_FILE () Entering state 6 Cleanup: popping token END_OF_FILE () Cleanup: popping nterm result ()