Module Import alias ImportFrom alias alias alias ImportFrom alias alias alias alias ImportFrom alias alias ImportFrom alias ImportFrom alias FunctionDef arguments args defaults body Assign TupleStore NameStore NameStore NameStore Call NameLoad Str ClassDef bases NameLoad body FunctionDef arguments args NameParam NameParam defaults body If CompareEq Call NameLoad AttributeLoad NameLoad attr Num body Return Call AttributeLoad SubscriptLoad AttributeLoad NameLoad attr Index Num attr NameLoad Return Call NameLoad AttributeLoad SubscriptLoad AttributeLoad NameLoad attr Index Num attr decorator_list decorator_list Assign NameStore Call NameLoad NameLoad NameLoad Assign NameStore Call NameLoad Str Assert CompareEq Call AttributeLoad NameLoad attr Call NameLoad BinOpAdd Num Num Assign NameStore Call NameLoad Str Assign NameStore Call AttributeLoad NameLoad attr Call NameLoad Assert CompareEq NameLoad BinOpAdd BinOpMult Num Num Num Assign NameStore Call NameLoad Str Assert CompareEq Call AttributeLoad NameLoad attr Call NameLoad BinOpMult Num BinOpAdd Num BinOpMult BinOpMult Num Num BinOpAdd Num Num Assign NameStore Call NameLoad Str decorator_list FunctionDef arguments args defaults body Assign TupleStore NameStore NameStore NameStore Call NameLoad Str ClassDef bases NameLoad body FunctionDef arguments args NameParam NameParam defaults body If CompareEq Call NameLoad AttributeLoad NameLoad attr Num body Return Call AttributeLoad SubscriptLoad AttributeLoad NameLoad attr Index Num attr NameLoad Return Call NameLoad AttributeLoad SubscriptLoad AttributeLoad NameLoad attr Index Num attr decorator_list decorator_list Assign NameStore Call NameLoad NameLoad NameLoad Assign NameStore Call NameLoad Str Assert CompareEq Call AttributeLoad NameLoad attr Call NameLoad BinOpAdd Num Num decorator_list FunctionDef arguments args defaults body Assign TupleStore NameStore NameStore NameStore Call NameLoad Str Assign NameStore Call NameLoad NameLoad NameLoad Assign NameStore Call NameLoad Str Assign NameStore SubscriptLoad Call AttributeLoad NameLoad attr Call NameLoad Index Num Assert CompareEq Call NameLoad AttributeLoad NameLoad attr Num Assert CompareEq AttributeLoad SubscriptLoad AttributeLoad SubscriptLoad AttributeLoad NameLoad attr Index Num attr Index Num attr Str Assert CompareEq AttributeLoad SubscriptLoad AttributeLoad NameLoad attr Index Num attr Str decorator_list FunctionDef arguments args defaults body Assign NameStore Str Assign TupleStore NameStore NameStore NameStore Call NameLoad NameLoad ClassDef bases NameLoad body FunctionDef arguments args NameParam NameParam defaults body If CompareEq Call NameLoad AttributeLoad NameLoad attr Num body Return Call AttributeLoad SubscriptLoad AttributeLoad NameLoad attr Index Num attr NameLoad Return Call NameLoad AttributeLoad SubscriptLoad AttributeLoad NameLoad attr Index Num attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Return Call AttributeLoad SubscriptLoad AttributeLoad NameLoad attr Index Num attr NameLoad decorator_list Assign NameStore AttributeLoad NameLoad attr decorator_list Assign NameStore Call NameLoad NameLoad NameLoad keyword NameLoad Assign NameStore Call NameLoad Str Assert CompareEq Call AttributeLoad NameLoad attr Call NameLoad BinOpAdd Num Num Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad NameLoad Str AugAssignAdd NameStore Str Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args defaults body Assign TupleStore NameStore NameStore NameStore Call NameLoad Str Assign NameStore Call NameLoad NameLoad NameLoad Assign NameStore Call NameLoad Str Assert CompareIsNot NameLoad NameLoad Assign NameStore Call NameLoad Str Assert CompareIsNot NameLoad NameLoad decorator_list FunctionDef arguments args defaults body Assign TupleStore NameStore NameStore NameStore Call NameLoad Str Assign NameStore Call NameLoad NameLoad NameLoad Assign NameStore Call NameLoad Str Assign NameStore Call AttributeLoad Call NameLoad attr NameLoad Assert CompareEq AttributeLoad SubscriptLoad AttributeLoad NameLoad attr Index Num attr Str decorator_list FunctionDef arguments args defaults body Assign TupleStore NameStore NameStore NameStore Call NameLoad Str Assign NameStore Call NameLoad NameLoad AttributeLoad SubscriptLoad NameLoad Index Num attr Assign NameStore Call NameLoad NameLoad Print NameLoad Assign NameStore Call NameLoad NameLoad Assert CompareEq Call NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args defaults body Assign TupleStore NameStore NameStore NameStore Call NameLoad Str Assign NameStore Call NameLoad NameLoad NameLoad keyword NameLoad Assign NameStore Call NameLoad Str Assert CompareEq AttributeLoad SubscriptLoad AttributeLoad NameLoad attr Index Num attr Str Assert CompareEq AttributeLoad SubscriptLoad AttributeLoad NameLoad attr Index Num attr Str decorator_list FunctionDef arguments args defaults body Assign TupleStore NameStore NameStore NameStore Call NameLoad Str Assign NameStore Call NameLoad NameLoad NameLoad keyword NameLoad Assign NameStore Call NameLoad Str Assert CompareEq AttributeLoad SubscriptLoad AttributeLoad NameLoad attr Index Num attr Str Assert CompareEq AttributeLoad SubscriptLoad AttributeLoad NameLoad attr Index Num attr Str decorator_list FunctionDef arguments args defaults body Assign TupleStore NameStore NameStore NameStore Call NameLoad Str Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad NameLoad NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args defaults body Assign NameStore Str Assign TupleStore NameStore NameStore NameStore Call NameLoad NameLoad Assign NameStore Call NameLoad NameLoad NameLoad keyword NameLoad Assign NameStore Call NameLoad Str Assign NameStore Call AttributeLoad Call NameLoad attr NameLoad Assign NameStore Call NameLoad Str Print Call AttributeLoad Str attr Call NameLoad Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad Call NameLoad attr NameLoad Print Call AttributeLoad Str attr Call NameLoad Call AttributeLoad NameLoad attr decorator_list FunctionDef arguments args defaults body Assign TupleStore NameStore NameStore NameStore Call NameLoad Str Assign NameStore Call NameLoad NameLoad NameLoad keyword NameLoad Assign NameStore Call NameLoad Str Assign NameStore Call AttributeLoad Call NameLoad attr NameLoad Assert CompareEq AttributeLoad NameLoad attr Str Assert CompareEq Call NameLoad AttributeLoad NameLoad attr Num Assert CompareEq ListComp AttributeLoad NameLoad attr comprehension NameStore AttributeLoad NameLoad attr BinOpMult ListLoad Str Num Assign NameStore Call NameLoad Str Assign NameStore Call AttributeLoad Call NameLoad attr NameLoad Assert CompareEq AttributeLoad NameLoad attr Str Assert CompareEq Call NameLoad AttributeLoad NameLoad attr Num Assert CompareEq ListComp AttributeLoad NameLoad attr comprehension NameStore AttributeLoad NameLoad attr BinOpMult ListLoad Str Num decorator_list FunctionDef arguments args defaults body Assign TupleStore NameStore NameStore NameStore Call NameLoad Str Assign NameStore Call NameLoad NameLoad NameLoad keyword NameLoad For NameStore ListLoad Str Str Str Str Str body Assign NameStore Call NameLoad NameLoad Assign NameStore Call AttributeLoad Call NameLoad attr NameLoad Assert CompareEq ListComp AttributeLoad NameLoad attr comprehension NameStore AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr decorator_list FunctionDef arguments args defaults body Assign TupleStore NameStore NameStore NameStore Call NameLoad Str Assign NameStore Call NameLoad NameLoad NameLoad Assign NameStore Call NameLoad Str Assign NameStore SubscriptLoad AttributeLoad SubscriptLoad Call AttributeLoad NameLoad attr Call NameLoad Index Num attr Index Num Assert CompareEq AttributeLoad NameLoad attr Str Assert CompareEq Call NameLoad AttributeLoad NameLoad attr Num Assert CompareEq AttributeLoad SubscriptLoad AttributeLoad NameLoad attr Index Num attr Str Assert CompareEq AttributeLoad SubscriptLoad AttributeLoad NameLoad attr Index Num attr Str Assign NameStore Call NameLoad Str Assign NameStore Call AttributeLoad Call NameLoad attr NameLoad decorator_list FunctionDef arguments args defaults body Assign TupleStore NameStore NameStore NameStore Call NameLoad Str Assign NameStore Call NameLoad NameLoad NameLoad keyword NameLoad Assign NameStore Call NameLoad Str Assert CompareEq Call NameLoad AttributeLoad NameLoad attr Num Assert CompareEq AttributeLoad SubscriptLoad AttributeLoad NameLoad attr Index Num attr Str decorator_list FunctionDef arguments args defaults body Assign TupleStore NameStore NameStore NameStore Call NameLoad Str Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad NameLoad NameLoad NameLoad Assert CompareIn Str Call NameLoad AttributeLoad NameLoad attr decorator_list FunctionDef arguments args defaults body Assign TupleStore NameStore NameStore NameStore Call NameLoad Str Assign NameStore Call NameLoad NameLoad NameLoad keyword NameLoad For NameStore ListLoad Str Str Str Str body Assign NameStore Call NameLoad NameLoad Assign NameStore Call AttributeLoad Call NameLoad attr NameLoad Assert CompareEq ListComp AttributeLoad NameLoad attr comprehension NameStore AttributeLoad NameLoad attr Call AttributeLoad BinOpAdd NameLoad Str attr decorator_list FunctionDef arguments args defaults body Assign TupleStore NameStore NameStore NameStore Call NameLoad Str Assign NameStore Call NameLoad NameLoad NameLoad Assign NameStore Call NameLoad Str Assign NameStore Call AttributeLoad Call NameLoad attr NameLoad Assert CompareEq Call NameLoad AttributeLoad NameLoad attr Num Assert CompareEq AttributeLoad SubscriptLoad AttributeLoad NameLoad attr Index Num attr Str Assert CompareEq AttributeLoad SubscriptLoad AttributeLoad NameLoad attr Index Num attr Str Assert CompareEq AttributeLoad SubscriptLoad AttributeLoad NameLoad attr Index Num attr Str decorator_list FunctionDef arguments args defaults body Assign TupleStore NameStore NameStore NameStore Call NameLoad Str Assign NameStore Call NameLoad NameLoad NameLoad Assign NameStore Call NameLoad Str Assign NameStore Call AttributeLoad Call NameLoad attr NameLoad Assert CompareEq Call NameLoad AttributeLoad NameLoad attr Num Assert CompareEq AttributeLoad SubscriptLoad AttributeLoad NameLoad attr Index Num attr Str Assert CompareEq AttributeLoad SubscriptLoad AttributeLoad NameLoad attr Index Num attr Str Assert CompareEq AttributeLoad SubscriptLoad AttributeLoad NameLoad attr Index Num attr Str Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad NameLoad Str decorator_list FunctionDef arguments args defaults body Assign TupleStore NameStore NameStore NameStore Call NameLoad Str Assign NameStore Call NameLoad NameLoad NameLoad Assign NameStore Call NameLoad Str Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad NameLoad Str Assign NameStore Call AttributeLoad Call NameLoad attr NameLoad Assert CompareEq Call NameLoad AttributeLoad NameLoad attr Num Assert CompareEq AttributeLoad SubscriptLoad AttributeLoad NameLoad attr Index Num attr Str Assert CompareEq AttributeLoad SubscriptLoad AttributeLoad NameLoad attr Index Num attr Str Assert CompareEq AttributeLoad SubscriptLoad AttributeLoad NameLoad attr Index Num attr Str Assign NameStore Call NameLoad Str Assign NameStore Call AttributeLoad Call NameLoad attr NameLoad Assert CompareEq Call NameLoad AttributeLoad NameLoad attr Num Assert CompareEq AttributeLoad SubscriptLoad AttributeLoad NameLoad attr Index Num attr Str decorator_list FunctionDef arguments args defaults body Assign TupleStore NameStore NameStore NameStore Call NameLoad Str Assign NameStore Call NameLoad NameLoad NameLoad Assign NameStore Call AttributeLoad Call NameLoad attr Call NameLoad Str Assign NameStore Call AttributeLoad Call NameLoad attr Call NameLoad Str Assert CompareEq Call NameLoad AttributeLoad NameLoad attr Call NameLoad AttributeLoad NameLoad attr decorator_list FunctionDef arguments args defaults body Assign TupleStore NameStore NameStore NameStore Call NameLoad Str Assign NameStore Call NameLoad NameLoad NameLoad Assign NameStore Call AttributeLoad Call NameLoad attr Call NameLoad Str Assert CompareEq Call NameLoad AttributeLoad SubscriptLoad AttributeLoad NameLoad attr Index Num attr Num decorator_list FunctionDef arguments args defaults body Assign TupleStore NameStore NameStore NameStore Call NameLoad Str Assign NameStore Call NameLoad NameLoad NameLoad Assign NameStore Call AttributeLoad Call NameLoad attr Call NameLoad Str Assign NameStore Call AttributeLoad Call NameLoad attr Call NameLoad Str decorator_list FunctionDef arguments args defaults body Assign TupleStore NameStore NameStore NameStore Call NameLoad Str Assign NameStore Call NameLoad NameLoad NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad NameLoad Str Expr Call NameLoad Str decorator_list FunctionDef arguments args defaults body Assign TupleStore NameStore NameStore NameStore Call NameLoad Str Assign NameStore Call NameLoad NameLoad NameLoad Assign NameStore Call NameLoad Str Assign NameStore Call AttributeLoad Call NameLoad attr NameLoad decorator_list FunctionDef arguments args defaults body Assign TupleStore NameStore NameStore NameStore Call NameLoad Str Assign NameStore Call NameLoad NameLoad NameLoad Assign NameStore Call NameLoad Str Assign NameStore Call AttributeLoad Call NameLoad attr NameLoad decorator_list FunctionDef arguments args defaults body Expr Call AttributeLoad AttributeLoad NameLoad attr attr Str Assign TupleStore NameStore NameStore NameStore Call NameLoad Str Assign NameStore Call NameLoad NameLoad NameLoad Assign NameStore Call NameLoad Str Assign NameStore Call AttributeLoad Call NameLoad attr NameLoad decorator_list FunctionDef arguments args defaults body Assign TupleStore NameStore NameStore NameStore Call NameLoad Str Assign NameStore Call NameLoad NameLoad NameLoad keyword NameLoad Assign NameStore Call NameLoad Str Assign NameStore Call AttributeLoad Call NameLoad attr NameLoad Assert Call NameLoad NameLoad NameLoad Assert CompareEq Call NameLoad AttributeLoad NameLoad attr Num Assign NameStore Call NameLoad Str Assign NameStore Call AttributeLoad Call NameLoad attr NameLoad Assert CompareEq Call NameLoad AttributeLoad NameLoad attr Num Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad NameLoad Str decorator_list
N/A N/A py pypy.rlib.parsing.tree Nonterminal Symbol RPythonVisitor pypy.rlib.parsing.parsing PackratParser Symbol ParseError Rule pypy.rlib.parsing.ebnfparse parse_ebnf make_parse_function pypy.rlib.parsing.test.test_parse EvaluateVisitor sets Set test_simple N/A N/A N/A N/A N/A N/A regexs rules transformer N/A parse_ebnf 
IGNORE: " ";
DECIMAL: "0|[1-9][0-9]*";
additive: multitive "+" additive | multitive;
multitive: primary "*" multitive | primary; #nonsense!
# the following too!
primary: "(" additive ")" | DECIMAL;
 MyEvalVisitor N/A EvaluateVisitor N/A visit_primary N/A N/A self node N/A N/A N/A N/A N/A len N/A node children 3 N/A N/A N/A N/A N/A N/A node children N/A 1 visit self N/A N/A int N/A N/A N/A node children N/A 0 additional_info N/A N/A N/A parse N/A make_parse_function regexs rules N/A tree N/A parse 0 + 10 + 999 N/A N/A N/A N/A tree visit N/A MyEvalVisitor N/A 10 999 N/A tree N/A parse 22 * 12 + 44) N/A r N/A N/A tree visit N/A MyEvalVisitor N/A N/A r N/A N/A 22 12 44 N/A tree N/A parse 2*(3+5*2*(2+61)) N/A N/A N/A N/A tree visit N/A MyEvalVisitor N/A 2 N/A 3 N/A N/A 5 2 N/A 2 61 N/A tree N/A parse 12 + 4 * 5) N/A test_long_inline_quotes N/A N/A N/A N/A N/A N/A regexs rules transformer N/A parse_ebnf 
DECIMAL: "0|[1-9][0-9]*";
IGNORE: " ";
additive: multitive "+!" additive | multitive;
multitive: primary "*!" multitive | primary; #nonsense!
primary: "(" additive ")" | DECIMAL;
 MyEvalVisitor N/A EvaluateVisitor N/A visit_primary N/A N/A self node N/A N/A N/A N/A N/A len N/A node children 3 N/A N/A N/A N/A N/A N/A node children N/A 1 visit self N/A N/A int N/A N/A N/A node children N/A 0 additional_info N/A N/A N/A parse N/A make_parse_function regexs rules N/A tree N/A parse 0 +! 10 +! 999 N/A N/A N/A N/A tree visit N/A MyEvalVisitor N/A 10 999 N/A test_toast N/A N/A N/A N/A N/A N/A regexs rules ToAST N/A parse_ebnf 
DECIMAL: "0|[1-9][0-9]*";
IGNORE: " ";
additive: multitive ["+!"] additive | <multitive>;
multitive: primary ["*!"] multitive | <primary>; #nonsense!
primary: "(" <additive> ")" | <DECIMAL>;
 N/A parse N/A make_parse_function regexs rules N/A tree N/A parse (0 +! 10) *! (999 +! 10) +! 1 N/A tree N/A N/A N/A tree visit N/A ToAST N/A 0 N/A N/A N/A len N/A tree children 2 N/A N/A N/A N/A N/A N/A N/A tree children N/A 0 children N/A 0 symbol additive N/A N/A N/A N/A N/A tree children N/A 1 symbol DECIMAL N/A test_eof N/A N/A N/A N/A N/A grammar 
DECIMAL: "0|[1-9][0-9]*";
IGNORE: " ";
expr: additive0_9 EOF;
additive0_9: multitive "+!" additive0_9 | multitive;
multitive: primary "*!" multitive | primary; #nonsense!
primary: "(" additive0_9 ")" | DECIMAL;
 N/A N/A regexs rules ToAST N/A parse_ebnf grammar MyEvalVisitor N/A EvaluateVisitor N/A visit_primary N/A N/A self node N/A N/A N/A N/A N/A len N/A node children 3 N/A N/A N/A N/A N/A N/A node children N/A 1 visit self N/A N/A int N/A N/A N/A node children N/A 0 additional_info N/A visit_expr N/A N/A self node N/A N/A N/A N/A N/A N/A N/A node children N/A 0 visit self N/A N/A visit_additive0_9 N/A EvaluateVisitor visit_additive N/A N/A parse N/A make_parse_function regexs rules eof True N/A tree N/A parse 0 +! 10 +! 999 N/A N/A N/A N/A tree visit N/A MyEvalVisitor N/A 10 999 N/A N/A N/A N/A py test raises ParseError parse 0 +! 10 +! 999 0000 N/A grammar some garbage here N/A N/A N/A N/A py test raises ParseError parse_ebnf grammar N/A test_prolog N/A N/A N/A N/A N/A N/A regexs rules ToAST N/A parse_ebnf 
ATOM: "[a-z]([a-zA-Z0-9]|_)*";
VAR: "[A-Z]([a-zA-Z0-9]|_)*|_";
NUMBER: "0|[1-9][0-9]*";
IGNORE: "[ \n\t]";
file: fact file | fact;
fact: complexterm "." | complexterm ":-" compoundexpr ".";
compoundexpr: complexterm "," compoundexpr | complexterm ";" compoundexpr | complexterm;
complexterm: ATOM "(" exprlist ")" | ATOM;
exprlist: expr "," exprlist | expr;
expr: complexterm | ATOM | NUMBER | VAR;
 N/A parse N/A make_parse_function regexs rules N/A tree N/A parse prefix(
	longer(and_nested(term(X))), Xya, _, X0, _). N/A N/A tree None N/A tree N/A parse 
foo(X, Y) :- bar(Y, X), bar(Y, X) ; foobar(X, Y, 1234, atom). N/A N/A tree None N/A test_toast_bigger N/A N/A N/A N/A N/A N/A regexs rules ToAST N/A parse_ebnf 
BOOLCONST: "TRUE|FALSE";
IDENTIFIER: "[a-zA-Z_][a-zA-Z0-9_]*";
NUMBER: "0|[1-9][0-9]*";
IGNORE: " ";
# expression
expr: <intexpr> | <boolexpr>;
intexpr: multitive "+" intexpr | multitive "-" intexpr | <multitive>;
multitive: primary "*" unaryexpr | primary "/" unaryexpr |
           primary "%" unaryexpr | <unaryexpr>;
unaryexpr: "+" unaryexpr | "-" unaryexpr | <primary>;
primary: "(" <intexpr> ")" | <NUMBER> | <IDENTIFIER>;
boolexpr: <BOOLCONST>; #strange thing
 N/A parse N/A make_parse_function regexs rules N/A tree N/A parse x * floor + 1 N/A tree N/A N/A N/A ToAST transform tree N/A N/A N/A N/A N/A tree children N/A 2 symbol NUMBER N/A test_parser_repr_is_evalable N/A N/A N/A N/A N/A N/A regexs rules ToAST N/A parse_ebnf 
BOOLCONST: "TRUE|FALSE";
IDENTIFIER: "[a-zA-Z_][a-zA-Z0-9_]*";
NUMBER: "0|[1-9][0-9]*";
IGNORE: " ";
# expression
expr: <intexpr> | <boolexpr>;
intexpr: multitive "+" intexpr | multitive "-" intexpr | <multitive>;
multitive: primary "*" unaryexpr | primary "/" unaryexpr |
           primary "%" unaryexpr | <unaryexpr>;
unaryexpr: "+" unaryexpr | "-" unaryexpr | <primary>;
primary: "(" <intexpr> ")" | <NUMBER> | <IDENTIFIER>;
boolexpr: <BOOLCONST>; #strange thing

 N/A parser N/A PackratParser rules N/A N/A rules N/A 0 nonterminal N/A s N/A repr parser N/A s N/A newparser N/A eval s N/A N/A N/A repr newparser s N/A test_lexer_end_string_corner_case N/A N/A N/A N/A N/A N/A regexs rules ToAST N/A parse_ebnf 
NUMBER: "[0-9]*(\.[0-9]+)?";
ATOM: "\.";
IGNORE: " ";
expr: NUMBER ATOM EOF;
 N/A parse N/A make_parse_function regexs rules eof True N/A t N/A parse 2. N/A N/A N/A N/A N/A t children N/A 0 additional_info 2 N/A N/A N/A N/A N/A t children N/A 1 additional_info . N/A test_escape_quotes N/A N/A N/A N/A N/A N/A regexs rules ToAST N/A parse_ebnf 
QUOTE: "a\"";
IGNORE: " ";
expr: QUOTE "\"" EOF; N/A parse N/A make_parse_function regexs rules eof True N/A t N/A parse a" " N/A N/A N/A N/A N/A t children N/A 0 additional_info a" N/A N/A N/A N/A N/A t children N/A 1 additional_info " N/A test_leftrecursion N/A N/A N/A N/A N/A N/A regexs rules ToAST N/A parse_ebnf 
A: "a";
B: "b";
IGNORE: " |
";
expr1: A | expr2 A;
expr2: expr1 B;
 N/A N/A N/A N/A py test raises AssertionError make_parse_function regexs rules True N/A test_jsonparse N/A N/A N/A N/A N/A source 
    STRING: "\"[^\\"]*\"";
    NUMBER: "\-?(0|[1-9][0-9]*)(\.[0-9]+)?([eE][\+\-]?[0-9]+)?";
    IGNORE: " |
";
    value: <STRING> | <NUMBER> | <object> | <array> | <"null"> |
           <"true"> | <"false">;
    object: ["{"] (entry [","])* entry ["}"];
    array: ["["] (value [","])* value ["]"];
    entry: STRING [":"] value;
 N/A N/A regexs rules ToAST N/A parse_ebnf source N/A parse N/A make_parse_function regexs rules eof True N/A t N/A parse 
{
    "type": "SCRIPT",
    "0": {
        "type": "SEMICOLON",
        "end": "5",
        "expression": {
            "type": "ASSIGN",
            "0": {
                "type": "IDENTIFIER",
                "assignOp": "null",
                "end": "1",
                "lineno": "1",
                "start": "0",
                "tokenizer": "[object Object]",
                "value": "x"
            } ,
            "1": {
                "type": "NUMBER",
                "end": "5",
                "lineno": "1",
                "start": "4",
                "tokenizer": "[object Object]",
                "value": "1"
            } ,
            "end": "5",
            "length": "2",
            "lineno": "1",
            "start": "0",
            "tokenizer": "[object Object]",
            "value": "="
        } ,
        "lineno": "1",
        "start": "0",
        "tokenizer": "[object Object]",
        "value": "x"
    } ,
    "funDecls": "",
    "length": "1",
    "lineno": "1",
    "tokenizer": "[object Object]",
    "varDecls": ""
} N/A t N/A N/A N/A ToAST transform t N/A t N/A parse {"a": "5", "b": [1, null, 3, true, {"f": "g", "h": 6}]} N/A N/A N/A join N/A list N/A N/A t dot N/A t N/A N/A N/A ToAST transform t N/A N/A N/A join N/A list N/A N/A t dot N/A test_starparse N/A N/A N/A N/A N/A N/A regexs rules ToAST N/A parse_ebnf 
    QUOTED_STRING: "'[^\']*'";
    IGNORE: " |
";
    list: ["["] (QUOTED_STRING [","])* QUOTED_STRING ["]"];
 N/A parse N/A make_parse_function regexs rules eof True N/A t N/A parse ['a', 'b', 'c'] N/A t N/A N/A N/A ToAST transform t N/A N/A N/A t symbol list N/A N/A N/A len N/A t children 3 N/A N/A N/A N/A c symbol N/A c N/A t children N/A N/A QUOTED_STRING 3 N/A t N/A parse ['a'] N/A t N/A N/A N/A ToAST transform t N/A N/A N/A t symbol list N/A N/A N/A len N/A t children 1 N/A N/A N/A N/A c symbol N/A c N/A t children N/A N/A QUOTED_STRING 1 N/A test_double_star N/A N/A N/A N/A N/A N/A regexs rules ToAST N/A parse_ebnf 
    IGNORE: " |
";
    start: "a"* "b"* "c";
 N/A parse N/A make_parse_function regexs rules eof True N/A s N/A a a a b b c a b b c a a c b b c c N/A N/A t N/A parse s N/A t N/A N/A N/A ToAST transform t N/A N/A N/A N/A c additional_info N/A c N/A t children N/A N/A s split N/A test_transform_star N/A N/A N/A N/A N/A N/A regexs rules ToAST N/A parse_ebnf 
    IGNORE: " ";
    ATOM: "[\+a-zA-Z_][a-zA-Z0-9_]*";

    sexpr: ATOM | list;
    list: "(" sexpr* ")";
 N/A parse N/A make_parse_function regexs rules N/A tree N/A parse () N/A list_expr N/A N/A N/A N/A N/A tree visit N/A ToAST N/A 0 children N/A 0 N/A N/A N/A list_expr symbol list N/A N/A N/A len N/A list_expr children 2 N/A N/A N/A N/A N/A list_expr children N/A 0 additional_info ( N/A N/A N/A N/A N/A list_expr children N/A 1 additional_info ) N/A tree N/A parse (a b c) N/A list_expr N/A N/A N/A ToAST transform tree N/A test_quoting N/A N/A N/A N/A N/A N/A regexs rules ToAST N/A parse_ebnf 
    ATOM: "[a-z]*";
    IGNORE: " ";
    list: ATOM "
" ATOM;
 N/A parse N/A make_parse_function regexs rules eof True N/A t N/A parse abc
  abd N/A N/A N/A len N/A t children 3 N/A N/A N/A N/A N/A t children N/A 1 additional_info N/A test_check_for_missing_names N/A N/A N/A N/A N/A N/A regexs rules ToAST N/A parse_ebnf 
IGNORE: " ";
DECIMAL: "0|[1-9][0-9]*";
additive: multitive "+" additive | multitive;
multitive: primary "*" multitive | primari; # observe the typo
# the following too!
primary: "(" additive ")" | DECIMAL;
 N/A excinfo N/A N/A N/A py test raises ValueError make_parse_function regexs rules N/A N/A primari N/A str N/A excinfo value N/A test_starred_star N/A N/A N/A N/A N/A N/A regexs rules ToAST N/A parse_ebnf 
IGNORE: " ";
start: ("b"* "a")* EOF;
     N/A parse N/A make_parse_function regexs rules eof True N/A s N/A b b b b a b b a b a b a a a N/A N/A t N/A parse s N/A t N/A N/A N/A ToAST transform t N/A N/A N/A N/A c additional_info N/A c N/A t children N/A N/A N/A s  EOF split N/A test_transform_greater_than N/A N/A N/A N/A N/A N/A regexs rules ToAST N/A parse_ebnf 
IGNORE: " ";
x: ["a"] >b< "c";
b: "A" "A";
     N/A parse N/A make_parse_function regexs rules N/A t N/A parse a A A c N/A t N/A N/A N/A ToAST transform t N/A N/A N/A len N/A t children 3 N/A N/A N/A N/A N/A t children N/A 0 additional_info A N/A N/A N/A N/A N/A t children N/A 1 additional_info A N/A N/A N/A N/A N/A t children N/A 2 additional_info c N/A test_plus N/A N/A N/A N/A N/A N/A regexs rules ToAST N/A parse_ebnf 
IGNORE: " ";
x: "A"+ "B";
     N/A parse N/A make_parse_function regexs rules N/A t N/A parse A A B N/A t N/A N/A N/A ToAST transform t N/A N/A N/A len N/A t children 3 N/A N/A N/A N/A N/A t children N/A 0 additional_info A N/A N/A N/A N/A N/A t children N/A 1 additional_info A N/A N/A N/A N/A N/A t children N/A 2 additional_info B N/A N/A N/A N/A py test raises ParseError parse B N/A test_questionmark N/A N/A N/A N/A N/A N/A regexs rules ToAST N/A parse_ebnf 
IGNORE: " ";
x: ["A"] ("B" ["C"] "D")? "E";
     N/A parse N/A make_parse_function regexs rules N/A t N/A parse A B C D E N/A N/A N/A N/A py test raises ParseError parse A B C D B C D E N/A t N/A N/A N/A ToAST transform t N/A N/A N/A len N/A t children 3 N/A N/A N/A N/A N/A t children N/A 0 additional_info B N/A N/A N/A N/A N/A t children N/A 1 additional_info D N/A N/A N/A N/A N/A t children N/A 2 additional_info E N/A t N/A parse A  E N/A t N/A N/A N/A ToAST transform t N/A N/A N/A len N/A t children 1 N/A N/A N/A N/A N/A t children N/A 0 additional_info E N/A test_grouping_only_parens N/A N/A N/A N/A N/A N/A regexs rules ToAST N/A parse_ebnf 
IGNORE: " ";
x: ["m"] ("a" "b") "c" | <y>;
y: ["n"] "a" "b" "c";
     N/A parse N/A make_parse_function regexs rules N/A t0 N/A N/A N/A ToAST transform N/A parse m a b c N/A t1 N/A N/A N/A ToAST transform N/A parse n a b c N/A N/A N/A len N/A t0 children N/A len N/A t1 children N/A test_mix_star_and_questionmark N/A N/A N/A N/A N/A N/A regexs rules ToAST N/A parse_ebnf 
IGNORE: " ";
y: x "END";
x: "B" ("A" "B")* "A"?;
     N/A parse N/A make_parse_function regexs rules N/A t N/A N/A N/A ToAST transform N/A parse B A B END N/A N/A N/A len N/A N/A N/A t children N/A 0 children 3 N/A test_nest_star_and_questionmark N/A N/A N/A N/A N/A N/A regexs rules ToAST N/A parse_ebnf 
IGNORE: " ";
y: x "END";
x: "B" ("A" "B"?)*;
     N/A parse N/A make_parse_function regexs rules N/A t N/A N/A N/A ToAST transform N/A parse B A B A B END N/A t N/A N/A N/A ToAST transform N/A parse B A A A END N/A test_clash_literal_nonterminal N/A N/A N/A N/A N/A N/A regexs rules ToAST N/A parse_ebnf 
IGNORE: " ";
y: x "END";
x: "y";
a: "x";
     N/A parse N/A make_parse_function regexs rules N/A N/A N/A N/A py test raises ParseError parse x END N/A N/A parse y END N/A test_example1 N/A N/A N/A N/A N/A N/A regexs rules ToAST N/A parse_ebnf 
IGNORE: " ";
n: "a" "b" "c" m;
m: "(" <n> ")" | "d";
     N/A parse N/A make_parse_function regexs rules N/A t N/A parse a b c (a b c d) N/A t N/A N/A N/A ToAST transform t N/A test_example2 N/A N/A N/A N/A N/A N/A regexs rules ToAST N/A parse_ebnf 
IGNORE: " ";
DECIMAL: "0|[1-9][0-9]*";
list: DECIMAL >list< | DECIMAL;
     N/A parse N/A make_parse_function regexs rules N/A t N/A parse 1 2 3 4 5 N/A t N/A N/A N/A ToAST transform t N/A test_bug N/A N/A N/A N/A N/A N/A N/A N/A py test skip fix me somehow N/A N/A regexs rules ToAST N/A parse_ebnf 
IGNORE: " ";
DECIMAL: "0|[1-9][0-9]*";
list: DECIMAL >list< | <DECIMAL>;
     N/A parse N/A make_parse_function regexs rules N/A t N/A parse 1 2 3 4 5 N/A t N/A N/A N/A ToAST transform t N/A test_empty_production N/A N/A N/A N/A N/A N/A regexs rules ToAST N/A parse_ebnf 
IGNORE: " ";
DECIMAL: "0|[1-9][0-9]*";
file: <stuff> EOF;
stuff: "a" >stuff< "a" | "y" | >empty<;
empty: ;
     N/A parse N/A make_parse_function regexs rules eof True N/A t N/A parse N/A t N/A N/A N/A ToAST transform t N/A N/A isinstance t Nonterminal N/A N/A N/A len N/A t children 0 N/A t N/A parse  a  a  a  a a    a  N/A t N/A N/A N/A ToAST transform t N/A N/A N/A len N/A t children 6 N/A excinfo N/A N/A N/A py test raises ParseError parse a N/A