Last active
October 15, 2023 19:06
-
-
Save breandan/dd76ff71ff8c7247c036eaaecf32a92b to your computer and use it in GitHub Desktop.
Example of Python-Levenshtein ball of radius 2 around `NUMBER + NEWLINE`.
This file contains 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
Constructing ∩-grammar took: 1381ms | |
∩-grammar has 383551 total productions | |
Removed 292478 useless productions. | |
Removed 80128 useless productions. | |
Removed 7536 useless productions. | |
Removed 1898 useless productions. | |
Removed 667 useless productions. | |
Removed 169 useless productions. | |
Removed 10 useless productions. | |
Removed 0 useless productions. | |
Disabling nonterminal stubs! | |
∩-grammar has 1059 useful productions | |
Postprocessing took 86500ms | |
LEV ∩ CFG grammar: | |
| F.ε → ε | [q_1/0,Aug_Assign,q_2/1] → **= | START → [q_0/0,Stmt_Or_Newline,q_1/1] [q_1/1,Stmts_Or_Newlines,q_3/2] | | |
| ε+ → ε | [q_1/0,Aug_Assign,q_2/1] → //= | START → [q_0/0,Stmt_Or_Newline,q_2/1] [q_2/1,Stmts_Or_Newlines,q_3/2] | | |
| ε+ → ε+ ε+ | [q_1/0,Aug_Assign,q_2/1] → [q_1/0,Aug_Assign,q_2/1] ε+ | START → [q_0/0,Stmt_Or_Newline,q_2/2] [q_2/2,Stmts_Or_Newlines,q_3/2] | | |
| [q_1/0,Dot,q_1/1] → . | [q_1/0,Aug_Assign,q_2/1] → ε+ [q_1/0,Aug_Assign,q_2/1] | START → [q_0/0,Stmt_Or_Newline,q_3/1] [q_3/1,Stmts_Or_Newlines,q_3/2] | | |
| [q_1/0,Dot,q_1/1] → [q_1/0,Dot,q_1/1] ε+ | [q_2/1,Arith_Expr,q_2/2] → ... | START → [q_0/0,Stmt_Or_Newline,q_2/1] [q_2/1,Stmts_Or_Newlines,q_3/1] | | |
| [q_1/0,Dot,q_1/1] → ε+ [q_1/0,Dot,q_1/1] | [q_2/1,Arith_Expr,q_2/2] → NAME | START → [q_0/0,Stmt_Or_Newline,q_2/1] [q_2/1,Stmts_Or_Newlines,q_4/2] | | |
| [q_1/0,Dot,q_2/1] → . | [q_2/1,Arith_Expr,q_2/2] → None | START → [q_0/0,Stmt_Or_Newline,q_3/1] [q_3/1,Stmts_Or_Newlines,q_4/2] | | |
| [q_1/0,Dot,q_2/1] → [q_1/0,Dot,q_2/1] ε+ | [q_2/1,Arith_Expr,q_2/2] → True | [q_1/1,Yield_Arg,q_2/2] → ... | | |
| [q_1/0,Dot,q_2/1] → ε+ [q_1/0,Dot,q_2/1] | [q_2/1,Arith_Expr,q_2/2] → False | [q_1/1,Yield_Arg,q_2/2] → NAME | | |
| [q_1/1,Atom,q_2/2] → ... | [q_2/1,Arith_Expr,q_2/2] → NUMBER | [q_1/1,Yield_Arg,q_2/2] → None | | |
| [q_1/1,Atom,q_2/2] → NAME | [q_2/1,Arith_Expr,q_2/2] → STRING | [q_1/1,Yield_Arg,q_2/2] → True | | |
| [q_1/1,Atom,q_2/2] → None | [q_2/1,Arith_Expr,q_2/2] → [q_2/1,Arith_Expr,q_2/2] ε+ | [q_1/1,Yield_Arg,q_2/2] → False | | |
| [q_1/1,Atom,q_2/2] → True | [q_2/1,Arith_Expr,q_2/2] → ε+ [q_2/1,Arith_Expr,q_2/2] | [q_1/1,Yield_Arg,q_2/2] → NUMBER | | |
| [q_1/1,Atom,q_2/2] → False | [q_2/1,Shift_Expr,q_2/2] → ... | [q_1/1,Yield_Arg,q_2/2] → STRING | | |
| [q_1/1,Atom,q_2/2] → NUMBER | [q_2/1,Shift_Expr,q_2/2] → NAME | [q_1/1,Yield_Arg,q_2/2] → [q_1/1,Yield_Arg,q_2/2] ε+ | | |
| [q_1/1,Atom,q_2/2] → STRING | [q_2/1,Shift_Expr,q_2/2] → None | [q_1/1,Yield_Arg,q_2/2] → ε+ [q_1/1,Yield_Arg,q_2/2] | | |
| [q_1/1,Atom,q_2/2] → [q_1/1,Atom,q_2/2] ε+ | [q_2/1,Shift_Expr,q_2/2] → True | [q_1/1,Yield_Arg,q_2/2] → [q_1/1,Unary_Op,q_2/1] [q_2/1,Factor,q_2/2] | | |
| [q_1/1,Atom,q_2/2] → ε+ [q_1/1,Atom,q_2/2] | [q_2/1,Shift_Expr,q_2/2] → False | [q_1/0,Comp_Op.Expr,q_2/2] → [q_1/0,Comp_Op,q_1/1] [q_1/1,Expr,q_2/2] | | |
| [q_2/0,Term,q_2/1] → ... | [q_2/1,Shift_Expr,q_2/2] → NUMBER | [q_1/0,Comp_Op.Expr,q_2/2] → [q_1/0,Comp_Op,q_2/1] [q_2/1,Expr,q_2/2] | | |
| [q_2/0,Term,q_2/1] → NAME | [q_2/1,Shift_Expr,q_2/2] → STRING | [q_1/1,Arith_Expr,q_2/2] → ... | | |
| [q_2/0,Term,q_2/1] → None | [q_2/1,Shift_Expr,q_2/2] → [q_2/1,Shift_Expr,q_2/2] ε+ | [q_1/1,Arith_Expr,q_2/2] → NAME | | |
| [q_2/0,Term,q_2/1] → True | [q_2/1,Shift_Expr,q_2/2] → ε+ [q_2/1,Shift_Expr,q_2/2] | [q_1/1,Arith_Expr,q_2/2] → None | | |
| [q_2/0,Term,q_2/1] → False | [q_0/0,Arith_Expr,q_1/0] → NUMBER | [q_1/1,Arith_Expr,q_2/2] → True | | |
| [q_2/0,Term,q_2/1] → NUMBER | [q_0/0,Arith_Expr,q_1/0] → [q_0/0,Arith_Expr,q_1/0] ε+ | [q_1/1,Arith_Expr,q_2/2] → False | | |
| [q_2/0,Term,q_2/1] → STRING | [q_0/0,Arith_Expr,q_1/0] → ε+ [q_0/0,Arith_Expr,q_1/0] | [q_1/1,Arith_Expr,q_2/2] → NUMBER | | |
| [q_2/0,Term,q_2/1] → [q_2/0,Term,q_2/1] ε+ | [q_0/0,Comparison,q_1/0] → NUMBER | [q_1/1,Arith_Expr,q_2/2] → STRING | | |
| [q_2/0,Term,q_2/1] → ε+ [q_2/0,Term,q_2/1] | [q_0/0,Comparison,q_1/0] → [q_0/0,Comparison,q_1/0] ε+ | [q_1/1,Arith_Expr,q_2/2] → [q_1/1,Arith_Expr,q_2/2] ε+ | | |
| [q_2/0,Term,q_3/1] → ... | [q_0/0,Comparison,q_1/0] → ε+ [q_0/0,Comparison,q_1/0] | [q_1/1,Arith_Expr,q_2/2] → ε+ [q_1/1,Arith_Expr,q_2/2] | | |
| [q_2/0,Term,q_3/1] → NAME | [q_0/0,Open_Paren,q_0/1] → ( | [q_1/1,Arith_Expr,q_2/2] → [q_1/1,Unary_Op,q_2/1] [q_2/1,Factor,q_2/2] | | |
| [q_2/0,Term,q_3/1] → None | [q_0/0,Open_Paren,q_0/1] → [q_0/0,Open_Paren,q_0/1] ε+ | [q_1/1,Shift_Expr,q_2/2] → ... | | |
| [q_2/0,Term,q_3/1] → True | [q_0/0,Open_Paren,q_0/1] → ε+ [q_0/0,Open_Paren,q_0/1] | [q_1/1,Shift_Expr,q_2/2] → NAME | | |
| [q_2/0,Term,q_3/1] → False | [q_0/0,Open_Paren,q_1/1] → ( | [q_1/1,Shift_Expr,q_2/2] → None | | |
| [q_2/0,Term,q_3/1] → NUMBER | [q_0/0,Open_Paren,q_1/1] → [q_0/0,Open_Paren,q_1/1] ε+ | [q_1/1,Shift_Expr,q_2/2] → True | | |
| [q_2/0,Term,q_3/1] → STRING | [q_0/0,Open_Paren,q_1/1] → ε+ [q_0/0,Open_Paren,q_1/1] | [q_1/1,Shift_Expr,q_2/2] → False | | |
| [q_2/0,Term,q_3/1] → [q_2/0,Term,q_3/1] ε+ | [q_0/0,Shift_Expr,q_1/0] → NUMBER | [q_1/1,Shift_Expr,q_2/2] → NUMBER | | |
| [q_2/0,Term,q_3/1] → ε+ [q_2/0,Term,q_3/1] | [q_0/0,Shift_Expr,q_1/0] → [q_0/0,Shift_Expr,q_1/0] ε+ | [q_1/1,Shift_Expr,q_2/2] → STRING | | |
| [q_2/1,Atom,q_2/2] → ... | [q_0/0,Shift_Expr,q_1/0] → ε+ [q_0/0,Shift_Expr,q_1/0] | [q_1/1,Shift_Expr,q_2/2] → [q_1/1,Shift_Expr,q_2/2] ε+ | | |
| [q_2/1,Atom,q_2/2] → NAME | [q_0/0,Small_Stmt,q_1/0] → NUMBER | [q_1/1,Shift_Expr,q_2/2] → ε+ [q_1/1,Shift_Expr,q_2/2] | | |
| [q_2/1,Atom,q_2/2] → None | [q_0/0,Small_Stmt,q_1/0] → [q_0/0,Small_Stmt,q_1/0] ε+ | [q_1/1,Shift_Expr,q_2/2] → [q_1/1,Unary_Op,q_2/1] [q_2/1,Factor,q_2/2] | | |
| [q_2/1,Atom,q_2/2] → True | [q_0/0,Small_Stmt,q_1/0] → ε+ [q_0/0,Small_Stmt,q_1/0] | [q_2/1,Test_Or_Star_Exprs,q_2/2] → ... | | |
| [q_2/1,Atom,q_2/2] → False | [q_0/1,Arith_Expr,q_1/1] → NUMBER | [q_2/1,Test_Or_Star_Exprs,q_2/2] → NAME | | |
| [q_2/1,Atom,q_2/2] → NUMBER | [q_0/1,Arith_Expr,q_1/1] → [q_0/1,Arith_Expr,q_1/1] ε+ | [q_2/1,Test_Or_Star_Exprs,q_2/2] → None | | |
| [q_2/1,Atom,q_2/2] → STRING | [q_0/1,Arith_Expr,q_1/1] → ε+ [q_0/1,Arith_Expr,q_1/1] | [q_2/1,Test_Or_Star_Exprs,q_2/2] → True | | |
| [q_2/1,Atom,q_2/2] → [q_2/1,Atom,q_2/2] ε+ | [q_1/0,Open_Paren,q_1/1] → ( | [q_2/1,Test_Or_Star_Exprs,q_2/2] → False | | |
| [q_2/1,Atom,q_2/2] → ε+ [q_2/1,Atom,q_2/2] | [q_1/0,Open_Paren,q_1/1] → [q_1/0,Open_Paren,q_1/1] ε+ | [q_2/1,Test_Or_Star_Exprs,q_2/2] → NUMBER | | |
| [q_2/1,Expr,q_2/2] → ... | [q_1/0,Open_Paren,q_1/1] → ε+ [q_1/0,Open_Paren,q_1/1] | [q_2/1,Test_Or_Star_Exprs,q_2/2] → STRING | | |
| [q_2/1,Expr,q_2/2] → NAME | [q_1/0,Open_Paren,q_2/1] → ( | [q_2/1,Test_Or_Star_Exprs,q_2/2] → [q_2/1,Test_Or_Star_Exprs,q_2/2] ε+ | | |
| [q_2/1,Expr,q_2/2] → None | [q_1/0,Open_Paren,q_2/1] → [q_1/0,Open_Paren,q_2/1] ε+ | [q_2/1,Test_Or_Star_Exprs,q_2/2] → ε+ [q_2/1,Test_Or_Star_Exprs,q_2/2] | | |
| [q_2/1,Expr,q_2/2] → True | [q_1/0,Open_Paren,q_2/1] → ε+ [q_1/0,Open_Paren,q_2/1] | [q_2/1,Testlist_Star_Expr,q_2/2] → ... | | |
| [q_2/1,Expr,q_2/2] → False | [q_1/0,Or_Bool_Op,q_1/1] → or | [q_2/1,Testlist_Star_Expr,q_2/2] → NAME | | |
| [q_2/1,Expr,q_2/2] → NUMBER | [q_1/0,Or_Bool_Op,q_1/1] → [q_1/0,Or_Bool_Op,q_1/1] ε+ | [q_2/1,Testlist_Star_Expr,q_2/2] → None | | |
| [q_2/1,Expr,q_2/2] → STRING | [q_1/0,Or_Bool_Op,q_1/1] → ε+ [q_1/0,Or_Bool_Op,q_1/1] | [q_2/1,Testlist_Star_Expr,q_2/2] → True | | |
| [q_2/1,Expr,q_2/2] → [q_2/1,Expr,q_2/2] ε+ | [q_1/0,Or_Bool_Op,q_2/1] → or | [q_2/1,Testlist_Star_Expr,q_2/2] → False | | |
| [q_2/1,Expr,q_2/2] → ε+ [q_2/1,Expr,q_2/2] | [q_1/0,Or_Bool_Op,q_2/1] → [q_1/0,Or_Bool_Op,q_2/1] ε+ | [q_2/1,Testlist_Star_Expr,q_2/2] → NUMBER | | |
| [q_2/1,Term,q_2/2] → ... | [q_1/0,Or_Bool_Op,q_2/1] → ε+ [q_1/0,Or_Bool_Op,q_2/1] | [q_2/1,Testlist_Star_Expr,q_2/2] → STRING | | |
| [q_2/1,Term,q_2/2] → NAME | [q_1/1,Many_Names,q_2/2] → NAME | [q_2/1,Testlist_Star_Expr,q_2/2] → [q_2/1,Testlist_Star_Expr,q_2/2] ε+ | | |
| [q_2/1,Term,q_2/2] → None | [q_1/1,Many_Names,q_2/2] → [q_1/1,Many_Names,q_2/2] ε+ | [q_2/1,Testlist_Star_Expr,q_2/2] → ε+ [q_2/1,Testlist_Star_Expr,q_2/2] | | |
| [q_2/1,Term,q_2/2] → True | [q_1/1,Many_Names,q_2/2] → ε+ [q_1/1,Many_Names,q_2/2] | [q_0/0,Test_Or_Star_Exprs,q_1/0] → NUMBER | | |
| [q_2/1,Term,q_2/2] → False | [q_1/1,Yield_Expr,q_2/2] → yield | [q_0/0,Test_Or_Star_Exprs,q_1/0] → [q_0/0,Test_Or_Star_Exprs,q_1/0] ε+ | | |
| [q_2/1,Term,q_2/2] → NUMBER | [q_1/1,Yield_Expr,q_2/2] → [q_1/1,Yield_Expr,q_2/2] ε+ | [q_0/0,Test_Or_Star_Exprs,q_1/0] → ε+ [q_0/0,Test_Or_Star_Exprs,q_1/0] | | |
| [q_2/1,Term,q_2/2] → STRING | [q_1/1,Yield_Expr,q_2/2] → ε+ [q_1/1,Yield_Expr,q_2/2] | [q_0/0,Testlist_Star_Expr,q_1/0] → NUMBER | | |
| [q_2/1,Term,q_2/2] → [q_2/1,Term,q_2/2] ε+ | [q_2/0,Open_Paren,q_2/1] → ( | [q_0/0,Testlist_Star_Expr,q_1/0] → [q_0/0,Testlist_Star_Expr,q_1/0] ε+ | | |
| [q_2/1,Term,q_2/2] → ε+ [q_2/1,Term,q_2/2] | [q_2/0,Open_Paren,q_2/1] → [q_2/0,Open_Paren,q_2/1] ε+ | [q_0/0,Testlist_Star_Expr,q_1/0] → ε+ [q_0/0,Testlist_Star_Expr,q_1/0] | | |
| [q_2/1,Test,q_2/2] → ... | [q_2/0,Open_Paren,q_2/1] → ε+ [q_2/0,Open_Paren,q_2/1] | [q_0/1,Test_Or_Star_Exprs,q_1/1] → NUMBER | | |
| [q_2/1,Test,q_2/2] → NAME | [q_2/1,Yield_Expr,q_2/2] → yield | [q_0/1,Test_Or_Star_Exprs,q_1/1] → [q_0/1,Test_Or_Star_Exprs,q_1/1] ε+ | | |
| [q_2/1,Test,q_2/2] → None | [q_2/1,Yield_Expr,q_2/2] → [q_2/1,Yield_Expr,q_2/2] ε+ | [q_0/1,Test_Or_Star_Exprs,q_1/1] → ε+ [q_0/1,Test_Or_Star_Exprs,q_1/1] | | |
| [q_2/1,Test,q_2/2] → True | [q_2/1,Yield_Expr,q_2/2] → ε+ [q_2/1,Yield_Expr,q_2/2] | [q_1/1,Close_Curl_Bracket,q_2/2] → } | | |
| [q_2/1,Test,q_2/2] → False | [q_2/1,Small_Stmts,q_2/2] → ... | [q_1/1,Close_Curl_Bracket,q_2/2] → [q_1/1,Close_Curl_Bracket,q_2/2] ε+ | | |
| [q_2/1,Test,q_2/2] → NUMBER | [q_2/1,Small_Stmts,q_2/2] → pass | [q_1/1,Close_Curl_Bracket,q_2/2] → ε+ [q_1/1,Close_Curl_Bracket,q_2/2] | | |
| [q_2/1,Test,q_2/2] → STRING | [q_2/1,Small_Stmts,q_2/2] → NAME | [q_2/1,Close_Curl_Bracket,q_2/2] → } | | |
| [q_2/1,Test,q_2/2] → [q_2/1,Test,q_2/2] ε+ | [q_2/1,Small_Stmts,q_2/2] → None | [q_2/1,Close_Curl_Bracket,q_2/2] → [q_2/1,Close_Curl_Bracket,q_2/2] ε+ | | |
| [q_2/1,Test,q_2/2] → ε+ [q_2/1,Test,q_2/2] | [q_2/1,Small_Stmts,q_2/2] → True | [q_2/1,Close_Curl_Bracket,q_2/2] → ε+ [q_2/1,Close_Curl_Bracket,q_2/2] | | |
| [q_0/0,Atom,q_1/0] → NUMBER | [q_2/1,Small_Stmts,q_2/2] → break | [q_1/1,Small_Stmts,q_2/2] → ... | | |
| [q_0/0,Atom,q_1/0] → [q_0/0,Atom,q_1/0] ε+ | [q_2/1,Small_Stmts,q_2/2] → raise | [q_1/1,Small_Stmts,q_2/2] → pass | | |
| [q_0/0,Atom,q_1/0] → ε+ [q_0/0,Atom,q_1/0] | [q_2/1,Small_Stmts,q_2/2] → False | [q_1/1,Small_Stmts,q_2/2] → NAME | | |
| [q_0/0,Expr,q_1/0] → NUMBER | [q_2/1,Small_Stmts,q_2/2] → yield | [q_1/1,Small_Stmts,q_2/2] → None | | |
| [q_0/0,Expr,q_1/0] → [q_0/0,Expr,q_1/0] ε+ | [q_2/1,Small_Stmts,q_2/2] → return | [q_1/1,Small_Stmts,q_2/2] → True | | |
| [q_0/0,Expr,q_1/0] → ε+ [q_0/0,Expr,q_1/0] | [q_2/1,Small_Stmts,q_2/2] → NUMBER | [q_1/1,Small_Stmts,q_2/2] → break | | |
| [q_0/0,Term,q_1/0] → NUMBER | [q_2/1,Small_Stmts,q_2/2] → STRING | [q_1/1,Small_Stmts,q_2/2] → raise | | |
| [q_0/0,Term,q_1/0] → [q_0/0,Term,q_1/0] ε+ | [q_2/1,Small_Stmts,q_2/2] → continue | [q_1/1,Small_Stmts,q_2/2] → False | | |
| [q_0/0,Term,q_1/0] → ε+ [q_0/0,Term,q_1/0] | [q_2/1,Small_Stmts,q_2/2] → [q_2/1,Small_Stmts,q_2/2] ε+ | [q_1/1,Small_Stmts,q_2/2] → yield | | |
| [q_0/1,Atom,q_1/1] → NUMBER | [q_2/1,Small_Stmts,q_2/2] → ε+ [q_2/1,Small_Stmts,q_2/2] | [q_1/1,Small_Stmts,q_2/2] → return | | |
| [q_0/1,Atom,q_1/1] → [q_0/1,Atom,q_1/1] ε+ | [q_0/0,Del_Keyword,q_0/1] → del | [q_1/1,Small_Stmts,q_2/2] → NUMBER | | |
| [q_0/1,Atom,q_1/1] → ε+ [q_0/1,Atom,q_1/1] | [q_0/0,Del_Keyword,q_0/1] → [q_0/0,Del_Keyword,q_0/1] ε+ | [q_1/1,Small_Stmts,q_2/2] → STRING | | |
| [q_0/1,Expr,q_1/1] → NUMBER | [q_0/0,Del_Keyword,q_0/1] → ε+ [q_0/0,Del_Keyword,q_0/1] | [q_1/1,Small_Stmts,q_2/2] → continue | | |
| [q_0/1,Expr,q_1/1] → [q_0/1,Expr,q_1/1] ε+ | [q_0/0,Del_Keyword,q_1/1] → del | [q_1/1,Small_Stmts,q_2/2] → [q_1/1,Small_Stmts,q_2/2] ε+ | | |
| [q_0/1,Expr,q_1/1] → ε+ [q_0/1,Expr,q_1/1] | [q_0/0,Del_Keyword,q_1/1] → [q_0/0,Del_Keyword,q_1/1] ε+ | [q_1/1,Small_Stmts,q_2/2] → ε+ [q_1/1,Small_Stmts,q_2/2] | | |
| [q_0/1,Test,q_1/1] → NUMBER | [q_0/0,Del_Keyword,q_1/1] → ε+ [q_0/0,Del_Keyword,q_1/1] | [q_1/1,Small_Stmts,q_2/2] → [q_1/1,Unary_Op,q_2/1] [q_2/1,Factor,q_2/2] | | |
| [q_0/1,Test,q_1/1] → [q_0/1,Test,q_1/1] ε+ | [q_0/0,Not_Bool_Op,q_0/1] → not | [q_1/0,Annotated_Assign,q_2/2] → [q_1/0,Annotated_Assign,q_2/2] ε+ | | |
| [q_0/1,Test,q_1/1] → ε+ [q_0/1,Test,q_1/1] | [q_0/0,Not_Bool_Op,q_0/1] → [q_0/0,Not_Bool_Op,q_0/1] ε+ | [q_1/0,Annotated_Assign,q_2/2] → ε+ [q_1/0,Annotated_Assign,q_2/2] | | |
| [q_1/0,Colon,q_1/1] → : | [q_0/0,Not_Bool_Op,q_0/1] → ε+ [q_0/0,Not_Bool_Op,q_0/1] | [q_1/0,Annotated_Assign,q_2/2] → [q_1/0,Colon,q_1/1] [q_1/1,Test,q_2/2] | | |
| [q_1/0,Colon,q_1/1] → [q_1/0,Colon,q_1/1] ε+ | [q_0/0,Not_Bool_Op,q_1/1] → not | [q_1/0,Annotated_Assign,q_2/2] → [q_1/0,Colon,q_2/1] [q_2/1,Test,q_2/2] | | |
| [q_1/0,Colon,q_1/1] → ε+ [q_1/0,Colon,q_1/1] | [q_0/0,Not_Bool_Op,q_1/1] → [q_0/0,Not_Bool_Op,q_1/1] ε+ | [q_1/0,Arith_Op.Term,q_2/2] → [q_1/0,Arith_Op,q_1/1] [q_1/1,Term,q_2/2] | | |
| [q_1/0,Colon,q_2/1] → : | [q_0/0,Not_Bool_Op,q_1/1] → ε+ [q_0/0,Not_Bool_Op,q_1/1] | [q_1/0,Arith_Op.Term,q_2/2] → [q_1/0,Arith_Op,q_2/0] [q_2/0,Term,q_2/2] | | |
| [q_1/0,Colon,q_2/1] → [q_1/0,Colon,q_2/1] ε+ | [q_0/0,Small_Stmts,q_1/0] → NUMBER | [q_1/0,Arith_Op.Term,q_2/2] → [q_1/0,Arith_Op,q_2/1] [q_2/1,Term,q_2/2] | | |
| [q_1/0,Colon,q_2/1] → ε+ [q_1/0,Colon,q_2/1] | [q_0/0,Small_Stmts,q_1/0] → [q_0/0,Small_Stmts,q_1/0] ε+ | [q_1/0,Arith_Op.Term,q_2/1] → [q_1/0,Arith_Op,q_2/0] [q_2/0,Term,q_2/1] | | |
| [q_1/0,Comma,q_1/1] → , | [q_0/0,Small_Stmts,q_1/0] → ε+ [q_0/0,Small_Stmts,q_1/0] | [q_1/0,Arith_Op.Term,q_3/1] → [q_1/0,Arith_Op,q_2/0] [q_2/0,Term,q_3/1] | | |
| [q_1/0,Comma,q_1/1] → [q_1/0,Comma,q_1/1] ε+ | [q_0/1,Small_Stmts,q_1/1] → NUMBER | [q_1/1,Arith_Op.Term,q_2/2] → [q_1/1,Arith_Op,q_2/1] [q_2/1,Term,q_2/2] | | |
| [q_1/0,Comma,q_1/1] → ε+ [q_1/0,Comma,q_1/1] | [q_0/1,Small_Stmts,q_1/1] → [q_0/1,Small_Stmts,q_1/1] ε+ | [q_0/0,Arith_Expr,q_1/1] → ... | | |
| [q_1/0,Comma,q_2/1] → , | [q_0/1,Small_Stmts,q_1/1] → ε+ [q_0/1,Small_Stmts,q_1/1] | [q_0/0,Arith_Expr,q_1/1] → NAME | | |
| [q_1/0,Comma,q_2/1] → [q_1/0,Comma,q_2/1] ε+ | [q_1/0,And_Bool_Op,q_1/1] → and | [q_0/0,Arith_Expr,q_1/1] → None | | |
| [q_1/0,Comma,q_2/1] → ε+ [q_1/0,Comma,q_2/1] | [q_1/0,And_Bool_Op,q_1/1] → [q_1/0,And_Bool_Op,q_1/1] ε+ | [q_0/0,Arith_Expr,q_1/1] → True | | |
| [q_1/0,Or_Op,q_1/1] → OR | [q_1/0,And_Bool_Op,q_1/1] → ε+ [q_1/0,And_Bool_Op,q_1/1] | [q_0/0,Arith_Expr,q_1/1] → False | | |
| [q_1/0,Or_Op,q_1/1] → [q_1/0,Or_Op,q_1/1] ε+ | [q_1/0,And_Bool_Op,q_2/1] → and | [q_0/0,Arith_Expr,q_1/1] → STRING | | |
| [q_1/0,Or_Op,q_1/1] → ε+ [q_1/0,Or_Op,q_1/1] | [q_1/0,And_Bool_Op,q_2/1] → [q_1/0,And_Bool_Op,q_2/1] ε+ | [q_0/0,Arith_Expr,q_1/1] → [q_0/0,Arith_Expr,q_1/1] ε+ | | |
| [q_1/0,Or_Op,q_2/1] → OR | [q_1/0,And_Bool_Op,q_2/1] → ε+ [q_1/0,And_Bool_Op,q_2/1] | [q_0/0,Arith_Expr,q_1/1] → ε+ [q_0/0,Arith_Expr,q_1/1] | | |
| [q_1/0,Or_Op,q_2/1] → [q_1/0,Or_Op,q_2/1] ε+ | [q_1/1,Close_Paren,q_2/2] → ) | [q_0/0,Arith_Expr,q_1/1] → [q_0/0,Unary_Op,q_0/1] [q_0/1,Factor,q_1/1] | | |
| [q_1/0,Or_Op,q_2/1] → ε+ [q_1/0,Or_Op,q_2/1] | [q_1/1,Close_Paren,q_2/2] → [q_1/1,Close_Paren,q_2/2] ε+ | [q_0/0,Arith_Expr,q_1/1] → [q_0/0,Await_Keyword,q_0/1] [q_0/1,Atom,q_1/1] | | |
| [q_1/1,Comma,q_2/2] → , | [q_1/1,Close_Paren,q_2/2] → ε+ [q_1/1,Close_Paren,q_2/2] | [q_0/1,Expr,q_2/2] → [q_0/1,Expr,q_2/2] ε+ | | |
| [q_1/1,Comma,q_2/2] → [q_1/1,Comma,q_2/2] ε+ | [q_1/1,Simple_Name,q_2/2] → NAME | [q_0/1,Expr,q_2/2] → ε+ [q_0/1,Expr,q_2/2] | | |
| [q_1/1,Comma,q_2/2] → ε+ [q_1/1,Comma,q_2/2] | [q_1/1,Simple_Name,q_2/2] → [q_1/1,Simple_Name,q_2/2] ε+ | [q_0/1,Expr,q_2/2] → [q_0/1,Arith_Expr,q_1/1] [q_1/1,Arith_Op.Term,q_2/2] | | |
| [q_2/1,Comma,q_2/2] → , | [q_1/1,Simple_Name,q_2/2] → ε+ [q_1/1,Simple_Name,q_2/2] | [q_0/1,Test,q_2/2] → [q_0/1,Test,q_2/2] ε+ | | |
| [q_2/1,Comma,q_2/2] → [q_2/1,Comma,q_2/2] ε+ | [q_2/1,Close_Paren,q_2/2] → ) | [q_0/1,Test,q_2/2] → ε+ [q_0/1,Test,q_2/2] | | |
| [q_2/1,Comma,q_2/2] → ε+ [q_2/1,Comma,q_2/2] | [q_2/1,Close_Paren,q_2/2] → [q_2/1,Close_Paren,q_2/2] ε+ | [q_0/1,Test,q_2/2] → [q_0/1,Arith_Expr,q_1/1] [q_1/1,Arith_Op.Term,q_2/2] | | |
| [q_2/1,Factor,q_2/2] → ... | [q_2/1,Close_Paren,q_2/2] → ε+ [q_2/1,Close_Paren,q_2/2] | [q_1/0,Or_Op.Xor_Expr,q_2/2] → [q_1/0,Or_Op,q_1/1] [q_1/1,Xor_Expr,q_2/2] | | |
| [q_2/1,Factor,q_2/2] → NAME | [q_2/1,F.Endmarker,q_3/2] → Endmarker | [q_1/0,Or_Op.Xor_Expr,q_2/2] → [q_1/0,Or_Op,q_2/1] [q_2/1,Xor_Expr,q_2/2] | | |
| [q_2/1,Factor,q_2/2] → None | [q_2/1,F.Endmarker,q_3/2] → [q_2/1,F.Endmarker,q_3/2] ε+ | [q_1/0,Xor_Op.And_Expr,q_2/2] → [q_1/0,Xor_Op,q_1/1] [q_1/1,And_Expr,q_2/2] | | |
| [q_2/1,Factor,q_2/2] → True | [q_2/1,F.Endmarker,q_3/2] → ε+ [q_2/1,F.Endmarker,q_3/2] | [q_1/0,Xor_Op.And_Expr,q_2/2] → [q_1/0,Xor_Op,q_2/1] [q_2/1,And_Expr,q_2/2] | | |
| [q_2/1,Factor,q_2/2] → False | [q_2/1,Simple_Name,q_2/2] → NAME | [q_1/1,Testlist_Endcomma,q_2/2] → ... | | |
| [q_2/1,Factor,q_2/2] → NUMBER | [q_2/1,Simple_Name,q_2/2] → [q_2/1,Simple_Name,q_2/2] ε+ | [q_1/1,Testlist_Endcomma,q_2/2] → NAME | | |
| [q_2/1,Factor,q_2/2] → STRING | [q_2/1,Simple_Name,q_2/2] → ε+ [q_2/1,Simple_Name,q_2/2] | [q_1/1,Testlist_Endcomma,q_2/2] → None | | |
| [q_2/1,Factor,q_2/2] → [q_2/1,Factor,q_2/2] ε+ | [q_3/1,F.Endmarker,q_3/2] → Endmarker | [q_1/1,Testlist_Endcomma,q_2/2] → True | | |
| [q_2/1,Factor,q_2/2] → ε+ [q_2/1,Factor,q_2/2] | [q_3/1,F.Endmarker,q_3/2] → [q_3/1,F.Endmarker,q_3/2] ε+ | [q_1/1,Testlist_Endcomma,q_2/2] → False | | |
| [q_0/1,Factor,q_1/1] → NUMBER | [q_3/1,F.Endmarker,q_3/2] → ε+ [q_3/1,F.Endmarker,q_3/2] | [q_1/1,Testlist_Endcomma,q_2/2] → NUMBER | | |
| [q_0/1,Factor,q_1/1] → [q_0/1,Factor,q_1/1] ε+ | [q_3/1,F.Endmarker,q_4/2] → Endmarker | [q_1/1,Testlist_Endcomma,q_2/2] → STRING | | |
| [q_0/1,Factor,q_1/1] → ε+ [q_0/1,Factor,q_1/1] | [q_3/1,F.Endmarker,q_4/2] → [q_3/1,F.Endmarker,q_4/2] ε+ | [q_1/1,Testlist_Endcomma,q_2/2] → [q_1/1,Testlist_Endcomma,q_2/2] ε+ | | |
| [q_1/0,And_Op,q_1/1] → & | [q_3/1,F.Endmarker,q_4/2] → ε+ [q_3/1,F.Endmarker,q_4/2] | [q_1/1,Testlist_Endcomma,q_2/2] → ε+ [q_1/1,Testlist_Endcomma,q_2/2] | | |
| [q_1/0,And_Op,q_1/1] → [q_1/0,And_Op,q_1/1] ε+ | [q_0/0,Await_Keyword,q_0/1] → await | [q_1/1,Testlist_Endcomma,q_2/2] → [q_1/1,Unary_Op,q_2/1] [q_2/1,Factor,q_2/2] | | |
| [q_1/0,And_Op,q_1/1] → ε+ [q_1/0,And_Op,q_1/1] | [q_0/0,Await_Keyword,q_0/1] → [q_0/0,Await_Keyword,q_0/1] ε+ | [q_0/1,Exprlist,q_2/2] → [q_0/1,Exprlist,q_2/2] ε+ | | |
| [q_1/0,And_Op,q_2/1] → & | [q_0/0,Await_Keyword,q_0/1] → ε+ [q_0/0,Await_Keyword,q_0/1] | [q_0/1,Exprlist,q_2/2] → ε+ [q_0/1,Exprlist,q_2/2] | | |
| [q_1/0,And_Op,q_2/1] → [q_1/0,And_Op,q_2/1] ε+ | [q_0/0,Await_Keyword,q_1/1] → await | [q_0/1,Exprlist,q_2/2] → [q_0/1,Generic_Exprs,q_1/1] [q_1/1,Comma,q_2/2] | | |
| [q_1/0,And_Op,q_2/1] → ε+ [q_1/0,And_Op,q_2/1] | [q_0/0,Await_Keyword,q_1/1] → [q_0/0,Await_Keyword,q_1/1] ε+ | [q_0/1,Exprlist,q_2/2] → [q_0/1,Arith_Expr,q_1/1] [q_1/1,Arith_Op.Term,q_2/2] | | |
| [q_1/0,Xor_Op,q_1/1] → ^ | [q_0/0,Await_Keyword,q_1/1] → ε+ [q_0/0,Await_Keyword,q_1/1] | [q_0/1,Not_Test,q_2/2] → [q_0/1,Not_Test,q_2/2] ε+ | | |
| [q_1/0,Xor_Op,q_1/1] → [q_1/0,Xor_Op,q_1/1] ε+ | [q_0/0,Raise_Keyword,q_0/1] → raise | [q_0/1,Not_Test,q_2/2] → ε+ [q_0/1,Not_Test,q_2/2] | | |
| [q_1/0,Xor_Op,q_1/1] → ε+ [q_1/0,Xor_Op,q_1/1] | [q_0/0,Raise_Keyword,q_0/1] → [q_0/0,Raise_Keyword,q_0/1] ε+ | [q_0/1,Not_Test,q_2/2] → [q_0/1,Arith_Expr,q_1/1] [q_1/1,Arith_Op.Term,q_2/2] | | |
| [q_1/0,Xor_Op,q_2/1] → ^ | [q_0/0,Raise_Keyword,q_0/1] → ε+ [q_0/0,Raise_Keyword,q_0/1] | [q_1/0,MulDiv_Op.Factor,q_2/2] → [q_1/0,MulDiv_Op,q_1/1] [q_1/1,Factor,q_2/2] | | |
| [q_1/0,Xor_Op,q_2/1] → [q_1/0,Xor_Op,q_2/1] ε+ | [q_0/0,Raise_Keyword,q_1/1] → raise | [q_1/0,MulDiv_Op.Factor,q_2/2] → [q_1/0,MulDiv_Op,q_2/1] [q_2/1,Factor,q_2/2] | | |
| [q_1/0,Xor_Op,q_2/1] → ε+ [q_1/0,Xor_Op,q_2/1] | [q_0/0,Raise_Keyword,q_1/1] → [q_0/0,Raise_Keyword,q_1/1] ε+ | [q_1/1,Test_Or_Star_Exprs,q_2/2] → ... | | |
| [q_1/0,Comp_Op,q_1/1] → < | [q_0/0,Raise_Keyword,q_1/1] → ε+ [q_0/0,Raise_Keyword,q_1/1] | [q_1/1,Test_Or_Star_Exprs,q_2/2] → NAME | | |
| [q_1/0,Comp_Op,q_1/1] → > | [q_0/0,Yield_Keyword,q_0/1] → yield | [q_1/1,Test_Or_Star_Exprs,q_2/2] → None | | |
| [q_1/0,Comp_Op,q_1/1] → == | [q_0/0,Yield_Keyword,q_0/1] → [q_0/0,Yield_Keyword,q_0/1] ε+ | [q_1/1,Test_Or_Star_Exprs,q_2/2] → True | | |
| [q_1/0,Comp_Op,q_1/1] → >= | [q_0/0,Yield_Keyword,q_0/1] → ε+ [q_0/0,Yield_Keyword,q_0/1] | [q_1/1,Test_Or_Star_Exprs,q_2/2] → False | | |
| [q_1/0,Comp_Op,q_1/1] → <= | [q_0/0,Yield_Keyword,q_1/1] → yield | [q_1/1,Test_Or_Star_Exprs,q_2/2] → NUMBER | | |
| [q_1/0,Comp_Op,q_1/1] → <> | [q_0/0,Yield_Keyword,q_1/1] → [q_0/0,Yield_Keyword,q_1/1] ε+ | [q_1/1,Test_Or_Star_Exprs,q_2/2] → STRING | | |
| [q_1/0,Comp_Op,q_1/1] → != | [q_0/0,Yield_Keyword,q_1/1] → ε+ [q_0/0,Yield_Keyword,q_1/1] | [q_1/1,Test_Or_Star_Exprs,q_2/2] → [q_1/1,Test_Or_Star_Exprs,q_2/2] ε+ | | |
| [q_1/0,Comp_Op,q_1/1] → in | [q_0/1,Generic_Exprs,q_1/1] → NUMBER | [q_1/1,Test_Or_Star_Exprs,q_2/2] → ε+ [q_1/1,Test_Or_Star_Exprs,q_2/2] | | |
| [q_1/0,Comp_Op,q_1/1] → is | [q_0/1,Generic_Exprs,q_1/1] → [q_0/1,Generic_Exprs,q_1/1] ε+ | [q_1/1,Test_Or_Star_Exprs,q_2/2] → [q_1/1,Unary_Op,q_2/1] [q_2/1,Factor,q_2/2] | | |
| [q_1/0,Comp_Op,q_1/1] → not_in | [q_0/1,Generic_Exprs,q_1/1] → ε+ [q_0/1,Generic_Exprs,q_1/1] | [q_1/1,Testlist_Star_Expr,q_2/2] → ... | | |
| [q_1/0,Comp_Op,q_1/1] → is_not | [q_0/1,Testlist_Comp,q_1/1] → NUMBER | [q_1/1,Testlist_Star_Expr,q_2/2] → NAME | | |
| [q_1/0,Comp_Op,q_1/1] → [q_1/0,Comp_Op,q_1/1] ε+ | [q_0/1,Testlist_Comp,q_1/1] → [q_0/1,Testlist_Comp,q_1/1] ε+ | [q_1/1,Testlist_Star_Expr,q_2/2] → None | | |
| [q_1/0,Comp_Op,q_1/1] → ε+ [q_1/0,Comp_Op,q_1/1] | [q_0/1,Testlist_Comp,q_1/1] → ε+ [q_0/1,Testlist_Comp,q_1/1] | [q_1/1,Testlist_Star_Expr,q_2/2] → True | | |
| [q_1/0,Comp_Op,q_2/1] → < | [q_2/0,Await_Keyword,q_2/1] → await | [q_1/1,Testlist_Star_Expr,q_2/2] → False | | |
| [q_1/0,Comp_Op,q_2/1] → > | [q_2/0,Await_Keyword,q_2/1] → [q_2/0,Await_Keyword,q_2/1] ε+ | [q_1/1,Testlist_Star_Expr,q_2/2] → NUMBER | | |
| [q_1/0,Comp_Op,q_2/1] → == | [q_2/0,Await_Keyword,q_2/1] → ε+ [q_2/0,Await_Keyword,q_2/1] | [q_1/1,Testlist_Star_Expr,q_2/2] → STRING | | |
| [q_1/0,Comp_Op,q_2/1] → >= | [q_0/0,Assert_Keyword,q_0/1] → assert | [q_1/1,Testlist_Star_Expr,q_2/2] → [q_1/1,Testlist_Star_Expr,q_2/2] ε+ | | |
| [q_1/0,Comp_Op,q_2/1] → <= | [q_0/0,Assert_Keyword,q_0/1] → [q_0/0,Assert_Keyword,q_0/1] ε+ | [q_1/1,Testlist_Star_Expr,q_2/2] → ε+ [q_1/1,Testlist_Star_Expr,q_2/2] | | |
| [q_1/0,Comp_Op,q_2/1] → <> | [q_0/0,Assert_Keyword,q_0/1] → ε+ [q_0/0,Assert_Keyword,q_0/1] | [q_1/1,Testlist_Star_Expr,q_2/2] → [q_1/1,Unary_Op,q_2/1] [q_2/1,Factor,q_2/2] | | |
| [q_1/0,Comp_Op,q_2/1] → != | [q_0/0,Assert_Keyword,q_1/1] → assert | [q_0/1,Yield_Arg,q_2/2] → [q_0/1,Yield_Arg,q_2/2] ε+ | | |
| [q_1/0,Comp_Op,q_2/1] → in | [q_0/0,Assert_Keyword,q_1/1] → [q_0/0,Assert_Keyword,q_1/1] ε+ | [q_0/1,Yield_Arg,q_2/2] → ε+ [q_0/1,Yield_Arg,q_2/2] | | |
| [q_1/0,Comp_Op,q_2/1] → is | [q_0/0,Assert_Keyword,q_1/1] → ε+ [q_0/0,Assert_Keyword,q_1/1] | [q_0/1,Yield_Arg,q_2/2] → [q_0/1,Test,q_1/1] [q_1/1,Comma,q_2/2] | | |
| [q_1/0,Comp_Op,q_2/1] → not_in | [q_0/0,Global_Keyword,q_1/1] → global | [q_0/1,Yield_Arg,q_2/2] → [q_0/1,Arith_Expr,q_1/1] [q_1/1,Arith_Op.Term,q_2/2] | | |
| [q_1/0,Comp_Op,q_2/1] → is_not | [q_0/0,Global_Keyword,q_1/1] → [q_0/0,Global_Keyword,q_1/1] ε+ | [q_0/0,Stmt_Or_Newline,q_1/1] → NEWLINE | | |
| [q_1/0,Comp_Op,q_2/1] → [q_1/0,Comp_Op,q_2/1] ε+ | [q_0/0,Global_Keyword,q_1/1] → ε+ [q_0/0,Global_Keyword,q_1/1] | [q_0/0,Stmt_Or_Newline,q_1/1] → [q_0/0,Stmt_Or_Newline,q_1/1] ε+ | | |
| [q_1/0,Comp_Op,q_2/1] → ε+ [q_1/0,Comp_Op,q_2/1] | [q_0/0,Import_Keyword,q_1/1] → import | [q_0/0,Stmt_Or_Newline,q_1/1] → ε+ [q_0/0,Stmt_Or_Newline,q_1/1] | | |
| [q_0/0,Or_Test,q_1/0] → NUMBER | [q_0/0,Import_Keyword,q_1/1] → [q_0/0,Import_Keyword,q_1/1] ε+ | [q_0/0,Stmt_Or_Newline,q_1/1] → [q_0/0,Small_Stmts,q_1/0] [q_1/0,Newline,q_1/1] | | |
| [q_0/0,Or_Test,q_1/0] → [q_0/0,Or_Test,q_1/0] ε+ | [q_0/0,Import_Keyword,q_1/1] → ε+ [q_0/0,Import_Keyword,q_1/1] | [q_0/0,Stmt_Or_Newline,q_2/1] → [q_0/0,Stmt_Or_Newline,q_2/1] ε+ | | |
| [q_0/0,Or_Test,q_1/0] → ε+ [q_0/0,Or_Test,q_1/0] | [q_0/0,Return_Keyword,q_0/1] → return | [q_0/0,Stmt_Or_Newline,q_2/1] → ε+ [q_0/0,Stmt_Or_Newline,q_2/1] | | |
| [q_0/0,Star_Op,q_0/1] → * | [q_0/0,Return_Keyword,q_0/1] → [q_0/0,Return_Keyword,q_0/1] ε+ | [q_0/0,Stmt_Or_Newline,q_2/1] → [q_0/0,Small_Stmts,q_1/0] [q_1/0,Newline,q_2/1] | | |
| [q_0/0,Star_Op,q_0/1] → [q_0/0,Star_Op,q_0/1] ε+ | [q_0/0,Return_Keyword,q_0/1] → ε+ [q_0/0,Return_Keyword,q_0/1] | [q_0/1,Stmt_Or_Newline,q_2/2] → [q_0/1,Stmt_Or_Newline,q_2/2] ε+ | | |
| [q_0/0,Star_Op,q_0/1] → ε+ [q_0/0,Star_Op,q_0/1] | [q_0/0,Return_Keyword,q_1/1] → return | [q_0/1,Stmt_Or_Newline,q_2/2] → ε+ [q_0/1,Stmt_Or_Newline,q_2/2] | | |
| [q_0/0,Star_Op,q_1/1] → * | [q_0/0,Return_Keyword,q_1/1] → [q_0/0,Return_Keyword,q_1/1] ε+ | [q_0/1,Stmt_Or_Newline,q_2/2] → [q_0/1,Small_Stmts,q_1/1] [q_1/1,Newline,q_2/2] | | |
| [q_0/0,Star_Op,q_1/1] → [q_0/0,Star_Op,q_1/1] ε+ | [q_0/0,Return_Keyword,q_1/1] → ε+ [q_0/0,Return_Keyword,q_1/1] | [q_1/0,And_Op.Shift_Expr,q_2/2] → [q_1/0,And_Op,q_1/1] [q_1/1,Shift_Expr,q_2/2] | | |
| [q_0/0,Star_Op,q_1/1] → ε+ [q_0/0,Star_Op,q_1/1] | [q_1/0,Double_Star_Op,q_1/1] → ** | [q_1/0,And_Op.Shift_Expr,q_2/2] → [q_1/0,And_Op,q_2/1] [q_2/1,Shift_Expr,q_2/2] | | |
| [q_1/0,Newline,q_1/1] → NEWLINE | [q_1/0,Double_Star_Op,q_1/1] → [q_1/0,Double_Star_Op,q_1/1] ε+ | [q_1/0,Semicolon.Newline,q_2/2] → [q_1/0,Semicolon,q_1/1] [q_1/1,Newline,q_2/2] | | |
| [q_1/0,Newline,q_1/1] → [q_1/0,Newline,q_1/1] ε+ | [q_1/0,Double_Star_Op,q_1/1] → ε+ [q_1/0,Double_Star_Op,q_1/1] | [q_1/0,Semicolon.Newline,q_3/1] → [q_1/0,Semicolon,q_2/1] [q_2/1,Newline,q_3/1] | | |
| [q_1/0,Newline,q_1/1] → ε+ [q_1/0,Newline,q_1/1] | [q_1/0,Double_Star_Op,q_2/1] → ** | [q_1/0,Semicolon.Newline,q_3/2] → [q_1/0,Semicolon,q_1/1] [q_1/1,Newline,q_3/2] | | |
| [q_1/0,Newline,q_2/1] → NEWLINE | [q_1/0,Double_Star_Op,q_2/1] → [q_1/0,Double_Star_Op,q_2/1] ε+ | [q_1/1,Semicolon.Newline,q_3/2] → [q_1/1,Semicolon,q_2/2] [q_2/2,Newline,q_3/2] | | |
| [q_1/0,Newline,q_2/1] → [q_1/0,Newline,q_2/1] ε+ | [q_1/0,Double_Star_Op,q_2/1] → ε+ [q_1/0,Double_Star_Op,q_2/1] | [q_2/1,Semicolon.Newline,q_3/2] → [q_2/1,Semicolon,q_2/2] [q_2/2,Newline,q_3/2] | | |
| [q_1/0,Newline,q_2/1] → ε+ [q_1/0,Newline,q_2/1] | [q_1/1,Expr,q_2/2] → ... | [q_1/0,Many_Trailers,q_2/2] → [q_1/0,Many_Trailers,q_2/2] ε+ | | |
| [q_1/0,Newline,q_3/1] → NEWLINE | [q_1/1,Expr,q_2/2] → NAME | [q_1/0,Many_Trailers,q_2/2] → ε+ [q_1/0,Many_Trailers,q_2/2] | | |
| [q_1/0,Newline,q_3/1] → [q_1/0,Newline,q_3/1] ε+ | [q_1/1,Expr,q_2/2] → None | [q_1/0,Many_Trailers,q_2/2] → [q_1/0,Dot,q_1/1] [q_1/1,Simple_Name,q_2/2] | | |
| [q_1/0,Newline,q_3/1] → ε+ [q_1/0,Newline,q_3/1] | [q_1/1,Expr,q_2/2] → True | [q_1/0,Many_Trailers,q_2/2] → [q_1/0,Dot,q_2/1] [q_2/1,Simple_Name,q_2/2] | | |
| [q_1/1,Newline,q_2/2] → NEWLINE | [q_1/1,Expr,q_2/2] → False | [q_1/0,Many_Trailers,q_2/2] → [q_1/0,Open_Paren,q_1/1] [q_1/1,Close_Paren,q_2/2] | | |
| [q_1/1,Newline,q_2/2] → [q_1/1,Newline,q_2/2] ε+ | [q_1/1,Expr,q_2/2] → NUMBER | [q_1/0,Many_Trailers,q_2/2] → [q_1/0,Open_Paren,q_2/1] [q_2/1,Close_Paren,q_2/2] | | |
| [q_1/1,Newline,q_2/2] → ε+ [q_1/1,Newline,q_2/2] | [q_1/1,Expr,q_2/2] → STRING | [q_0/0,Small_Stmts,q_2/1] → [q_0/0,Small_Stmts,q_2/1] ε+ | | |
| [q_1/1,Newline,q_3/2] → NEWLINE | [q_1/1,Expr,q_2/2] → [q_1/1,Expr,q_2/2] ε+ | [q_0/0,Small_Stmts,q_2/1] → ε+ [q_0/0,Small_Stmts,q_2/1] | | |
| [q_1/1,Newline,q_3/2] → [q_1/1,Newline,q_3/2] ε+ | [q_1/1,Expr,q_2/2] → ε+ [q_1/1,Expr,q_2/2] | [q_0/0,Small_Stmts,q_2/1] → [q_0/0,Test_Or_Star_Exprs,q_1/0] [q_1/0,Comma,q_2/1] | | |
| [q_1/1,Newline,q_3/2] → ε+ [q_1/1,Newline,q_3/2] | [q_1/1,Expr,q_2/2] → [q_1/1,Unary_Op,q_2/1] [q_2/1,Factor,q_2/2] | [q_0/0,Small_Stmts,q_2/1] → [q_0/0,Arith_Expr,q_1/0] [q_1/0,Arith_Op.Term,q_2/1] | | |
| [q_2/1,Newline,q_3/1] → NEWLINE | [q_1/1,Term,q_2/2] → ... | [q_0/1,Small_Stmts,q_2/2] → [q_0/1,Small_Stmts,q_2/2] ε+ | | |
| [q_2/1,Newline,q_3/1] → [q_2/1,Newline,q_3/1] ε+ | [q_1/1,Term,q_2/2] → NAME | [q_0/1,Small_Stmts,q_2/2] → ε+ [q_0/1,Small_Stmts,q_2/2] | | |
| [q_2/1,Newline,q_3/1] → ε+ [q_2/1,Newline,q_3/1] | [q_1/1,Term,q_2/2] → None | [q_0/1,Small_Stmts,q_2/2] → [q_0/1,Test_Or_Star_Exprs,q_1/1] [q_1/1,Comma,q_2/2] | | |
| [q_2/2,Newline,q_3/2] → NEWLINE | [q_1/1,Term,q_2/2] → True | [q_0/1,Small_Stmts,q_2/2] → [q_0/1,Arith_Expr,q_1/1] [q_1/1,Arith_Op.Term,q_2/2] | | |
| [q_2/2,Newline,q_3/2] → [q_2/2,Newline,q_3/2] ε+ | [q_1/1,Term,q_2/2] → False | [q_0/0,Small_Stmts,q_3/1] → [q_0/0,Small_Stmts,q_3/1] ε+ | | |
| [q_2/2,Newline,q_3/2] → ε+ [q_2/2,Newline,q_3/2] | [q_1/1,Term,q_2/2] → NUMBER | [q_0/0,Small_Stmts,q_3/1] → ε+ [q_0/0,Small_Stmts,q_3/1] | | |
| [q_3/1,Newline,q_3/2] → NEWLINE | [q_1/1,Term,q_2/2] → STRING | [q_0/0,Small_Stmts,q_3/1] → [q_0/0,Arith_Expr,q_1/0] [q_1/0,Arith_Op.Term,q_3/1] | | |
| [q_3/1,Newline,q_3/2] → [q_3/1,Newline,q_3/2] ε+ | [q_1/1,Term,q_2/2] → [q_1/1,Term,q_2/2] ε+ | [q_0/0,Stmts_Or_Newlines,q_2/1] → [q_0/0,Stmts_Or_Newlines,q_2/1] ε+ | | |
| [q_3/1,Newline,q_3/2] → ε+ [q_3/1,Newline,q_3/2] | [q_1/1,Term,q_2/2] → ε+ [q_1/1,Term,q_2/2] | [q_0/0,Stmts_Or_Newlines,q_2/1] → ε+ [q_0/0,Stmts_Or_Newlines,q_2/1] | | |
| [q_3/1,Newline,q_4/2] → NEWLINE | [q_1/1,Term,q_2/2] → [q_1/1,Unary_Op,q_2/1] [q_2/1,Factor,q_2/2] | [q_0/0,Stmts_Or_Newlines,q_2/1] → [q_0/0,Small_Stmts,q_1/0] [q_1/0,Newline,q_2/1] | | |
| [q_3/1,Newline,q_4/2] → [q_3/1,Newline,q_4/2] ε+ | [q_1/1,Test,q_2/2] → ... | [q_0/0,Test_Or_Star_Exprs,q_1/1] → ... | | |
| [q_3/1,Newline,q_4/2] → ε+ [q_3/1,Newline,q_4/2] | [q_1/1,Test,q_2/2] → NAME | [q_0/0,Test_Or_Star_Exprs,q_1/1] → NAME | | |
| [q_2/1,And_Expr,q_2/2] → ... | [q_1/1,Test,q_2/2] → None | [q_0/0,Test_Or_Star_Exprs,q_1/1] → None | | |
| [q_2/1,And_Expr,q_2/2] → NAME | [q_1/1,Test,q_2/2] → True | [q_0/0,Test_Or_Star_Exprs,q_1/1] → True | | |
| [q_2/1,And_Expr,q_2/2] → None | [q_1/1,Test,q_2/2] → False | [q_0/0,Test_Or_Star_Exprs,q_1/1] → False | | |
| [q_2/1,And_Expr,q_2/2] → True | [q_1/1,Test,q_2/2] → NUMBER | [q_0/0,Test_Or_Star_Exprs,q_1/1] → STRING | | |
| [q_2/1,And_Expr,q_2/2] → False | [q_1/1,Test,q_2/2] → STRING | [q_0/0,Test_Or_Star_Exprs,q_1/1] → [q_0/0,Test_Or_Star_Exprs,q_1/1] ε+ | | |
| [q_2/1,And_Expr,q_2/2] → NUMBER | [q_1/1,Test,q_2/2] → [q_1/1,Test,q_2/2] ε+ | [q_0/0,Test_Or_Star_Exprs,q_1/1] → ε+ [q_0/0,Test_Or_Star_Exprs,q_1/1] | | |
| [q_2/1,And_Expr,q_2/2] → STRING | [q_1/1,Test,q_2/2] → ε+ [q_1/1,Test,q_2/2] | [q_0/0,Test_Or_Star_Exprs,q_1/1] → [q_0/0,Star_Op,q_0/1] [q_0/1,Expr,q_1/1] | | |
| [q_2/1,And_Expr,q_2/2] → [q_2/1,And_Expr,q_2/2] ε+ | [q_1/1,Test,q_2/2] → [q_1/1,Unary_Op,q_2/1] [q_2/1,Factor,q_2/2] | [q_0/0,Test_Or_Star_Exprs,q_1/1] → [q_0/0,Unary_Op,q_0/1] [q_0/1,Factor,q_1/1] | | |
| [q_2/1,And_Expr,q_2/2] → ε+ [q_2/1,And_Expr,q_2/2] | [q_0/0,Open_Sq_Bracket,q_0/1] → [ | [q_0/0,Test_Or_Star_Exprs,q_1/1] → [q_0/0,Await_Keyword,q_0/1] [q_0/1,Atom,q_1/1] | | |
| [q_2/1,And_Test,q_2/2] → ... | [q_0/0,Open_Sq_Bracket,q_0/1] → [q_0/0,Open_Sq_Bracket,q_0/1] ε+ | [q_0/0,Test_Or_Star_Exprs,q_1/1] → [q_0/0,Not_Bool_Op,q_0/1] [q_0/1,Not_Test,q_1/1] | | |
| [q_2/1,And_Test,q_2/2] → NAME | [q_0/0,Open_Sq_Bracket,q_0/1] → ε+ [q_0/0,Open_Sq_Bracket,q_0/1] | [q_1/0,Or_Bool_Op.And_Test,q_2/2] → [q_1/0,Or_Bool_Op,q_1/1] [q_1/1,And_Test,q_2/2] | | |
| [q_2/1,And_Test,q_2/2] → None | [q_0/0,Open_Sq_Bracket,q_1/1] → [ | [q_1/0,Or_Bool_Op.And_Test,q_2/2] → [q_1/0,Or_Bool_Op,q_2/1] [q_2/1,And_Test,q_2/2] | | |
| [q_2/1,And_Test,q_2/2] → True | [q_0/0,Open_Sq_Bracket,q_1/1] → [q_0/0,Open_Sq_Bracket,q_1/1] ε+ | [q_1/0,Shift_Op.Arith_Expr,q_2/2] → [q_1/0,Shift_Op,q_1/1] [q_1/1,Arith_Expr,q_2/2] | | |
| [q_2/1,And_Test,q_2/2] → False | [q_0/0,Open_Sq_Bracket,q_1/1] → ε+ [q_0/0,Open_Sq_Bracket,q_1/1] | [q_1/0,Shift_Op.Arith_Expr,q_2/2] → [q_1/0,Shift_Op,q_2/1] [q_2/1,Arith_Expr,q_2/2] | | |
| [q_2/1,And_Test,q_2/2] → NUMBER | [q_0/0,Stmt_Or_Newline,q_0/1] → NEWLINE | [q_2/0,Term,q_2/2] → [q_2/0,Term,q_2/2] ε+ | | |
| [q_2/1,And_Test,q_2/2] → STRING | [q_0/0,Stmt_Or_Newline,q_0/1] → [q_0/0,Stmt_Or_Newline,q_0/1] ε+ | [q_2/0,Term,q_2/2] → ε+ [q_2/0,Term,q_2/2] | | |
| [q_2/1,And_Test,q_2/2] → [q_2/1,And_Test,q_2/2] ε+ | [q_0/0,Stmt_Or_Newline,q_0/1] → ε+ [q_0/0,Stmt_Or_Newline,q_0/1] | [q_2/0,Term,q_2/2] → [q_2/0,Unary_Op,q_2/1] [q_2/1,Factor,q_2/2] | | |
| [q_2/1,And_Test,q_2/2] → ε+ [q_2/1,And_Test,q_2/2] | [q_1/1,Dotted_As_Names,q_2/2] → NAME | [q_2/0,Term,q_2/2] → [q_2/0,Await_Keyword,q_2/1] [q_2/1,Atom,q_2/2] | | |
| [q_2/1,Not_Test,q_2/2] → ... | [q_1/1,Dotted_As_Names,q_2/2] → [q_1/1,Dotted_As_Names,q_2/2] ε+ | [q_2/0,Term,q_2/2] → [q_2/0,Open_Paren,q_2/1] [q_2/1,Close_Paren,q_2/2] | | |
| [q_2/1,Not_Test,q_2/2] → NAME | [q_1/1,Dotted_As_Names,q_2/2] → ε+ [q_1/1,Dotted_As_Names,q_2/2] | [q_2/0,Term,q_2/2] → [q_2/0,Open_Sq_Bracket,q_2/1] [q_2/1,Close_Sq_Bracket,q_2/2] | | |
| [q_2/1,Not_Test,q_2/2] → None | [q_1/1,Stmt_Or_Newline,q_2/2] → NEWLINE | [q_2/0,Term,q_2/2] → [q_2/0,Open_Curl_Bracket,q_2/1] [q_2/1,Close_Curl_Bracket,q_2/2] | | |
| [q_2/1,Not_Test,q_2/2] → True | [q_1/1,Stmt_Or_Newline,q_2/2] → [q_1/1,Stmt_Or_Newline,q_2/2] ε+ | [q_1/0,And_Bool_Op.Not_Test,q_2/2] → [q_1/0,And_Bool_Op,q_1/1] [q_1/1,Not_Test,q_2/2] | | |
| [q_2/1,Not_Test,q_2/2] → False | [q_1/1,Stmt_Or_Newline,q_2/2] → ε+ [q_1/1,Stmt_Or_Newline,q_2/2] | [q_1/0,And_Bool_Op.Not_Test,q_2/2] → [q_1/0,And_Bool_Op,q_2/1] [q_2/1,Not_Test,q_2/2] | | |
| [q_2/1,Not_Test,q_2/2] → NUMBER | [q_2/0,Open_Sq_Bracket,q_2/1] → [ | [q_0/1,Testlist_Endcomma,q_2/2] → [q_0/1,Testlist_Endcomma,q_2/2] ε+ | | |
| [q_2/1,Not_Test,q_2/2] → STRING | [q_2/0,Open_Sq_Bracket,q_2/1] → [q_2/0,Open_Sq_Bracket,q_2/1] ε+ | [q_0/1,Testlist_Endcomma,q_2/2] → ε+ [q_0/1,Testlist_Endcomma,q_2/2] | | |
| [q_2/1,Not_Test,q_2/2] → [q_2/1,Not_Test,q_2/2] ε+ | [q_2/0,Open_Sq_Bracket,q_2/1] → ε+ [q_2/0,Open_Sq_Bracket,q_2/1] | [q_0/1,Testlist_Endcomma,q_2/2] → [q_0/1,Test,q_1/1] [q_1/1,Comma,q_2/2] | | |
| [q_2/1,Not_Test,q_2/2] → ε+ [q_2/1,Not_Test,q_2/2] | [q_2/1,Stmt_Or_Newline,q_3/1] → NEWLINE | [q_0/1,Testlist_Endcomma,q_2/2] → [q_0/1,Arith_Expr,q_1/1] [q_1/1,Arith_Op.Term,q_2/2] | | |
| [q_2/1,Xor_Expr,q_2/2] → ... | [q_2/1,Stmt_Or_Newline,q_3/1] → [q_2/1,Stmt_Or_Newline,q_3/1] ε+ | [q_0/0,Test_Or_Star_Exprs,q_2/1] → [q_0/0,Test_Or_Star_Exprs,q_2/1] ε+ | | |
| [q_2/1,Xor_Expr,q_2/2] → NAME | [q_2/1,Stmt_Or_Newline,q_3/1] → ε+ [q_2/1,Stmt_Or_Newline,q_3/1] | [q_0/0,Test_Or_Star_Exprs,q_2/1] → ε+ [q_0/0,Test_Or_Star_Exprs,q_2/1] | | |
| [q_2/1,Xor_Expr,q_2/2] → None | [q_1/1,Factor,q_2/2] → ... | [q_0/0,Test_Or_Star_Exprs,q_2/1] → [q_0/0,Arith_Expr,q_1/0] [q_1/0,Arith_Op.Term,q_2/1] | | |
| [q_2/1,Xor_Expr,q_2/2] → True | [q_1/1,Factor,q_2/2] → NAME | [q_1/0,Aug_Assign.Yield_Expr,q_2/2] → [q_1/0,Aug_Assign,q_1/1] [q_1/1,Yield_Expr,q_2/2] | | |
| [q_2/1,Xor_Expr,q_2/2] → False | [q_1/1,Factor,q_2/2] → None | [q_1/0,Aug_Assign.Yield_Expr,q_2/2] → [q_1/0,Aug_Assign,q_2/1] [q_2/1,Yield_Expr,q_2/2] | | |
| [q_2/1,Xor_Expr,q_2/2] → NUMBER | [q_1/1,Factor,q_2/2] → True | [q_1/0,Double_Star_Op.Factor,q_2/2] → [q_1/0,Double_Star_Op,q_1/1] [q_1/1,Factor,q_2/2] | | |
| [q_2/1,Xor_Expr,q_2/2] → STRING | [q_1/1,Factor,q_2/2] → False | [q_1/0,Double_Star_Op.Factor,q_2/2] → [q_1/0,Double_Star_Op,q_2/1] [q_2/1,Factor,q_2/2] | | |
| [q_2/1,Xor_Expr,q_2/2] → [q_2/1,Xor_Expr,q_2/2] ε+ | [q_1/1,Factor,q_2/2] → NUMBER | [q_1/0,Semicolon.Small_Stmts,q_2/2] → [q_1/0,Semicolon,q_1/1] [q_1/1,Small_Stmts,q_2/2] | | |
| [q_2/1,Xor_Expr,q_2/2] → ε+ [q_2/1,Xor_Expr,q_2/2] | [q_1/1,Factor,q_2/2] → STRING | [q_1/0,Semicolon.Small_Stmts,q_2/2] → [q_1/0,Semicolon,q_2/1] [q_2/1,Small_Stmts,q_2/2] | | |
| [q_0/0,Unary_Op,q_0/1] → + | [q_1/1,Factor,q_2/2] → [q_1/1,Factor,q_2/2] ε+ | [q_0/0,Small_Stmts,q_1/1] → ... | | |
| [q_0/0,Unary_Op,q_0/1] → - | [q_1/1,Factor,q_2/2] → ε+ [q_1/1,Factor,q_2/2] | [q_0/0,Small_Stmts,q_1/1] → pass | | |
| [q_0/0,Unary_Op,q_0/1] → ~ | [q_1/1,Factor,q_2/2] → [q_1/1,Unary_Op,q_2/1] [q_2/1,Factor,q_2/2] | [q_0/0,Small_Stmts,q_1/1] → NAME | | |
| [q_0/0,Unary_Op,q_0/1] → [q_0/0,Unary_Op,q_0/1] ε+ | [q_0/0,Nonlocal_Keyword,q_1/1] → nonlocal | [q_0/0,Small_Stmts,q_1/1] → None | | |
| [q_0/0,Unary_Op,q_0/1] → ε+ [q_0/0,Unary_Op,q_0/1] | [q_0/0,Nonlocal_Keyword,q_1/1] → [q_0/0,Nonlocal_Keyword,q_1/1] ε+ | [q_0/0,Small_Stmts,q_1/1] → True | | |
| [q_0/0,Unary_Op,q_1/1] → + | [q_0/0,Nonlocal_Keyword,q_1/1] → ε+ [q_0/0,Nonlocal_Keyword,q_1/1] | [q_0/0,Small_Stmts,q_1/1] → break | | |
| [q_0/0,Unary_Op,q_1/1] → - | [q_1/1,Close_Sq_Bracket,q_2/2] → ] | [q_0/0,Small_Stmts,q_1/1] → raise | | |
| [q_0/0,Unary_Op,q_1/1] → ~ | [q_1/1,Close_Sq_Bracket,q_2/2] → [q_1/1,Close_Sq_Bracket,q_2/2] ε+ | [q_0/0,Small_Stmts,q_1/1] → False | | |
| [q_0/0,Unary_Op,q_1/1] → [q_0/0,Unary_Op,q_1/1] ε+ | [q_1/1,Close_Sq_Bracket,q_2/2] → ε+ [q_1/1,Close_Sq_Bracket,q_2/2] | [q_0/0,Small_Stmts,q_1/1] → yield | | |
| [q_0/0,Unary_Op,q_1/1] → ε+ [q_0/0,Unary_Op,q_1/1] | [q_2/1,Close_Sq_Bracket,q_2/2] → ] | [q_0/0,Small_Stmts,q_1/1] → return | | |
| [q_2/0,Unary_Op,q_2/1] → + | [q_2/1,Close_Sq_Bracket,q_2/2] → [q_2/1,Close_Sq_Bracket,q_2/2] ε+ | [q_0/0,Small_Stmts,q_1/1] → STRING | | |
| [q_2/0,Unary_Op,q_2/1] → - | [q_2/1,Close_Sq_Bracket,q_2/2] → ε+ [q_2/1,Close_Sq_Bracket,q_2/2] | [q_0/0,Small_Stmts,q_1/1] → continue | | |
| [q_2/0,Unary_Op,q_2/1] → ~ | [q_1/1,And_Expr,q_2/2] → ... | [q_0/0,Small_Stmts,q_1/1] → [q_0/0,Small_Stmts,q_1/1] ε+ | | |
| [q_2/0,Unary_Op,q_2/1] → [q_2/0,Unary_Op,q_2/1] ε+ | [q_1/1,And_Expr,q_2/2] → NAME | [q_0/0,Small_Stmts,q_1/1] → ε+ [q_0/0,Small_Stmts,q_1/1] | | |
| [q_2/0,Unary_Op,q_2/1] → ε+ [q_2/0,Unary_Op,q_2/1] | [q_1/1,And_Expr,q_2/2] → None | [q_0/0,Small_Stmts,q_1/1] → [q_0/0,Star_Op,q_0/1] [q_0/1,Expr,q_1/1] | | |
| [q_1/0,Shift_Op,q_1/1] → << | [q_1/1,And_Expr,q_2/2] → True | [q_0/0,Small_Stmts,q_1/1] → [q_0/0,Unary_Op,q_0/1] [q_0/1,Factor,q_1/1] | | |
| [q_1/0,Shift_Op,q_1/1] → >> | [q_1/1,And_Expr,q_2/2] → False | [q_0/0,Small_Stmts,q_1/1] → [q_0/0,Raise_Keyword,q_0/1] [q_0/1,Test,q_1/1] | | |
| [q_1/0,Shift_Op,q_1/1] → [q_1/0,Shift_Op,q_1/1] ε+ | [q_1/1,And_Expr,q_2/2] → NUMBER | [q_0/0,Small_Stmts,q_1/1] → [q_0/0,Await_Keyword,q_0/1] [q_0/1,Atom,q_1/1] | | |
| [q_1/0,Shift_Op,q_1/1] → ε+ [q_1/0,Shift_Op,q_1/1] | [q_1/1,And_Expr,q_2/2] → STRING | [q_0/0,Small_Stmts,q_1/1] → [q_0/0,Assert_Keyword,q_0/1] [q_0/1,Test,q_1/1] | | |
| [q_1/0,Shift_Op,q_2/1] → << | [q_1/1,And_Expr,q_2/2] → [q_1/1,And_Expr,q_2/2] ε+ | [q_0/0,Small_Stmts,q_1/1] → [q_0/0,Del_Keyword,q_0/1] [q_0/1,Exprlist,q_1/1] | | |
| [q_1/0,Shift_Op,q_2/1] → >> | [q_1/1,And_Expr,q_2/2] → ε+ [q_1/1,And_Expr,q_2/2] | [q_0/0,Small_Stmts,q_1/1] → [q_0/0,Not_Bool_Op,q_0/1] [q_0/1,Not_Test,q_1/1] | | |
| [q_1/0,Shift_Op,q_2/1] → [q_1/0,Shift_Op,q_2/1] ε+ | [q_1/1,And_Expr,q_2/2] → [q_1/1,Unary_Op,q_2/1] [q_2/1,Factor,q_2/2] | [q_0/0,Small_Stmts,q_1/1] → [q_0/0,Yield_Keyword,q_0/1] [q_0/1,Yield_Arg,q_1/1] | | |
| [q_1/0,Shift_Op,q_2/1] → ε+ [q_1/0,Shift_Op,q_2/1] | [q_1/1,And_Test,q_2/2] → ... | [q_0/0,Small_Stmts,q_1/1] → [q_0/0,Test_Or_Star_Exprs,q_1/0] [q_1/0,Comma,q_1/1] | | |
| [q_0/0,And_Expr,q_1/0] → NUMBER | [q_1/1,And_Test,q_2/2] → NAME | [q_0/0,Small_Stmts,q_1/1] → [q_0/0,Return_Keyword,q_0/1] [q_0/1,Testlist_Endcomma,q_1/1] | | |
| [q_0/0,And_Expr,q_1/0] → [q_0/0,And_Expr,q_1/0] ε+ | [q_1/1,And_Test,q_2/2] → None | [q_0/0,Stmt_Or_Newline,q_3/1] → [q_0/0,Stmt_Or_Newline,q_3/1] ε+ | | |
| [q_0/0,And_Expr,q_1/0] → ε+ [q_0/0,And_Expr,q_1/0] | [q_1/1,And_Test,q_2/2] → True | [q_0/0,Stmt_Or_Newline,q_3/1] → ε+ [q_0/0,Stmt_Or_Newline,q_3/1] | | |
| [q_0/0,And_Test,q_1/0] → NUMBER | [q_1/1,And_Test,q_2/2] → False | [q_0/0,Stmt_Or_Newline,q_3/1] → [q_0/0,Small_Stmts,q_1/0] [q_1/0,Newline,q_3/1] | | |
| [q_0/0,And_Test,q_1/0] → [q_0/0,And_Test,q_1/0] ε+ | [q_1/1,And_Test,q_2/2] → NUMBER | [q_0/0,Stmt_Or_Newline,q_3/1] → [q_0/0,Small_Stmts,q_2/1] [q_2/1,Newline,q_3/1] | | |
| [q_0/0,And_Test,q_1/0] → ε+ [q_0/0,And_Test,q_1/0] | [q_1/1,And_Test,q_2/2] → STRING | [q_0/0,Stmt_Or_Newline,q_3/1] → [q_0/0,Small_Stmts,q_1/0] [q_1/0,Semicolon.Newline,q_3/1] | | |
| [q_0/0,Xor_Expr,q_1/0] → NUMBER | [q_1/1,And_Test,q_2/2] → [q_1/1,And_Test,q_2/2] ε+ | [q_0/0,Stmt_Or_Newline,q_2/2] → [q_0/0,Stmt_Or_Newline,q_2/2] ε+ | | |
| [q_0/0,Xor_Expr,q_1/0] → [q_0/0,Xor_Expr,q_1/0] ε+ | [q_1/1,And_Test,q_2/2] → ε+ [q_1/1,And_Test,q_2/2] | [q_0/0,Stmt_Or_Newline,q_2/2] → ε+ [q_0/0,Stmt_Or_Newline,q_2/2] | | |
| [q_0/0,Xor_Expr,q_1/0] → ε+ [q_0/0,Xor_Expr,q_1/0] | [q_1/1,And_Test,q_2/2] → [q_1/1,Unary_Op,q_2/1] [q_2/1,Factor,q_2/2] | [q_0/0,Stmt_Or_Newline,q_2/2] → [q_0/0,Small_Stmts,q_1/1] [q_1/1,Newline,q_2/2] | | |
| [q_0/1,Exprlist,q_1/1] → NUMBER | [q_1/1,Exprlist,q_2/2] → ... | [q_0/0,Stmt_Or_Newline,q_2/2] → [q_0/0,Small_Stmts,q_1/0] [q_1/0,Semicolon.Newline,q_2/2] | | |
| [q_0/1,Exprlist,q_1/1] → [q_0/1,Exprlist,q_1/1] ε+ | [q_1/1,Exprlist,q_2/2] → NAME | [q_1/0,Comma.Test_Or_Star_Exprs,q_2/2] → [q_1/0,Comma,q_1/1] [q_1/1,Test_Or_Star_Exprs,q_2/2] | | |
| [q_0/1,Exprlist,q_1/1] → ε+ [q_0/1,Exprlist,q_1/1] | [q_1/1,Exprlist,q_2/2] → None | [q_1/0,Comma.Test_Or_Star_Exprs,q_2/2] → [q_1/0,Comma,q_2/1] [q_2/1,Test_Or_Star_Exprs,q_2/2] | | |
| [q_0/1,Not_Test,q_1/1] → NUMBER | [q_1/1,Exprlist,q_2/2] → True | [q_0/0,Stmts_Or_Newlines,q_3/1] → [q_0/0,Stmts_Or_Newlines,q_3/1] ε+ | | |
| [q_0/1,Not_Test,q_1/1] → [q_0/1,Not_Test,q_1/1] ε+ | [q_1/1,Exprlist,q_2/2] → False | [q_0/0,Stmts_Or_Newlines,q_3/1] → ε+ [q_0/0,Stmts_Or_Newlines,q_3/1] | | |
| [q_0/1,Not_Test,q_1/1] → ε+ [q_0/1,Not_Test,q_1/1] | [q_1/1,Exprlist,q_2/2] → NUMBER | [q_0/0,Stmts_Or_Newlines,q_3/1] → [q_0/0,Small_Stmts,q_1/0] [q_1/0,Newline,q_3/1] | | |
| [q_1/0,Arith_Op,q_1/1] → - | [q_1/1,Exprlist,q_2/2] → STRING | [q_0/0,Stmts_Or_Newlines,q_3/1] → [q_0/0,Small_Stmts,q_2/1] [q_2/1,Newline,q_3/1] | | |
| [q_1/0,Arith_Op,q_1/1] → [q_1/0,Arith_Op,q_1/1] ε+ | [q_1/1,Exprlist,q_2/2] → [q_1/1,Exprlist,q_2/2] ε+ | [q_0/0,Stmts_Or_Newlines,q_3/1] → [q_0/0,Small_Stmts,q_1/0] [q_1/0,Semicolon.Newline,q_3/1] | | |
| [q_1/0,Arith_Op,q_1/1] → ε+ [q_1/0,Arith_Op,q_1/1] | [q_1/1,Exprlist,q_2/2] → ε+ [q_1/1,Exprlist,q_2/2] | [q_0/0,Stmts_Or_Newlines,q_3/1] → [q_0/0,Stmt_Or_Newline,q_2/1] [q_2/1,Stmts_Or_Newlines,q_3/1] | | |
| [q_1/0,Arith_Op,q_2/0] → + | [q_1/1,Exprlist,q_2/2] → [q_1/1,Unary_Op,q_2/1] [q_2/1,Factor,q_2/2] | [q_0/1,Stmts_Or_Newlines,q_3/2] → [q_0/1,Stmts_Or_Newlines,q_3/2] ε+ | | |
| [q_1/0,Arith_Op,q_2/0] → [q_1/0,Arith_Op,q_2/0] ε+ | [q_1/1,Not_Test,q_2/2] → ... | [q_0/1,Stmts_Or_Newlines,q_3/2] → ε+ [q_0/1,Stmts_Or_Newlines,q_3/2] | | |
| [q_1/0,Arith_Op,q_2/0] → ε+ [q_1/0,Arith_Op,q_2/0] | [q_1/1,Not_Test,q_2/2] → NAME | [q_0/1,Stmts_Or_Newlines,q_3/2] → [q_0/1,Small_Stmts,q_1/1] [q_1/1,Newline,q_3/2] | | |
| [q_1/0,Arith_Op,q_2/1] → - | [q_1/1,Not_Test,q_2/2] → None | [q_0/1,Stmts_Or_Newlines,q_3/2] → [q_0/1,Small_Stmts,q_2/2] [q_2/2,Newline,q_3/2] | | |
| [q_1/0,Arith_Op,q_2/1] → [q_1/0,Arith_Op,q_2/1] ε+ | [q_1/1,Not_Test,q_2/2] → True | [q_0/1,Stmts_Or_Newlines,q_3/2] → [q_0/1,Small_Stmts,q_1/1] [q_1/1,Semicolon.Newline,q_3/2] | | |
| [q_1/0,Arith_Op,q_2/1] → ε+ [q_1/0,Arith_Op,q_2/1] | [q_1/1,Not_Test,q_2/2] → False | [q_0/1,Stmts_Or_Newlines,q_3/2] → [q_0/1,Stmt_Or_Newline,q_2/2] [q_2/2,Stmts_Or_Newlines,q_3/2] | | |
| [q_1/1,Arith_Op,q_2/1] → + | [q_1/1,Not_Test,q_2/2] → NUMBER | [q_1/1,Stmts_Or_Newlines,q_3/2] → NEWLINE | | |
| [q_1/1,Arith_Op,q_2/1] → [q_1/1,Arith_Op,q_2/1] ε+ | [q_1/1,Not_Test,q_2/2] → STRING | [q_1/1,Stmts_Or_Newlines,q_3/2] → [q_1/1,Stmts_Or_Newlines,q_3/2] ε+ | | |
| [q_1/1,Arith_Op,q_2/1] → ε+ [q_1/1,Arith_Op,q_2/1] | [q_1/1,Not_Test,q_2/2] → [q_1/1,Not_Test,q_2/2] ε+ | [q_1/1,Stmts_Or_Newlines,q_3/2] → ε+ [q_1/1,Stmts_Or_Newlines,q_3/2] | | |
| [q_1/1,Unary_Op,q_2/1] → + | [q_1/1,Not_Test,q_2/2] → ε+ [q_1/1,Not_Test,q_2/2] | [q_1/1,Stmts_Or_Newlines,q_3/2] → [q_1/1,Small_Stmts,q_2/2] [q_2/2,Newline,q_3/2] | | |
| [q_1/1,Unary_Op,q_2/1] → [q_1/1,Unary_Op,q_2/1] ε+ | [q_1/1,Not_Test,q_2/2] → [q_1/1,Unary_Op,q_2/1] [q_2/1,Factor,q_2/2] | [q_1/1,Stmts_Or_Newlines,q_3/2] → [q_1/1,Stmt_Or_Newline,q_2/2] [q_2/2,Stmts_Or_Newlines,q_3/2] | | |
| [q_1/1,Unary_Op,q_2/1] → ε+ [q_1/1,Unary_Op,q_2/1] | [q_1/1,Xor_Expr,q_2/2] → ... | [q_2/1,Stmts_Or_Newlines,q_3/2] → [q_2/1,Stmts_Or_Newlines,q_3/2] ε+ | | |
| [q_1/0,MulDiv_Op,q_1/1] → * | [q_1/1,Xor_Expr,q_2/2] → NAME | [q_2/1,Stmts_Or_Newlines,q_3/2] → ε+ [q_2/1,Stmts_Or_Newlines,q_3/2] | | |
| [q_1/0,MulDiv_Op,q_1/1] → @ | [q_1/1,Xor_Expr,q_2/2] → None | [q_2/1,Stmts_Or_Newlines,q_3/2] → [q_2/1,Small_Stmts,q_2/2] [q_2/2,Newline,q_3/2] | | |
| [q_1/0,MulDiv_Op,q_1/1] → / | [q_1/1,Xor_Expr,q_2/2] → True | [q_2/1,Stmts_Or_Newlines,q_3/2] → [q_2/1,Stmt_Or_Newline,q_3/1] [q_3/1,Stmts_Or_Newlines,q_3/2] | | |
| [q_1/0,MulDiv_Op,q_1/1] → % | [q_1/1,Xor_Expr,q_2/2] → False | [q_2/1,Stmts_Or_Newlines,q_4/2] → [q_2/1,Stmts_Or_Newlines,q_4/2] ε+ | | |
| [q_1/0,MulDiv_Op,q_1/1] → // | [q_1/1,Xor_Expr,q_2/2] → NUMBER | [q_2/1,Stmts_Or_Newlines,q_4/2] → ε+ [q_2/1,Stmts_Or_Newlines,q_4/2] | | |
| [q_1/0,MulDiv_Op,q_1/1] → [q_1/0,MulDiv_Op,q_1/1] ε+ | [q_1/1,Xor_Expr,q_2/2] → STRING | [q_2/1,Stmts_Or_Newlines,q_4/2] → [q_2/1,Stmt_Or_Newline,q_3/1] [q_3/1,Stmts_Or_Newlines,q_4/2] | | |
| [q_1/0,MulDiv_Op,q_1/1] → ε+ [q_1/0,MulDiv_Op,q_1/1] | [q_1/1,Xor_Expr,q_2/2] → [q_1/1,Xor_Expr,q_2/2] ε+ | [q_0/1,Testlist_Comp.Close_Paren,q_2/2] → [q_0/1,Testlist_Comp,q_1/1] [q_1/1,Close_Paren,q_2/2] | | |
| [q_1/0,MulDiv_Op,q_2/1] → * | [q_1/1,Xor_Expr,q_2/2] → ε+ [q_1/1,Xor_Expr,q_2/2] | [q_1/0,Aug_Assign.Testlist_Endcomma,q_2/2] → [q_1/0,Aug_Assign,q_1/1] [q_1/1,Testlist_Endcomma,q_2/2] | | |
| [q_1/0,MulDiv_Op,q_2/1] → @ | [q_1/1,Xor_Expr,q_2/2] → [q_1/1,Unary_Op,q_2/1] [q_2/1,Factor,q_2/2] | [q_1/0,Aug_Assign.Testlist_Endcomma,q_2/2] → [q_1/0,Aug_Assign,q_2/1] [q_2/1,Testlist_Endcomma,q_2/2] | | |
| [q_1/0,MulDiv_Op,q_2/1] → / | [q_2/1,Testlist_Endcomma,q_2/2] → ... | [q_1/0,Yield_Testlist_Star_Assign_Exprs,q_2/2] → [q_1/0,Assign_Op,q_1/1] [q_1/1,Yield_Expr,q_2/2] | | |
| [q_1/0,MulDiv_Op,q_2/1] → % | [q_2/1,Testlist_Endcomma,q_2/2] → NAME | [q_1/0,Yield_Testlist_Star_Assign_Exprs,q_2/2] → [q_1/0,Assign_Op,q_2/1] [q_2/1,Yield_Expr,q_2/2] | | |
| [q_1/0,MulDiv_Op,q_2/1] → // | [q_2/1,Testlist_Endcomma,q_2/2] → None | [q_1/0,Yield_Testlist_Star_Assign_Exprs,q_2/2] → [q_1/0,Yield_Testlist_Star_Assign_Exprs,q_2/2] ε+ | | |
| [q_1/0,MulDiv_Op,q_2/1] → [q_1/0,MulDiv_Op,q_2/1] ε+ | [q_2/1,Testlist_Endcomma,q_2/2] → True | [q_1/0,Yield_Testlist_Star_Assign_Exprs,q_2/2] → ε+ [q_1/0,Yield_Testlist_Star_Assign_Exprs,q_2/2] | | |
| [q_1/0,MulDiv_Op,q_2/1] → ε+ [q_1/0,MulDiv_Op,q_2/1] | [q_2/1,Testlist_Endcomma,q_2/2] → False | [q_1/0,Yield_Testlist_Star_Assign_Exprs,q_2/2] → [q_1/0,Assign_Op,q_1/1] [q_1/1,Testlist_Star_Expr,q_2/2] | | |
| [q_0/0,Atom_Expr,q_1/0] → NUMBER | [q_2/1,Testlist_Endcomma,q_2/2] → NUMBER | [q_1/0,Yield_Testlist_Star_Assign_Exprs,q_2/2] → [q_1/0,Assign_Op,q_2/1] [q_2/1,Testlist_Star_Expr,q_2/2] | | |
| [q_0/0,Atom_Expr,q_1/0] → [q_0/0,Atom_Expr,q_1/0] ε+ | [q_2/1,Testlist_Endcomma,q_2/2] → STRING | [q_0/1,Testlist_Comp.Close_Sq_Bracket,q_2/2] → [q_0/1,Testlist_Comp,q_1/1] [q_1/1,Close_Sq_Bracket,q_2/2] | | |
| [q_0/0,Atom_Expr,q_1/0] → ε+ [q_0/0,Atom_Expr,q_1/0] | [q_2/1,Testlist_Endcomma,q_2/2] → [q_2/1,Testlist_Endcomma,q_2/2] ε+ | [q_0/0,Small_Stmts,q_2/2] → [q_0/0,Small_Stmts,q_2/2] ε+ | | |
| [q_0/1,Yield_Arg,q_1/1] → NUMBER | [q_2/1,Testlist_Endcomma,q_2/2] → ε+ [q_2/1,Testlist_Endcomma,q_2/2] | [q_0/0,Small_Stmts,q_2/2] → ε+ [q_0/0,Small_Stmts,q_2/2] | | |
| [q_0/1,Yield_Arg,q_1/1] → [q_0/1,Yield_Arg,q_1/1] ε+ | [q_0/0,Open_Curl_Bracket,q_0/1] → { | [q_0/0,Small_Stmts,q_2/2] → [q_0/0,Star_Op,q_0/1] [q_0/1,Expr,q_2/2] | | |
| [q_0/1,Yield_Arg,q_1/1] → ε+ [q_0/1,Yield_Arg,q_1/1] | [q_0/0,Open_Curl_Bracket,q_0/1] → [q_0/0,Open_Curl_Bracket,q_0/1] ε+ | [q_0/0,Small_Stmts,q_2/2] → [q_0/0,Star_Op,q_1/1] [q_1/1,Expr,q_2/2] | | |
| [q_1/0,Assign_Op,q_1/1] → = | [q_0/0,Open_Curl_Bracket,q_0/1] → ε+ [q_0/0,Open_Curl_Bracket,q_0/1] | [q_0/0,Small_Stmts,q_2/2] → [q_0/0,Unary_Op,q_1/1] [q_1/1,Factor,q_2/2] | | |
| [q_1/0,Assign_Op,q_1/1] → [q_1/0,Assign_Op,q_1/1] ε+ | [q_0/0,Open_Curl_Bracket,q_1/1] → { | [q_0/0,Small_Stmts,q_2/2] → [q_0/0,Raise_Keyword,q_0/1] [q_0/1,Test,q_2/2] | | |
| [q_1/0,Assign_Op,q_1/1] → ε+ [q_1/0,Assign_Op,q_1/1] | [q_0/0,Open_Curl_Bracket,q_1/1] → [q_0/0,Open_Curl_Bracket,q_1/1] ε+ | [q_0/0,Small_Stmts,q_2/2] → [q_0/0,Raise_Keyword,q_1/1] [q_1/1,Test,q_2/2] | | |
| [q_1/0,Assign_Op,q_2/1] → = | [q_0/0,Open_Curl_Bracket,q_1/1] → ε+ [q_0/0,Open_Curl_Bracket,q_1/1] | [q_0/0,Small_Stmts,q_2/2] → [q_0/0,Atom,q_1/0] [q_1/0,Many_Trailers,q_2/2] | | |
| [q_1/0,Assign_Op,q_2/1] → [q_1/0,Assign_Op,q_2/1] ε+ | [q_0/0,Test_Or_Star_Expr,q_1/0] → NUMBER | [q_0/0,Small_Stmts,q_2/2] → [q_0/0,Await_Keyword,q_1/1] [q_1/1,Atom,q_2/2] | | |
| [q_1/0,Assign_Op,q_2/1] → ε+ [q_1/0,Assign_Op,q_2/1] | [q_0/0,Test_Or_Star_Expr,q_1/0] → [q_0/0,Test_Or_Star_Expr,q_1/0] ε+ | [q_0/0,Small_Stmts,q_2/2] → [q_0/0,Assert_Keyword,q_0/1] [q_0/1,Test,q_2/2] | | |
| [q_1/0,Semicolon,q_1/1] → ; | [q_0/0,Test_Or_Star_Expr,q_1/0] → ε+ [q_0/0,Test_Or_Star_Expr,q_1/0] | [q_0/0,Small_Stmts,q_2/2] → [q_0/0,Assert_Keyword,q_1/1] [q_1/1,Test,q_2/2] | | |
| [q_1/0,Semicolon,q_1/1] → [q_1/0,Semicolon,q_1/1] ε+ | [q_0/1,Dict_Or_Set_Maker,q_1/1] → NUMBER | [q_0/0,Small_Stmts,q_2/2] → [q_0/0,Expr,q_1/0] [q_1/0,Or_Op.Xor_Expr,q_2/2] | | |
| [q_1/0,Semicolon,q_1/1] → ε+ [q_1/0,Semicolon,q_1/1] | [q_0/1,Dict_Or_Set_Maker,q_1/1] → [q_0/1,Dict_Or_Set_Maker,q_1/1] ε+ | [q_0/0,Small_Stmts,q_2/2] → [q_0/0,Del_Keyword,q_0/1] [q_0/1,Exprlist,q_2/2] | | |
| [q_1/0,Semicolon,q_2/1] → ; | [q_0/1,Dict_Or_Set_Maker,q_1/1] → ε+ [q_0/1,Dict_Or_Set_Maker,q_1/1] | [q_0/0,Small_Stmts,q_2/2] → [q_0/0,Del_Keyword,q_1/1] [q_1/1,Exprlist,q_2/2] | | |
| [q_1/0,Semicolon,q_2/1] → [q_1/0,Semicolon,q_2/1] ε+ | [q_0/1,Testlist_Endcomma,q_1/1] → NUMBER | [q_0/0,Small_Stmts,q_2/2] → [q_0/0,Not_Bool_Op,q_0/1] [q_0/1,Not_Test,q_2/2] | | |
| [q_1/0,Semicolon,q_2/1] → ε+ [q_1/0,Semicolon,q_2/1] | [q_0/1,Testlist_Endcomma,q_1/1] → [q_0/1,Testlist_Endcomma,q_1/1] ε+ | [q_0/0,Small_Stmts,q_2/2] → [q_0/0,Not_Bool_Op,q_1/1] [q_1/1,Not_Test,q_2/2] | | |
| [q_1/1,Semicolon,q_2/2] → ; | [q_0/1,Testlist_Endcomma,q_1/1] → ε+ [q_0/1,Testlist_Endcomma,q_1/1] | [q_0/0,Small_Stmts,q_2/2] → [q_0/0,Term,q_1/0] [q_1/0,MulDiv_Op.Factor,q_2/2] | | |
| [q_1/1,Semicolon,q_2/2] → [q_1/1,Semicolon,q_2/2] ε+ | [q_2/0,Open_Curl_Bracket,q_2/1] → { | [q_0/0,Small_Stmts,q_2/2] → [q_0/0,Open_Paren,q_1/1] [q_1/1,Close_Paren,q_2/2] | | |
| [q_1/1,Semicolon,q_2/2] → ε+ [q_1/1,Semicolon,q_2/2] | [q_2/0,Open_Curl_Bracket,q_2/1] → [q_2/0,Open_Curl_Bracket,q_2/1] ε+ | [q_0/0,Small_Stmts,q_2/2] → [q_0/0,Yield_Keyword,q_0/1] [q_0/1,Yield_Arg,q_2/2] | | |
| [q_2/1,Semicolon,q_2/2] → ; | [q_2/0,Open_Curl_Bracket,q_2/1] → ε+ [q_2/0,Open_Curl_Bracket,q_2/1] | [q_0/0,Small_Stmts,q_2/2] → [q_0/0,Yield_Keyword,q_1/1] [q_1/1,Yield_Arg,q_2/2] | | |
| [q_2/1,Semicolon,q_2/2] → [q_2/1,Semicolon,q_2/2] ε+ | [q_2/1,Stmts_Or_Newlines,q_3/1] → NEWLINE | [q_0/0,Small_Stmts,q_2/2] → [q_0/0,Comparison,q_1/0] [q_1/0,Comp_Op.Expr,q_2/2] | | |
| [q_2/1,Semicolon,q_2/2] → ε+ [q_2/1,Semicolon,q_2/2] | [q_2/1,Stmts_Or_Newlines,q_3/1] → [q_2/1,Stmts_Or_Newlines,q_3/1] ε+ | [q_0/0,Small_Stmts,q_2/2] → [q_0/0,Test_Or_Star_Exprs,q_1/1] [q_1/1,Comma,q_2/2] | | |
| [q_1/0,Aug_Assign,q_1/1] → += | [q_2/1,Stmts_Or_Newlines,q_3/1] → ε+ [q_2/1,Stmts_Or_Newlines,q_3/1] | [q_0/0,Small_Stmts,q_2/2] → [q_0/0,Test_Or_Star_Exprs,q_2/1] [q_2/1,Comma,q_2/2] | | |
| [q_1/0,Aug_Assign,q_1/1] → -= | [q_2/2,Stmts_Or_Newlines,q_3/2] → NEWLINE | [q_0/0,Small_Stmts,q_2/2] → [q_0/0,Xor_Expr,q_1/0] [q_1/0,Xor_Op.And_Expr,q_2/2] | | |
| [q_1/0,Aug_Assign,q_1/1] → *= | [q_2/2,Stmts_Or_Newlines,q_3/2] → [q_2/2,Stmts_Or_Newlines,q_3/2] ε+ | [q_0/0,Small_Stmts,q_2/2] → [q_0/0,Arith_Expr,q_1/0] [q_1/0,Arith_Op.Term,q_2/2] | | |
| [q_1/0,Aug_Assign,q_1/1] → @= | [q_2/2,Stmts_Or_Newlines,q_3/2] → ε+ [q_2/2,Stmts_Or_Newlines,q_3/2] | [q_0/0,Small_Stmts,q_2/2] → [q_0/0,Arith_Expr,q_1/1] [q_1/1,Arith_Op.Term,q_2/2] | | |
| [q_1/0,Aug_Assign,q_1/1] → /= | [q_3/1,Stmts_Or_Newlines,q_3/2] → NEWLINE | [q_0/0,Small_Stmts,q_2/2] → [q_0/0,Global_Keyword,q_1/1] [q_1/1,Many_Names,q_2/2] | | |
| [q_1/0,Aug_Assign,q_1/1] → %= | [q_3/1,Stmts_Or_Newlines,q_3/2] → [q_3/1,Stmts_Or_Newlines,q_3/2] ε+ | [q_0/0,Small_Stmts,q_2/2] → [q_0/0,And_Expr,q_1/0] [q_1/0,And_Op.Shift_Expr,q_2/2] | | |
| [q_1/0,Aug_Assign,q_1/1] → &= | [q_3/1,Stmts_Or_Newlines,q_3/2] → ε+ [q_3/1,Stmts_Or_Newlines,q_3/2] | [q_0/0,Small_Stmts,q_2/2] → [q_0/0,Nonlocal_Keyword,q_1/1] [q_1/1,Many_Names,q_2/2] | | |
| [q_1/0,Aug_Assign,q_1/1] → |= | [q_3/1,Stmts_Or_Newlines,q_4/2] → NEWLINE | [q_0/0,Small_Stmts,q_2/2] → [q_0/0,Or_Test,q_1/0] [q_1/0,Or_Bool_Op.And_Test,q_2/2] | | |
| [q_1/0,Aug_Assign,q_1/1] → ^= | [q_3/1,Stmts_Or_Newlines,q_4/2] → [q_3/1,Stmts_Or_Newlines,q_4/2] ε+ | [q_0/0,Small_Stmts,q_2/2] → [q_0/0,And_Test,q_1/0] [q_1/0,And_Bool_Op.Not_Test,q_2/2] | | |
| [q_1/0,Aug_Assign,q_1/1] → <<= | [q_3/1,Stmts_Or_Newlines,q_4/2] → ε+ [q_3/1,Stmts_Or_Newlines,q_4/2] | [q_0/0,Small_Stmts,q_2/2] → [q_0/0,Import_Keyword,q_1/1] [q_1/1,Dotted_As_Names,q_2/2] | | |
| [q_1/0,Aug_Assign,q_1/1] → >>= | START → START F.ε | [q_0/0,Small_Stmts,q_2/2] → [q_0/0,Shift_Expr,q_1/0] [q_1/0,Shift_Op.Arith_Expr,q_2/2] | | |
| [q_1/0,Aug_Assign,q_1/1] → **= | START → [q_0/0,Small_Stmts,q_1/1] [q_1/1,Newline,q_3/2] | [q_0/0,Small_Stmts,q_2/2] → [q_0/0,Atom_Expr,q_1/0] [q_1/0,Double_Star_Op.Factor,q_2/2] | | |
| [q_1/0,Aug_Assign,q_1/1] → //= | START → [q_0/0,Small_Stmts,q_2/2] [q_2/2,Newline,q_3/2] | [q_0/0,Small_Stmts,q_2/2] → [q_0/0,Return_Keyword,q_0/1] [q_0/1,Testlist_Endcomma,q_2/2] | | |
| [q_1/0,Aug_Assign,q_1/1] → [q_1/0,Aug_Assign,q_1/1] ε+ | START → [q_0/0,Small_Stmts,q_3/1] [q_3/1,Newline,q_3/2] | [q_0/0,Small_Stmts,q_2/2] → [q_0/0,Return_Keyword,q_1/1] [q_1/1,Testlist_Endcomma,q_2/2] | | |
| [q_1/0,Aug_Assign,q_1/1] → ε+ [q_1/0,Aug_Assign,q_1/1] | START → [q_0/0,Small_Stmts,q_1/0] [q_1/0,Newline,q_3/1] | [q_0/0,Small_Stmts,q_2/2] → [q_0/0,Open_Sq_Bracket,q_1/1] [q_1/1,Close_Sq_Bracket,q_2/2] | | |
| [q_1/0,Aug_Assign,q_2/1] → += | START → [q_0/0,Small_Stmts,q_2/1] [q_2/1,Newline,q_3/1] | [q_0/0,Small_Stmts,q_2/2] → [q_0/0,Small_Stmt,q_1/0] [q_1/0,Semicolon.Small_Stmts,q_2/2] | | |
| [q_1/0,Aug_Assign,q_2/1] → -= | START → [q_0/0,Small_Stmts,q_3/1] [q_3/1,Newline,q_4/2] | [q_0/0,Small_Stmts,q_2/2] → [q_0/0,Testlist_Star_Expr,q_1/0] [q_1/0,Annotated_Assign,q_2/2] | | |
| [q_1/0,Aug_Assign,q_2/1] → *= | START → [q_0/0,Small_Stmts,q_1/0] [q_1/0,Newline,q_2/1] | [q_0/0,Small_Stmts,q_2/2] → [q_0/0,Open_Curl_Bracket,q_1/1] [q_1/1,Close_Curl_Bracket,q_2/2] | | |
| [q_1/0,Aug_Assign,q_2/1] → @= | START → [q_0/0,Small_Stmts,q_1/0] [q_1/0,Semicolon.Newline,q_3/2] | [q_0/0,Small_Stmts,q_2/2] → [q_0/0,Open_Paren,q_0/1] [q_0/1,Testlist_Comp.Close_Paren,q_2/2] | | |
| [q_1/0,Aug_Assign,q_2/1] → /= | START → [q_0/0,Small_Stmts,q_1/1] [q_1/1,Semicolon.Newline,q_3/2] | [q_0/0,Small_Stmts,q_2/2] → [q_0/0,Testlist_Star_Expr,q_1/0] [q_1/0,Aug_Assign.Yield_Expr,q_2/2] | | |
| [q_1/0,Aug_Assign,q_2/1] → %= | START → [q_0/0,Small_Stmts,q_2/1] [q_2/1,Semicolon.Newline,q_3/2] | [q_0/0,Small_Stmts,q_2/2] → [q_0/0,Test_Or_Star_Expr,q_1/0] [q_1/0,Comma.Test_Or_Star_Exprs,q_2/2] | | |
| [q_1/0,Aug_Assign,q_2/1] → &= | START → [q_0/0,Stmts_Or_Newlines,q_2/1] [q_2/1,F.Endmarker,q_3/2] | [q_0/0,Small_Stmts,q_2/2] → [q_0/0,Open_Sq_Bracket,q_0/1] [q_0/1,Testlist_Comp.Close_Sq_Bracket,q_2/2] | | |
| [q_1/0,Aug_Assign,q_2/1] → |= | START → [q_0/0,Stmts_Or_Newlines,q_3/1] [q_3/1,F.Endmarker,q_3/2] | [q_0/0,Small_Stmts,q_2/2] → [q_0/0,Testlist_Star_Expr,q_1/0] [q_1/0,Aug_Assign.Testlist_Endcomma,q_2/2] | | |
| [q_1/0,Aug_Assign,q_2/1] → ^= | START → [q_0/0,Small_Stmts,q_1/0] [q_1/0,Semicolon.Newline,q_3/1] | [q_0/0,Small_Stmts,q_2/2] → [q_0/0,Testlist_Star_Expr,q_1/0] [q_1/0,Yield_Testlist_Star_Assign_Exprs,q_2/2] | | |
| [q_1/0,Aug_Assign,q_2/1] → <<= | START → [q_0/0,Stmts_Or_Newlines,q_3/1] [q_3/1,F.Endmarker,q_4/2] | [q_0/0,Small_Stmts,q_2/2] → [q_0/0,Open_Curl_Bracket,q_0/1] [q_0/1,Dict_Or_Set_Maker.Close_Curl_Bracket,q_2/2] | | |
| [q_1/0,Aug_Assign,q_2/1] → >>= | START → [q_0/0,Stmt_Or_Newline,q_0/1] [q_0/1,Stmts_Or_Newlines,q_3/2] | [q_0/1,Dict_Or_Set_Maker.Close_Curl_Bracket,q_2/2] → [q_0/1,Dict_Or_Set_Maker,q_1/1] [q_1/1,Close_Curl_Bracket,q_2/2] | | |
Time to compute parse forest: 176.783834ms | |
Total trees in PTree: 19713 | |
NUMBER ; NEWLINE | |
NUMBER NEWLINE NEWLINE | |
NUMBER NEWLINE | |
( NUMBER ) NEWLINE | |
NUMBER ; NEWLINE NEWLINE | |
NUMBER NEWLINE NEWLINE Endmarker | |
NUMBER + STRING NEWLINE | |
await None NEWLINE | |
NUMBER , NEWLINE | |
NUMBER NEWLINE None NEWLINE | |
break NEWLINE | |
NUMBER , ; NEWLINE | |
NEWLINE NUMBER NEWLINE | |
NUMBER NEWLINE Endmarker | |
assert NUMBER NEWLINE | |
NEWLINE NEWLINE | |
NUMBER NEWLINE yield NEWLINE | |
NEWLINE continue NEWLINE | |
NEWLINE NUMBER ; NEWLINE | |
break ; NEWLINE | |
return NUMBER NEWLINE | |
not NUMBER NEWLINE NEWLINE | |
not NUMBER ; NEWLINE | |
NUMBER NEWLINE NEWLINE NEWLINE | |
assert NUMBER ; NEWLINE | |
not NUMBER NEWLINE | |
break NEWLINE NEWLINE | |
NUMBER = False NEWLINE | |
NUMBER , NEWLINE NEWLINE | |
NUMBER + ... NEWLINE | |
global NAME NEWLINE | |
True NEWLINE | |
* NUMBER NEWLINE | |
True ; NEWLINE | |
yield NUMBER NEWLINE | |
{ } NEWLINE | |
NEWLINE NEWLINE NEWLINE | |
* NUMBER ; NEWLINE | |
True NEWLINE NEWLINE | |
... NEWLINE NEWLINE | |
raise NAME NEWLINE | |
NUMBER + True NEWLINE | |
continue NEWLINE | |
NUMBER + NUMBER NEWLINE | |
NUMBER NEWLINE continue NEWLINE | |
NEWLINE NUMBER , NEWLINE | |
continue ; NEWLINE | |
await NUMBER NEWLINE | |
del ... NEWLINE | |
await NUMBER ; NEWLINE | |
NUMBER + NUMBER ; NEWLINE | |
NUMBER + False NEWLINE | |
return NUMBER ; NEWLINE | |
continue NEWLINE NEWLINE | |
( ) NEWLINE | |
NUMBER , NEWLINE Endmarker | |
del NUMBER , NEWLINE | |
raise NEWLINE | |
raise NUMBER NEWLINE | |
raise ; NEWLINE | |
- NUMBER NEWLINE | |
... , NEWLINE | |
raise NUMBER ; NEWLINE | |
NUMBER ; NEWLINE Endmarker | |
raise NEWLINE NEWLINE | |
assert NUMBER NEWLINE NEWLINE | |
not NUMBER + False NEWLINE | |
NUMBER + None NEWLINE | |
assert True NEWLINE | |
return NEWLINE | |
return ; NEWLINE | |
return NEWLINE NEWLINE | |
{ NUMBER } NEWLINE | |
NUMBER = ... NEWLINE | |
NAME NEWLINE | |
NAME ; NEWLINE | |
not False NEWLINE | |
NEWLINE + True NEWLINE | |
NAME NEWLINE NEWLINE | |
NUMBER + NAME NEWLINE | |
STRING NEWLINE | |
NEWLINE NUMBER NEWLINE NEWLINE | |
... NEWLINE | |
STRING ; NEWLINE | |
nonlocal NAME NEWLINE | |
NEWLINE raise NEWLINE | |
... ; NEWLINE | |
STRING NEWLINE NEWLINE | |
await NAME NEWLINE | |
NUMBER & STRING NEWLINE | |
yield NEWLINE | |
yield ; NEWLINE | |
[ ] NEWLINE | |
NUMBER + None ; NEWLINE | |
yield NEWLINE NEWLINE | |
NUMBER <= False NEWLINE | |
yield + False NEWLINE | |
None NEWLINE | |
NUMBER NEWLINE True NEWLINE | |
None ; NEWLINE | |
del NUMBER ; NEWLINE | |
del NUMBER NEWLINE | |
None NEWLINE NEWLINE | |
* NUMBER , NEWLINE | |
return False NEWLINE | |
pass NEWLINE | |
pass ; NEWLINE | |
import NAME NEWLINE | |
False NEWLINE NEWLINE | |
- NUMBER ; NEWLINE | |
pass NEWLINE NEWLINE | |
return NUMBER , NEWLINE | |
yield STRING NEWLINE | |
NUMBER NEWLINE pass NEWLINE | |
* True NEWLINE | |
await NUMBER NEWLINE NEWLINE | |
yield NUMBER ; NEWLINE | |
assert + True NEWLINE | |
NUMBER ** True NEWLINE | |
False NEWLINE | |
False ; NEWLINE | |
~ NUMBER NEWLINE | |
- True NEWLINE | |
not True NEWLINE | |
NUMBER |= False NEWLINE | |
raise True NEWLINE | |
NUMBER + NAME ; NEWLINE | |
* NUMBER NEWLINE NEWLINE | |
yield NAME NEWLINE | |
NUMBER ; continue NEWLINE | |
NUMBER NEWLINE NAME NEWLINE | |
NUMBER : True NEWLINE | |
del NAME NEWLINE | |
return + False NEWLINE | |
return STRING NEWLINE | |
NUMBER + STRING ; NEWLINE | |
NUMBER - STRING NEWLINE | |
* + False NEWLINE | |
NUMBER NEWLINE STRING NEWLINE | |
del None NEWLINE | |
NEWLINE None NEWLINE | |
not NUMBER , NEWLINE | |
yield NUMBER , NEWLINE | |
True , NEWLINE | |
await False NEWLINE | |
NUMBER NEWLINE False NEWLINE | |
await True NEWLINE | |
raise NUMBER NEWLINE NEWLINE | |
assert NUMBER + False NEWLINE | |
raise False NEWLINE | |
+ NUMBER ; NEWLINE | |
NEWLINE + False NEWLINE | |
+ NUMBER NEWLINE | |
return NUMBER NEWLINE NEWLINE | |
NUMBER + False ; NEWLINE | |
NUMBER + NUMBER NEWLINE NEWLINE | |
None + STRING NEWLINE | |
NEWLINE NUMBER + False NEWLINE | |
NEWLINE True NEWLINE | |
NUMBER . NAME NEWLINE | |
NUMBER , True NEWLINE | |
* False NEWLINE | |
raise NUMBER + False NEWLINE | |
+ True NEWLINE | |
NUMBER + ... ; NEWLINE | |
NUMBER @ NAME NEWLINE | |
* + True NEWLINE | |
assert False NEWLINE | |
yield False NEWLINE | |
NEWLINE False NEWLINE | |
NEWLINE pass NEWLINE | |
NUMBER + NUMBER , NEWLINE | |
* NAME NEWLINE | |
NUMBER NEWLINE ... NEWLINE | |
return True NEWLINE | |
NUMBER + True ; NEWLINE | |
NUMBER & None NEWLINE | |
NUMBER - False NEWLINE | |
~ NUMBER ; NEWLINE | |
NUMBER + NUMBER NEWLINE Endmarker | |
* NUMBER + False NEWLINE | |
del True NEWLINE | |
NUMBER and NAME NEWLINE | |
- + False NEWLINE | |
False , NEWLINE | |
NUMBER -= yield NEWLINE | |
NUMBER and STRING NEWLINE | |
NUMBER or NUMBER NEWLINE | |
not STRING NEWLINE | |
NUMBER |= yield NEWLINE | |
del NUMBER NEWLINE NEWLINE | |
return NUMBER + False NEWLINE | |
~ True NEWLINE | |
NUMBER ^ NAME NEWLINE | |
* None NEWLINE | |
NEWLINE ... NEWLINE | |
- NAME NEWLINE | |
NUMBER * False NEWLINE | |
NUMBER NEWLINE + True NEWLINE | |
raise STRING NEWLINE | |
- NUMBER NEWLINE NEWLINE | |
NUMBER < NAME NEWLINE | |
assert STRING NEWLINE | |
[ NUMBER ] NEWLINE | |
NUMBER OR False NEWLINE | |
NEWLINE yield NEWLINE | |
NUMBER : None NEWLINE | |
NUMBER %= yield NEWLINE | |
NUMBER NEWLINE NUMBER NEWLINE | |
yield NUMBER NEWLINE NEWLINE | |
NUMBER , None NEWLINE | |
None , NEWLINE | |
NUMBER and True NEWLINE | |
await ... NEWLINE | |
del + True NEWLINE | |
not NAME NEWLINE | |
NUMBER or False NEWLINE | |
NEWLINE STRING NEWLINE | |
NUMBER >> False NEWLINE | |
NUMBER NEWLINE break NEWLINE | |
NUMBER OR ... NEWLINE | |
NUMBER ^ False NEWLINE | |
NUMBER %= NUMBER NEWLINE | |
* ... NEWLINE | |
NUMBER - + True NEWLINE | |
- ... NEWLINE | |
assert + False NEWLINE | |
NUMBER NEWLINE return NEWLINE | |
NUMBER = None NEWLINE | |
NUMBER << ... NEWLINE | |
return None NEWLINE | |
NUMBER & ... NEWLINE | |
NUMBER ; None NEWLINE | |
STRING , NEWLINE | |
assert NAME NEWLINE | |
NUMBER NEWLINE raise NEWLINE | |
NUMBER ** False NEWLINE | |
NUMBER %= False NEWLINE | |
NUMBER >> None NEWLINE | |
NUMBER ; yield NEWLINE | |
NUMBER // NAME NEWLINE | |
+ ... NEWLINE | |
raise None NEWLINE | |
del NUMBER + False NEWLINE | |
yield ... NEWLINE | |
raise + True NEWLINE | |
NUMBER + None NEWLINE NEWLINE | |
yield NUMBER + False NEWLINE | |
assert None NEWLINE | |
raise + False NEWLINE | |
return ... NEWLINE | |
... + STRING NEWLINE | |
NUMBER , ... NEWLINE | |
del False NEWLINE | |
None + False NEWLINE | |
NAME , NEWLINE | |
NUMBER OR None NEWLINE | |
not None NEWLINE | |
NUMBER in False NEWLINE | |
NEWLINE NUMBER + ... NEWLINE | |
~ ... NEWLINE | |
+ + False NEWLINE | |
yield None NEWLINE | |
NEWLINE + NUMBER NEWLINE | |
NUMBER or STRING NEWLINE | |
return NAME NEWLINE | |
del STRING NEWLINE | |
NUMBER + None NEWLINE Endmarker | |
NUMBER ( ) NEWLINE | |
await STRING NEWLINE | |
- NUMBER + False NEWLINE | |
NUMBER // True NEWLINE | |
not ... NEWLINE | |
NEWLINE return NEWLINE | |
~ NAME NEWLINE | |
NUMBER is False NEWLINE | |
+ NUMBER NEWLINE NEWLINE | |
NUMBER OR True NEWLINE | |
* STRING NEWLINE | |
NUMBER : False NEWLINE | |
- STRING NEWLINE | |
raise ... NEWLINE | |
not NUMBER + ... NEWLINE | |
yield True NEWLINE | |
assert ... NEWLINE | |
NUMBER < False NEWLINE | |
NUMBER << STRING NEWLINE | |
await NUMBER , NEWLINE | |
NEWLINE break NEWLINE | |
NUMBER NEWLINE + False NEWLINE | |
NUMBER = NAME NEWLINE | |
NUMBER : NAME NEWLINE | |
NUMBER = yield NEWLINE | |
+ STRING NEWLINE | |
assert NUMBER + ... NEWLINE | |
NUMBER ** ... NEWLINE | |
NUMBER ** NAME NEWLINE | |
NEWLINE + None NEWLINE | |
NUMBER ; True NEWLINE | |
raise NUMBER + ... NEWLINE | |
NUMBER + NAME NEWLINE NEWLINE | |
NUMBER + None , NEWLINE | |
* NUMBER + ... NEWLINE | |
NAME + STRING NEWLINE | |
~ STRING NEWLINE | |
del + False NEWLINE | |
+ NAME NEWLINE | |
return + True NEWLINE | |
NUMBER - NUMBER NEWLINE | |
NEWLINE NAME NEWLINE | |
~ + False NEWLINE | |
NUMBER or ... NEWLINE | |
NEWLINE NUMBER + True NEWLINE | |
NUMBER // False NEWLINE | |
not + False NEWLINE | |
NUMBER > NAME NEWLINE | |
NUMBER + NAME NEWLINE Endmarker | |
NUMBER OR NAME NEWLINE | |
NUMBER : NUMBER NEWLINE | |
~ NUMBER NEWLINE NEWLINE | |
NEWLINE + STRING NEWLINE | |
NUMBER >> + True NEWLINE | |
NUMBER << False NEWLINE | |
NUMBER ^ True NEWLINE | |
NUMBER & False NEWLINE | |
yield + True NEWLINE | |
NUMBER += False NEWLINE | |
... + False NEWLINE | |
NUMBER + STRING NEWLINE NEWLINE | |
NUMBER NEWLINE + None NEWLINE | |
NUMBER ^ None NEWLINE | |
STRING + STRING NEWLINE | |
NEWLINE + NAME NEWLINE | |
- None NEWLINE | |
- NUMBER , NEWLINE | |
NUMBER or True NEWLINE | |
NUMBER += yield NEWLINE | |
not NUMBER + True NEWLINE | |
NUMBER @ True NEWLINE | |
NUMBER < + True NEWLINE | |
NEWLINE NUMBER + NAME NEWLINE | |
+ None NEWLINE | |
NUMBER OR STRING NEWLINE | |
NUMBER : + True NEWLINE | |
NUMBER + STRING NEWLINE Endmarker | |
NUMBER >> STRING NEWLINE | |
assert NUMBER + True NEWLINE | |
~ None NEWLINE | |
raise NUMBER + True NEWLINE | |
NEWLINE + ... NEWLINE | |
NUMBER + NAME , NEWLINE | |
NUMBER + False NEWLINE NEWLINE | |
NUMBER ** None NEWLINE | |
* NUMBER + True NEWLINE | |
NUMBER &= False NEWLINE | |
- False NEWLINE | |
False + STRING NEWLINE | |
NUMBER , False NEWLINE | |
NUMBER NEWLINE + NAME NEWLINE | |
+ False NEWLINE | |
NUMBER and NUMBER NEWLINE | |
NUMBER &= yield NEWLINE | |
NUMBER -= NUMBER NEWLINE | |
NUMBER % False NEWLINE | |
NUMBER <> NAME NEWLINE | |
NUMBER >> ... NEWLINE | |
NEWLINE NUMBER + STRING NEWLINE | |
~ False NEWLINE | |
NUMBER * True NEWLINE | |
not + True NEWLINE | |
NAME + False NEWLINE | |
NUMBER + False NEWLINE Endmarker | |
NUMBER = True NEWLINE | |
NUMBER & NUMBER NEWLINE | |
NUMBER + ... NEWLINE NEWLINE |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment