diff options
author | Guido van Rossum <guido@python.org> | 1995-07-07 22:44:10 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1995-07-07 22:44:10 (GMT) |
commit | e40bddc3ef5321e6ceba4277bd344784724d4ba1 (patch) | |
tree | 96e57801047afad573023a213bdb54e2cc77cc9a | |
parent | 872537cc86080d5f816c2e6f81906a7cb8c0a468 (diff) | |
download | cpython-e40bddc3ef5321e6ceba4277bd344784724d4ba1.zip cpython-e40bddc3ef5321e6ceba4277bd344784724d4ba1.tar.gz cpython-e40bddc3ef5321e6ceba4277bd344784724d4ba1.tar.bz2 |
new grammar
-rw-r--r-- | Python/graminit.c | 216 |
1 files changed, 142 insertions, 74 deletions
diff --git a/Python/graminit.c b/Python/graminit.c index bdbb22f..3ad2723 100644 --- a/Python/graminit.c +++ b/Python/graminit.c @@ -97,32 +97,50 @@ static arc arcs_5_1[3] = { {22, 4}, {0, 1}, }; -static arc arcs_5_2[1] = { +static arc arcs_5_2[2] = { {12, 5}, + {23, 6}, }; static arc arcs_5_3[1] = { - {21, 6}, + {21, 7}, }; static arc arcs_5_4[3] = { {19, 1}, {23, 2}, {0, 4}, }; -static arc arcs_5_5[1] = { +static arc arcs_5_5[2] = { + {22, 8}, {0, 5}, }; -static arc arcs_5_6[2] = { +static arc arcs_5_6[1] = { + {12, 9}, +}; +static arc arcs_5_7[2] = { {22, 4}, - {0, 6}, + {0, 7}, +}; +static arc arcs_5_8[1] = { + {23, 10}, +}; +static arc arcs_5_9[1] = { + {0, 9}, }; -static state states_5[7] = { +static arc arcs_5_10[1] = { + {23, 6}, +}; +static state states_5[11] = { {2, arcs_5_0}, {3, arcs_5_1}, - {1, arcs_5_2}, + {2, arcs_5_2}, {1, arcs_5_3}, {3, arcs_5_4}, - {1, arcs_5_5}, - {2, arcs_5_6}, + {2, arcs_5_5}, + {1, arcs_5_6}, + {2, arcs_5_7}, + {1, arcs_5_8}, + {1, arcs_5_9}, + {1, arcs_5_10}, }; static arc arcs_6_0[2] = { {12, 1}, @@ -320,15 +338,24 @@ static arc arcs_19_2[2] = { static arc arcs_19_3[1] = { {21, 4}, }; -static arc arcs_19_4[1] = { +static arc arcs_19_4[2] = { + {22, 5}, {0, 4}, }; -static state states_19[5] = { +static arc arcs_19_5[1] = { + {21, 6}, +}; +static arc arcs_19_6[1] = { + {0, 6}, +}; +static state states_19[7] = { {1, arcs_19_0}, {1, arcs_19_1}, {2, arcs_19_2}, {1, arcs_19_3}, - {1, arcs_19_4}, + {2, arcs_19_4}, + {1, arcs_19_5}, + {1, arcs_19_6}, }; static arc arcs_20_0[2] = { {48, 1}, @@ -958,11 +985,11 @@ static arc arcs_47_0[3] = { {51, 3}, }; static arc arcs_47_1[2] = { - {9, 4}, + {117, 4}, {18, 5}, }; static arc arcs_47_2[1] = { - {117, 6}, + {118, 6}, }; static arc arcs_47_3[1] = { {12, 5}, @@ -1063,7 +1090,7 @@ static state states_51[5] = { {2, arcs_51_4}, }; static arc arcs_52_0[1] = { - {118, 1}, + {119, 1}, }; static arc arcs_52_1[1] = { {12, 2}, @@ -1097,115 +1124,154 @@ static state states_52[8] = { {1, arcs_52_6}, {1, arcs_52_7}, }; -static dfa dfas[53] = { +static arc arcs_53_0[1] = { + {120, 1}, +}; +static arc arcs_53_1[2] = { + {22, 2}, + {0, 1}, +}; +static arc arcs_53_2[2] = { + {120, 1}, + {0, 2}, +}; +static state states_53[3] = { + {1, arcs_53_0}, + {2, arcs_53_1}, + {2, arcs_53_2}, +}; +static arc arcs_54_0[1] = { + {21, 1}, +}; +static arc arcs_54_1[2] = { + {20, 2}, + {0, 1}, +}; +static arc arcs_54_2[1] = { + {21, 3}, +}; +static arc arcs_54_3[1] = { + {0, 3}, +}; +static state states_54[4] = { + {1, arcs_54_0}, + {2, arcs_54_1}, + {1, arcs_54_2}, + {1, arcs_54_3}, +}; +static dfa dfas[55] = { {256, "single_input", 0, 3, states_0, - "\004\030\001\000\260\360\265\200\034\200\000\000\060\122\136"}, + "\004\030\001\000\260\360\265\200\034\200\000\000\060\122\236\000"}, {257, "file_input", 0, 2, states_1, - "\204\030\001\000\260\360\265\200\034\200\000\000\060\122\136"}, + "\204\030\001\000\260\360\265\200\034\200\000\000\060\122\236\000"}, {258, "eval_input", 0, 3, states_2, - "\000\020\001\000\000\000\000\000\000\200\000\000\060\122\036"}, + "\000\020\001\000\000\000\000\000\000\200\000\000\060\122\036\000"}, {259, "funcdef", 0, 6, states_3, - "\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000"}, + "\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000"}, {260, "parameters", 0, 4, states_4, - "\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000"}, - {261, "varargslist", 0, 7, states_5, - "\000\020\201\000\000\000\000\000\000\000\000\000\000\000\000"}, + "\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000"}, + {261, "varargslist", 0, 11, states_5, + "\000\020\201\000\000\000\000\000\000\000\000\000\000\000\000\000"}, {262, "fpdef", 0, 4, states_6, - "\000\020\001\000\000\000\000\000\000\000\000\000\000\000\000"}, + "\000\020\001\000\000\000\000\000\000\000\000\000\000\000\000\000"}, {263, "fplist", 0, 3, states_7, - "\000\020\001\000\000\000\000\000\000\000\000\000\000\000\000"}, + "\000\020\001\000\000\000\000\000\000\000\000\000\000\000\000\000"}, {264, "stmt", 0, 2, states_8, - "\000\030\001\000\260\360\265\200\034\200\000\000\060\122\136"}, + "\000\030\001\000\260\360\265\200\034\200\000\000\060\122\236\000"}, {265, "simple_stmt", 0, 4, states_9, - "\000\020\001\000\260\360\265\000\000\200\000\000\060\122\036"}, + "\000\020\001\000\260\360\265\000\000\200\000\000\060\122\036\000"}, {266, "small_stmt", 0, 2, states_10, - "\000\020\001\000\260\360\265\000\000\200\000\000\060\122\036"}, + "\000\020\001\000\260\360\265\000\000\200\000\000\060\122\036\000"}, {267, "expr_stmt", 0, 2, states_11, - "\000\020\001\000\000\000\000\000\000\200\000\000\060\122\036"}, + "\000\020\001\000\000\000\000\000\000\200\000\000\060\122\036\000"}, {268, "print_stmt", 0, 3, states_12, - "\000\000\000\000\020\000\000\000\000\000\000\000\000\000\000"}, + "\000\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000"}, {269, "del_stmt", 0, 3, states_13, - "\000\000\000\000\040\000\000\000\000\000\000\000\000\000\000"}, + "\000\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000"}, {270, "pass_stmt", 0, 2, states_14, - "\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000"}, + "\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000"}, {271, "flow_stmt", 0, 2, states_15, - "\000\000\000\000\000\360\000\000\000\000\000\000\000\000\000"}, + "\000\000\000\000\000\360\000\000\000\000\000\000\000\000\000\000"}, {272, "break_stmt", 0, 2, states_16, - "\000\000\000\000\000\020\000\000\000\000\000\000\000\000\000"}, + "\000\000\000\000\000\020\000\000\000\000\000\000\000\000\000\000"}, {273, "continue_stmt", 0, 2, states_17, - "\000\000\000\000\000\040\000\000\000\000\000\000\000\000\000"}, + "\000\000\000\000\000\040\000\000\000\000\000\000\000\000\000\000"}, {274, "return_stmt", 0, 3, states_18, - "\000\000\000\000\000\100\000\000\000\000\000\000\000\000\000"}, - {275, "raise_stmt", 0, 5, states_19, - "\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000"}, + "\000\000\000\000\000\100\000\000\000\000\000\000\000\000\000\000"}, + {275, "raise_stmt", 0, 7, states_19, + "\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000"}, {276, "import_stmt", 0, 9, states_20, - "\000\000\000\000\000\000\005\000\000\000\000\000\000\000\000"}, + "\000\000\000\000\000\000\005\000\000\000\000\000\000\000\000\000"}, {277, "dotted_name", 0, 2, states_21, - "\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000"}, + "\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000"}, {278, "global_stmt", 0, 3, states_22, - "\000\000\000\000\000\000\020\000\000\000\000\000\000\000\000"}, + "\000\000\000\000\000\000\020\000\000\000\000\000\000\000\000\000"}, {279, "access_stmt", 0, 7, states_23, - "\000\000\000\000\000\000\040\000\000\000\000\000\000\000\000"}, + "\000\000\000\000\000\000\040\000\000\000\000\000\000\000\000\000"}, {280, "accesstype", 0, 2, states_24, - "\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000"}, + "\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000"}, {281, "exec_stmt", 0, 7, states_25, - "\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000"}, + "\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000"}, {282, "compound_stmt", 0, 2, states_26, - "\000\010\000\000\000\000\000\200\034\000\000\000\000\000\100"}, + "\000\010\000\000\000\000\000\200\034\000\000\000\000\000\200\000"}, {283, "if_stmt", 0, 8, states_27, - "\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000"}, + "\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000"}, {284, "while_stmt", 0, 8, states_28, - "\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000"}, + "\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000"}, {285, "for_stmt", 0, 10, states_29, - "\000\000\000\000\000\000\000\000\010\000\000\000\000\000\000"}, + "\000\000\000\000\000\000\000\000\010\000\000\000\000\000\000\000"}, {286, "try_stmt", 0, 10, states_30, - "\000\000\000\000\000\000\000\000\020\000\000\000\000\000\000"}, + "\000\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000"}, {287, "except_clause", 0, 5, states_31, - "\000\000\000\000\000\000\000\000\200\000\000\000\000\000\000"}, + "\000\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000"}, {288, "suite", 0, 5, states_32, - "\004\020\001\000\260\360\265\000\000\200\000\000\060\122\036"}, + "\004\020\001\000\260\360\265\000\000\200\000\000\060\122\036\000"}, {289, "test", 0, 4, states_33, - "\000\020\001\000\000\000\000\000\000\200\000\000\060\122\036"}, + "\000\020\001\000\000\000\000\000\000\200\000\000\060\122\036\000"}, {290, "and_test", 0, 2, states_34, - "\000\020\001\000\000\000\000\000\000\200\000\000\060\122\016"}, + "\000\020\001\000\000\000\000\000\000\200\000\000\060\122\016\000"}, {291, "not_test", 0, 3, states_35, - "\000\020\001\000\000\000\000\000\000\200\000\000\060\122\016"}, + "\000\020\001\000\000\000\000\000\000\200\000\000\060\122\016\000"}, {292, "comparison", 0, 2, states_36, - "\000\020\001\000\000\000\000\000\000\000\000\000\060\122\016"}, + "\000\020\001\000\000\000\000\000\000\000\000\000\060\122\016\000"}, {293, "comp_op", 0, 4, states_37, - "\000\000\000\000\000\000\000\002\000\200\374\003\000\000\000"}, + "\000\000\000\000\000\000\000\002\000\200\374\003\000\000\000\000"}, {294, "expr", 0, 2, states_38, - "\000\020\001\000\000\000\000\000\000\000\000\000\060\122\016"}, + "\000\020\001\000\000\000\000\000\000\000\000\000\060\122\016\000"}, {295, "xor_expr", 0, 2, states_39, - "\000\020\001\000\000\000\000\000\000\000\000\000\060\122\016"}, + "\000\020\001\000\000\000\000\000\000\000\000\000\060\122\016\000"}, {296, "and_expr", 0, 2, states_40, - "\000\020\001\000\000\000\000\000\000\000\000\000\060\122\016"}, + "\000\020\001\000\000\000\000\000\000\000\000\000\060\122\016\000"}, {297, "shift_expr", 0, 2, states_41, - "\000\020\001\000\000\000\000\000\000\000\000\000\060\122\016"}, + "\000\020\001\000\000\000\000\000\000\000\000\000\060\122\016\000"}, {298, "arith_expr", 0, 2, states_42, - "\000\020\001\000\000\000\000\000\000\000\000\000\060\122\016"}, + "\000\020\001\000\000\000\000\000\000\000\000\000\060\122\016\000"}, {299, "term", 0, 2, states_43, - "\000\020\001\000\000\000\000\000\000\000\000\000\060\122\016"}, + "\000\020\001\000\000\000\000\000\000\000\000\000\060\122\016\000"}, {300, "factor", 0, 4, states_44, - "\000\020\001\000\000\000\000\000\000\000\000\000\060\122\016"}, + "\000\020\001\000\000\000\000\000\000\000\000\000\060\122\016\000"}, {301, "atom", 0, 11, states_45, - "\000\020\001\000\000\000\000\000\000\000\000\000\000\120\016"}, + "\000\020\001\000\000\000\000\000\000\000\000\000\000\120\016\000"}, {302, "lambdef", 0, 5, states_46, - "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020"}, + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\000"}, {303, "trailer", 0, 7, states_47, - "\000\000\001\000\000\000\010\000\000\000\000\000\000\020\000"}, + "\000\000\001\000\000\000\010\000\000\000\000\000\000\020\000\000"}, {304, "subscript", 0, 4, states_48, - "\000\120\001\000\000\000\000\000\000\200\000\000\060\122\036"}, + "\000\120\001\000\000\000\000\000\000\200\000\000\060\122\036\000"}, {305, "exprlist", 0, 3, states_49, - "\000\020\001\000\000\000\000\000\000\000\000\000\060\122\016"}, + "\000\020\001\000\000\000\000\000\000\000\000\000\060\122\016\000"}, {306, "testlist", 0, 3, states_50, - "\000\020\001\000\000\000\000\000\000\200\000\000\060\122\036"}, + "\000\020\001\000\000\000\000\000\000\200\000\000\060\122\036\000"}, {307, "dictmaker", 0, 5, states_51, - "\000\020\001\000\000\000\000\000\000\200\000\000\060\122\036"}, + "\000\020\001\000\000\000\000\000\000\200\000\000\060\122\036\000"}, {308, "classdef", 0, 8, states_52, - "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\100"}, + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\200\000"}, + {309, "arglist", 0, 3, states_53, + "\000\020\001\000\000\000\000\000\000\200\000\000\060\122\036\000"}, + {310, "argument", 0, 4, states_54, + "\000\020\001\000\000\000\000\000\000\200\000\000\060\122\036\000"}, }; -static label labels[119] = { +static label labels[121] = { {0, "EMPTY"}, {256, 0}, {4, 0}, @@ -1323,12 +1389,14 @@ static label labels[119] = { {2, 0}, {3, 0}, {1, "lambda"}, + {309, 0}, {304, 0}, {1, "class"}, + {310, 0}, }; grammar gram = { - 53, + 55, dfas, - {119, labels}, + {121, labels}, 256 }; |