[Python-3000-checkins] r54434 - in python/branches/p3yk: Grammar/Grammar Include/token.h Lib/compiler/transformer.py Lib/test/test_grammar.py Lib/token.py Lib/tokenize.py Parser/tokenizer.c Python/ast.c Python/graminit.c

Guido van Rossum guido at python.org
Sun Mar 18 23:12:06 CET 2007


Cool. Do you think you can port this to the modified copy of
tokenize.py in 2to3?

(I wonder if this wouldn't be a candidate for 2.6 too.)

--Guido

On 3/18/07, georg.brandl <python-3000-checkins at python.org> wrote:
> Author: georg.brandl
> Date: Sun Mar 18 20:01:53 2007
> New Revision: 54434
>
> Modified:
>    python/branches/p3yk/Grammar/Grammar
>    python/branches/p3yk/Include/token.h
>    python/branches/p3yk/Lib/compiler/transformer.py
>    python/branches/p3yk/Lib/test/test_grammar.py
>    python/branches/p3yk/Lib/token.py
>    python/branches/p3yk/Lib/tokenize.py
>    python/branches/p3yk/Parser/tokenizer.c
>    python/branches/p3yk/Python/ast.c
>    python/branches/p3yk/Python/graminit.c
> Log:
> Make ELLIPSIS a separate token. This makes it a syntax error to write ". .    ." for Ellipsis.
>
>
> Modified: python/branches/p3yk/Grammar/Grammar
> ==============================================================================
> --- python/branches/p3yk/Grammar/Grammar        (original)
> +++ python/branches/p3yk/Grammar/Grammar        Sun Mar 18 20:01:53 2007
> @@ -107,7 +107,7 @@
>  atom: ('(' [yield_expr|testlist_gexp] ')' |
>         '[' [listmaker] ']' |
>         '{' [dictsetmaker] '}' |
> -       NAME | NUMBER | STRING+ | '.' '.' '.')
> +       NAME | NUMBER | STRING+ | '...')
>  listmaker: test ( list_for | (',' test)* [','] )
>  testlist_gexp: test ( gen_for | (',' test)* [','] )
>  lambdef: 'lambda' [varargslist] ':' test
>
> Modified: python/branches/p3yk/Include/token.h
> ==============================================================================
> --- python/branches/p3yk/Include/token.h        (original)
> +++ python/branches/p3yk/Include/token.h        Sun Mar 18 20:01:53 2007
> @@ -59,10 +59,11 @@
>  #define DOUBLESLASHEQUAL 49
>  #define AT              50
>  #define RARROW          51
> +#define ELLIPSIS        52
>  /* Don't forget to update the table _PyParser_TokenNames in tokenizer.c! */
> -#define OP             52
> -#define ERRORTOKEN     53
> -#define N_TOKENS       54
> +#define OP             53
> +#define ERRORTOKEN     54
> +#define N_TOKENS       55
>
>  /* Special definitions for cooperation with parser */
>
>
> Modified: python/branches/p3yk/Lib/compiler/transformer.py
> ==============================================================================
> --- python/branches/p3yk/Lib/compiler/transformer.py    (original)
> +++ python/branches/p3yk/Lib/compiler/transformer.py    Sun Mar 18 20:01:53 2007
> @@ -113,7 +113,7 @@
>                                 token.LBRACE: self.atom_lbrace,
>                                 token.NUMBER: self.atom_number,
>                                 token.STRING: self.atom_string,
> -                               token.DOT: self.atom_ellipsis,
> +                               token.ELLIPSIS: self.atom_ellipsis,
>                                 token.NAME: self.atom_name,
>                                 }
>          self.encoding = None
>
> Modified: python/branches/p3yk/Lib/test/test_grammar.py
> ==============================================================================
> --- python/branches/p3yk/Lib/test/test_grammar.py       (original)
> +++ python/branches/p3yk/Lib/test/test_grammar.py       Sun Mar 18 20:01:53 2007
> @@ -121,6 +121,7 @@
>      def testEllipsis(self):
>          x = ...
>          self.assert_(x is Ellipsis)
> +        self.assertRaises(SyntaxError, eval, ".. .")
>
>  class GrammarTests(unittest.TestCase):
>
>
> Modified: python/branches/p3yk/Lib/token.py
> ==============================================================================
> --- python/branches/p3yk/Lib/token.py   (original)
> +++ python/branches/p3yk/Lib/token.py   Sun Mar 18 20:01:53 2007
> @@ -61,9 +61,10 @@
>  DOUBLESLASHEQUAL = 49
>  AT = 50
>  RARROW = 51
> -OP = 52
> -ERRORTOKEN = 53
> -N_TOKENS = 54
> +ELLIPSIS = 52
> +OP = 53
> +ERRORTOKEN = 54
> +N_TOKENS = 55
>  NT_OFFSET = 256
>  #--end constants--
>
>
> Modified: python/branches/p3yk/Lib/tokenize.py
> ==============================================================================
> --- python/branches/p3yk/Lib/tokenize.py        (original)
> +++ python/branches/p3yk/Lib/tokenize.py        Sun Mar 18 20:01:53 2007
> @@ -83,7 +83,7 @@
>                   r"~")
>
>  Bracket = '[][(){}]'
> -Special = group(r'\r?\n', r'[:;.,@]')
> +Special = group(r'\r?\n', r'\.\.\.', r'[:;.,@]')
>  Funny = group(Operator, Bracket, Special)
>
>  PlainToken = group(Number, Funny, String, Name)
> @@ -334,8 +334,8 @@
>                  spos, epos, pos = (lnum, start), (lnum, end), end
>                  token, initial = line[start:end], line[start]
>
> -                if initial in numchars or \
> -                   (initial == '.' and token != '.'):      # ordinary number
> +                if (initial in numchars or                  # ordinary number
> +                    (initial == '.' and token != '.' and token != '...')):
>                      yield (NUMBER, token, spos, epos, line)
>                  elif initial in '\r\n':
>                      yield (NL if parenlev > 0 else NEWLINE,
>
> Modified: python/branches/p3yk/Parser/tokenizer.c
> ==============================================================================
> --- python/branches/p3yk/Parser/tokenizer.c     (original)
> +++ python/branches/p3yk/Parser/tokenizer.c     Sun Mar 18 20:01:53 2007
> @@ -93,6 +93,7 @@
>         "DOUBLESLASHEQUAL",
>         "AT",
>         "RARROW",
> +       "ELLIPSIS",
>         /* This table must match the #defines in token.h! */
>         "OP",
>         "<ERRORTOKEN>",
> @@ -1082,6 +1083,16 @@
>                         break;
>                 }
>                 break;
> +        case '.':
> +               switch (c2) {
> +               case '.':
> +                       switch (c3) {
> +                       case '.':
> +                               return ELLIPSIS;
> +                       }
> +                       break;
> +               }
> +               break;
>         }
>         return OP;
>  }
> @@ -1278,13 +1289,22 @@
>                 c = tok_nextc(tok);
>                 if (isdigit(c)) {
>                         goto fraction;
> -               }
> -               else {
> +               } else if (c == '.') {
> +                       c = tok_nextc(tok);
> +                       if (c == '.') {
> +                               *p_start = tok->start;
> +                               *p_end = tok->cur;
> +                               return ELLIPSIS;
> +                       } else {
> +                               tok_backup(tok, c);
> +                       }
> +                       tok_backup(tok, '.');
> +               } else {
>                         tok_backup(tok, c);
> -                       *p_start = tok->start;
> -                       *p_end = tok->cur;
> -                       return DOT;
>                 }
> +               *p_start = tok->start;
> +               *p_end = tok->cur;
> +               return DOT;
>         }
>
>         /* Number */
>
> Modified: python/branches/p3yk/Python/ast.c
> ==============================================================================
> --- python/branches/p3yk/Python/ast.c   (original)
> +++ python/branches/p3yk/Python/ast.c   Sun Mar 18 20:01:53 2007
> @@ -1410,7 +1410,7 @@
>          PyArena_AddPyObject(c->c_arena, pynum);
>          return Num(pynum, LINENO(n), n->n_col_offset, c->c_arena);
>      }
> -    case DOT: /* Ellipsis */
> +    case ELLIPSIS: /* Ellipsis */
>          return Ellipsis(LINENO(n), n->n_col_offset, c->c_arena);
>      case LPAR: /* some parenthesized expressions */
>          ch = CHILD(n, 1);
>
> Modified: python/branches/p3yk/Python/graminit.c
> ==============================================================================
> --- python/branches/p3yk/Python/graminit.c      (original)
> +++ python/branches/p3yk/Python/graminit.c      Sun Mar 18 20:01:53 2007
> @@ -1336,19 +1336,19 @@
>         {19, 4},
>         {154, 4},
>         {155, 5},
> -       {78, 6},
> +       {156, 4},
>  };
>  static arc arcs_65_1[3] = {
> -       {48, 7},
> -       {147, 7},
> +       {48, 6},
> +       {147, 6},
>         {15, 4},
>  };
>  static arc arcs_65_2[2] = {
> -       {149, 8},
> +       {149, 7},
>         {150, 4},
>  };
>  static arc arcs_65_3[2] = {
> -       {152, 9},
> +       {152, 8},
>         {153, 4},
>  };
>  static arc arcs_65_4[1] = {
> @@ -1359,21 +1359,15 @@
>         {0, 5},
>  };
>  static arc arcs_65_6[1] = {
> -       {78, 10},
> -};
> -static arc arcs_65_7[1] = {
>         {15, 4},
>  };
> -static arc arcs_65_8[1] = {
> +static arc arcs_65_7[1] = {
>         {150, 4},
>  };
> -static arc arcs_65_9[1] = {
> +static arc arcs_65_8[1] = {
>         {153, 4},
>  };
> -static arc arcs_65_10[1] = {
> -       {78, 4},
> -};
> -static state states_65[11] = {
> +static state states_65[9] = {
>         {7, arcs_65_0},
>         {3, arcs_65_1},
>         {2, arcs_65_2},
> @@ -1383,14 +1377,12 @@
>         {1, arcs_65_6},
>         {1, arcs_65_7},
>         {1, arcs_65_8},
> -       {1, arcs_65_9},
> -       {1, arcs_65_10},
>  };
>  static arc arcs_66_0[1] = {
>         {22, 1},
>  };
>  static arc arcs_66_1[3] = {
> -       {156, 2},
> +       {157, 2},
>         {28, 3},
>         {0, 1},
>  };
> @@ -1416,7 +1408,7 @@
>         {22, 1},
>  };
>  static arc arcs_67_1[3] = {
> -       {157, 2},
> +       {158, 2},
>         {28, 3},
>         {0, 1},
>  };
> @@ -1471,7 +1463,7 @@
>         {15, 5},
>  };
>  static arc arcs_69_2[1] = {
> -       {158, 6},
> +       {159, 6},
>  };
>  static arc arcs_69_3[1] = {
>         {19, 5},
> @@ -1495,14 +1487,14 @@
>         {1, arcs_69_6},
>  };
>  static arc arcs_70_0[1] = {
> -       {159, 1},
> +       {160, 1},
>  };
>  static arc arcs_70_1[2] = {
>         {28, 2},
>         {0, 1},
>  };
>  static arc arcs_70_2[2] = {
> -       {159, 1},
> +       {160, 1},
>         {0, 2},
>  };
>  static state states_70[3] = {
> @@ -1520,11 +1512,11 @@
>  };
>  static arc arcs_71_2[3] = {
>         {22, 3},
> -       {160, 4},
> +       {161, 4},
>         {0, 2},
>  };
>  static arc arcs_71_3[2] = {
> -       {160, 4},
> +       {161, 4},
>         {0, 3},
>  };
>  static arc arcs_71_4[1] = {
> @@ -1625,7 +1617,7 @@
>         {1, arcs_75_7},
>  };
>  static arc arcs_76_0[1] = {
> -       {161, 1},
> +       {162, 1},
>  };
>  static arc arcs_76_1[1] = {
>         {19, 2},
> @@ -1661,7 +1653,7 @@
>         {1, arcs_76_7},
>  };
>  static arc arcs_77_0[3] = {
> -       {162, 1},
> +       {163, 1},
>         {29, 2},
>         {31, 3},
>  };
> @@ -1676,7 +1668,7 @@
>         {22, 6},
>  };
>  static arc arcs_77_4[4] = {
> -       {162, 1},
> +       {163, 1},
>         {29, 2},
>         {31, 3},
>         {0, 4},
> @@ -1705,7 +1697,7 @@
>         {22, 1},
>  };
>  static arc arcs_78_1[3] = {
> -       {157, 2},
> +       {158, 2},
>         {27, 3},
>         {0, 1},
>  };
> @@ -1722,8 +1714,8 @@
>         {1, arcs_78_3},
>  };
>  static arc arcs_79_0[2] = {
> -       {156, 1},
> -       {164, 1},
> +       {157, 1},
> +       {165, 1},
>  };
>  static arc arcs_79_1[1] = {
>         {0, 1},
> @@ -1745,7 +1737,7 @@
>         {107, 4},
>  };
>  static arc arcs_80_4[2] = {
> -       {163, 5},
> +       {164, 5},
>         {0, 4},
>  };
>  static arc arcs_80_5[1] = {
> @@ -1766,7 +1758,7 @@
>         {108, 2},
>  };
>  static arc arcs_81_2[2] = {
> -       {163, 3},
> +       {164, 3},
>         {0, 2},
>  };
>  static arc arcs_81_3[1] = {
> @@ -1779,8 +1771,8 @@
>         {1, arcs_81_3},
>  };
>  static arc arcs_82_0[2] = {
> -       {157, 1},
> -       {166, 1},
> +       {158, 1},
> +       {167, 1},
>  };
>  static arc arcs_82_1[1] = {
>         {0, 1},
> @@ -1802,7 +1794,7 @@
>         {109, 4},
>  };
>  static arc arcs_83_4[2] = {
> -       {165, 5},
> +       {166, 5},
>         {0, 4},
>  };
>  static arc arcs_83_5[1] = {
> @@ -1823,7 +1815,7 @@
>         {108, 2},
>  };
>  static arc arcs_84_2[2] = {
> -       {165, 3},
> +       {166, 3},
>         {0, 2},
>  };
>  static arc arcs_84_3[1] = {
> @@ -1857,7 +1849,7 @@
>         {1, arcs_86_1},
>  };
>  static arc arcs_87_0[1] = {
> -       {169, 1},
> +       {170, 1},
>  };
>  static arc arcs_87_1[2] = {
>         {9, 2},
> @@ -1873,11 +1865,11 @@
>  };
>  static dfa dfas[88] = {
>         {256, "single_input", 0, 3, states_0,
> -        "\004\050\014\000\000\000\000\240\340\151\070\220\045\200\040\000\000\206\220\014\002\002"},
> +        "\004\050\014\000\000\000\000\240\340\051\070\220\045\200\040\000\000\206\220\034\004\004"},
>         {257, "file_input", 0, 2, states_1,
> -        "\204\050\014\000\000\000\000\240\340\151\070\220\045\200\040\000\000\206\220\014\002\002"},
> +        "\204\050\014\000\000\000\000\240\340\051\070\220\045\200\040\000\000\206\220\034\004\004"},
>         {258, "eval_input", 0, 3, states_2,
> -        "\000\040\010\000\000\000\000\000\000\100\000\000\000\200\040\000\000\206\220\014\000\000"},
> +        "\000\040\010\000\000\000\000\000\000\000\000\000\000\200\040\000\000\206\220\034\000\000"},
>         {259, "decorator", 0, 7, states_3,
>          "\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
>         {260, "decorators", 0, 2, states_4,
> @@ -1903,13 +1895,13 @@
>         {270, "vfplist", 0, 3, states_14,
>          "\000\040\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
>         {271, "stmt", 0, 2, states_15,
> -        "\000\050\014\000\000\000\000\240\340\151\070\220\045\200\040\000\000\206\220\014\002\002"},
> +        "\000\050\014\000\000\000\000\240\340\051\070\220\045\200\040\000\000\206\220\034\004\004"},
>         {272, "simple_stmt", 0, 4, states_16,
> -        "\000\040\010\000\000\000\000\240\340\151\070\000\000\200\040\000\000\206\220\014\000\002"},
> +        "\000\040\010\000\000\000\000\240\340\051\070\000\000\200\040\000\000\206\220\034\000\004"},
>         {273, "small_stmt", 0, 2, states_17,
> -        "\000\040\010\000\000\000\000\240\340\151\070\000\000\200\040\000\000\206\220\014\000\002"},
> +        "\000\040\010\000\000\000\000\240\340\051\070\000\000\200\040\000\000\206\220\034\000\004"},
>         {274, "expr_stmt", 0, 6, states_18,
> -        "\000\040\010\000\000\000\000\000\000\100\000\000\000\200\040\000\000\206\220\014\000\000"},
> +        "\000\040\010\000\000\000\000\000\000\000\000\000\000\200\040\000\000\206\220\034\000\000"},
>         {275, "augassign", 0, 2, states_19,
>          "\000\000\000\000\000\000\376\037\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
>         {276, "del_stmt", 0, 3, states_20,
> @@ -1917,7 +1909,7 @@
>         {277, "pass_stmt", 0, 2, states_21,
>          "\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
>         {278, "flow_stmt", 0, 2, states_22,
> -        "\000\000\000\000\000\000\000\000\340\001\000\000\000\000\000\000\000\000\000\000\000\002"},
> +        "\000\000\000\000\000\000\000\000\340\001\000\000\000\000\000\000\000\000\000\000\000\004"},
>         {279, "break_stmt", 0, 2, states_23,
>          "\000\000\000\000\000\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000"},
>         {280, "continue_stmt", 0, 2, states_24,
> @@ -1925,7 +1917,7 @@
>         {281, "return_stmt", 0, 3, states_25,
>          "\000\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000"},
>         {282, "yield_stmt", 0, 2, states_26,
> -        "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002"},
> +        "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004"},
>         {283, "raise_stmt", 0, 7, states_27,
>          "\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000"},
>         {284, "import_stmt", 0, 2, states_28,
> @@ -1951,7 +1943,7 @@
>         {294, "assert_stmt", 0, 5, states_38,
>          "\000\000\000\000\000\000\000\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000"},
>         {295, "compound_stmt", 0, 2, states_39,
> -        "\000\010\004\000\000\000\000\000\000\000\000\220\045\000\000\000\000\000\000\000\002\000"},
> +        "\000\010\004\000\000\000\000\000\000\000\000\220\045\000\000\000\000\000\000\000\004\000"},
>         {296, "if_stmt", 0, 8, states_40,
>          "\000\000\000\000\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000\000\000\000"},
>         {297, "while_stmt", 0, 8, states_41,
> @@ -1967,69 +1959,69 @@
>         {302, "except_clause", 0, 5, states_46,
>          "\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000"},
>         {303, "suite", 0, 5, states_47,
> -        "\004\040\010\000\000\000\000\240\340\151\070\000\000\200\040\000\000\206\220\014\000\002"},
> +        "\004\040\010\000\000\000\000\240\340\051\070\000\000\200\040\000\000\206\220\034\000\004"},
>         {304, "testlist_safe", 0, 5, states_48,
> -        "\000\040\010\000\000\000\000\000\000\100\000\000\000\200\040\000\000\206\220\014\000\000"},
> +        "\000\040\010\000\000\000\000\000\000\000\000\000\000\200\040\000\000\206\220\034\000\000"},
>         {305, "old_test", 0, 2, states_49,
> -        "\000\040\010\000\000\000\000\000\000\100\000\000\000\200\040\000\000\206\220\014\000\000"},
> +        "\000\040\010\000\000\000\000\000\000\000\000\000\000\200\040\000\000\206\220\034\000\000"},
>         {306, "old_lambdef", 0, 5, states_50,
>          "\000\000\000\000\000\000\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000"},
>         {307, "test", 0, 6, states_51,
> -        "\000\040\010\000\000\000\000\000\000\100\000\000\000\200\040\000\000\206\220\014\000\000"},
> +        "\000\040\010\000\000\000\000\000\000\000\000\000\000\200\040\000\000\206\220\034\000\000"},
>         {308, "or_test", 0, 2, states_52,
> -        "\000\040\010\000\000\000\000\000\000\100\000\000\000\000\040\000\000\206\220\014\000\000"},
> +        "\000\040\010\000\000\000\000\000\000\000\000\000\000\000\040\000\000\206\220\034\000\000"},
>         {309, "and_test", 0, 2, states_53,
> -        "\000\040\010\000\000\000\000\000\000\100\000\000\000\000\040\000\000\206\220\014\000\000"},
> +        "\000\040\010\000\000\000\000\000\000\000\000\000\000\000\040\000\000\206\220\034\000\000"},
>         {310, "not_test", 0, 3, states_54,
> -        "\000\040\010\000\000\000\000\000\000\100\000\000\000\000\040\000\000\206\220\014\000\000"},
> +        "\000\040\010\000\000\000\000\000\000\000\000\000\000\000\040\000\000\206\220\034\000\000"},
>         {311, "comparison", 0, 2, states_55,
> -        "\000\040\010\000\000\000\000\000\000\100\000\000\000\000\000\000\000\206\220\014\000\000"},
> +        "\000\040\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\206\220\034\000\000"},
>         {312, "comp_op", 0, 4, states_56,
>          "\000\000\000\000\000\000\000\000\000\000\000\000\002\000\040\177\000\000\000\000\000\000"},
>         {313, "expr", 0, 2, states_57,
> -        "\000\040\010\000\000\000\000\000\000\100\000\000\000\000\000\000\000\206\220\014\000\000"},
> +        "\000\040\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\206\220\034\000\000"},
>         {314, "xor_expr", 0, 2, states_58,
> -        "\000\040\010\000\000\000\000\000\000\100\000\000\000\000\000\000\000\206\220\014\000\000"},
> +        "\000\040\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\206\220\034\000\000"},
>         {315, "and_expr", 0, 2, states_59,
> -        "\000\040\010\000\000\000\000\000\000\100\000\000\000\000\000\000\000\206\220\014\000\000"},
> +        "\000\040\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\206\220\034\000\000"},
>         {316, "shift_expr", 0, 2, states_60,
> -        "\000\040\010\000\000\000\000\000\000\100\000\000\000\000\000\000\000\206\220\014\000\000"},
> +        "\000\040\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\206\220\034\000\000"},
>         {317, "arith_expr", 0, 2, states_61,
> -        "\000\040\010\000\000\000\000\000\000\100\000\000\000\000\000\000\000\206\220\014\000\000"},
> +        "\000\040\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\206\220\034\000\000"},
>         {318, "term", 0, 2, states_62,
> -        "\000\040\010\000\000\000\000\000\000\100\000\000\000\000\000\000\000\206\220\014\000\000"},
> +        "\000\040\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\206\220\034\000\000"},
>         {319, "factor", 0, 3, states_63,
> -        "\000\040\010\000\000\000\000\000\000\100\000\000\000\000\000\000\000\206\220\014\000\000"},
> +        "\000\040\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\206\220\034\000\000"},
>         {320, "power", 0, 4, states_64,
> -        "\000\040\010\000\000\000\000\000\000\100\000\000\000\000\000\000\000\000\220\014\000\000"},
> -       {321, "atom", 0, 11, states_65,
> -        "\000\040\010\000\000\000\000\000\000\100\000\000\000\000\000\000\000\000\220\014\000\000"},
> +        "\000\040\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\220\034\000\000"},
> +       {321, "atom", 0, 9, states_65,
> +        "\000\040\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\220\034\000\000"},
>         {322, "listmaker", 0, 5, states_66,
> -        "\000\040\010\000\000\000\000\000\000\100\000\000\000\200\040\000\000\206\220\014\000\000"},
> +        "\000\040\010\000\000\000\000\000\000\000\000\000\000\200\040\000\000\206\220\034\000\000"},
>         {323, "testlist_gexp", 0, 5, states_67,
> -        "\000\040\010\000\000\000\000\000\000\100\000\000\000\200\040\000\000\206\220\014\000\000"},
> +        "\000\040\010\000\000\000\000\000\000\000\000\000\000\200\040\000\000\206\220\034\000\000"},
>         {324, "lambdef", 0, 5, states_68,
>          "\000\000\000\000\000\000\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000"},
>         {325, "trailer", 0, 7, states_69,
>          "\000\040\000\000\000\000\000\000\000\100\000\000\000\000\000\000\000\000\020\000\000\000"},
>         {326, "subscriptlist", 0, 3, states_70,
> -        "\000\040\210\000\000\000\000\000\000\100\000\000\000\200\040\000\000\206\220\014\000\000"},
> +        "\000\040\210\000\000\000\000\000\000\000\000\000\000\200\040\000\000\206\220\034\000\000"},
>         {327, "subscript", 0, 5, states_71,
> -        "\000\040\210\000\000\000\000\000\000\100\000\000\000\200\040\000\000\206\220\014\000\000"},
> +        "\000\040\210\000\000\000\000\000\000\000\000\000\000\200\040\000\000\206\220\034\000\000"},
>         {328, "sliceop", 0, 3, states_72,
>          "\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
>         {329, "exprlist", 0, 3, states_73,
> -        "\000\040\010\000\000\000\000\000\000\100\000\000\000\000\000\000\000\206\220\014\000\000"},
> +        "\000\040\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\206\220\034\000\000"},
>         {330, "testlist", 0, 3, states_74,
> -        "\000\040\010\000\000\000\000\000\000\100\000\000\000\200\040\000\000\206\220\014\000\000"},
> +        "\000\040\010\000\000\000\000\000\000\000\000\000\000\200\040\000\000\206\220\034\000\000"},
>         {331, "dictsetmaker", 0, 8, states_75,
> -        "\000\040\010\000\000\000\000\000\000\100\000\000\000\200\040\000\000\206\220\014\000\000"},
> +        "\000\040\010\000\000\000\000\000\000\000\000\000\000\200\040\000\000\206\220\034\000\000"},
>         {332, "classdef", 0, 8, states_76,
> -        "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000"},
> +        "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000"},
>         {333, "arglist", 0, 8, states_77,
> -        "\000\040\010\240\000\000\000\000\000\100\000\000\000\200\040\000\000\206\220\014\000\000"},
> +        "\000\040\010\240\000\000\000\000\000\000\000\000\000\200\040\000\000\206\220\034\000\000"},
>         {334, "argument", 0, 4, states_78,
> -        "\000\040\010\000\000\000\000\000\000\100\000\000\000\200\040\000\000\206\220\014\000\000"},
> +        "\000\040\010\000\000\000\000\000\000\000\000\000\000\200\040\000\000\206\220\034\000\000"},
>         {335, "list_iter", 0, 2, states_79,
>          "\000\000\000\000\000\000\000\000\000\000\000\020\001\000\000\000\000\000\000\000\000\000"},
>         {336, "list_for", 0, 6, states_80,
> @@ -2043,13 +2035,13 @@
>         {340, "gen_if", 0, 4, states_84,
>          "\000\000\000\000\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000\000\000\000"},
>         {341, "testlist1", 0, 2, states_85,
> -        "\000\040\010\000\000\000\000\000\000\100\000\000\000\200\040\000\000\206\220\014\000\000"},
> +        "\000\040\010\000\000\000\000\000\000\000\000\000\000\200\040\000\000\206\220\034\000\000"},
>         {342, "encoding_decl", 0, 2, states_86,
>          "\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
>         {343, "yield_expr", 0, 3, states_87,
> -        "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002"},
> +        "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004"},
>  };
> -static label labels[170] = {
> +static label labels[171] = {
>         {0, "EMPTY"},
>         {256, 0},
>         {4, 0},
> @@ -2206,6 +2198,7 @@
>         {27, 0},
>         {2, 0},
>         {3, 0},
> +       {52, 0},
>         {336, 0},
>         {339, 0},
>         {326, 0},
> @@ -2224,6 +2217,6 @@
>  grammar _PyParser_Grammar = {
>         88,
>         dfas,
> -       {170, labels},
> +       {171, labels},
>         256
>  };
> _______________________________________________
> Python-3000-checkins mailing list
> Python-3000-checkins at python.org
> http://mail.python.org/mailman/listinfo/python-3000-checkins
>


-- 
--Guido van Rossum (home page: http://www.python.org/~guido/)


More information about the Python-3000-checkins mailing list