Mercurial > cpython-lru_cache-weakref
diff Parser/parser.c @ 36742:658f8ff2a442 legacy-trunk
Make 'as' an actual keyword when with's future statement is used. Not
actually necessary for functionality, but good for transition.
| author | Thomas Wouters <thomas@python.org> |
|---|---|
| date | Tue, 28 Feb 2006 22:42:15 +0000 |
| parents | bbf16fd024df |
| children | 57322cb2ca11 |
line wrap: on
line diff
--- a/Parser/parser.c Tue Feb 28 22:41:29 2006 +0000 +++ b/Parser/parser.c Tue Feb 28 22:42:15 2006 +0000 @@ -144,18 +144,20 @@ register label *l = g->g_ll.ll_label; register int i; for (i = n; i > 0; i--, l++) { - if (l->lb_type == NAME && l->lb_str != NULL && - l->lb_str[0] == s[0] && - strcmp(l->lb_str, s) == 0) { + if (l->lb_type != NAME || l->lb_str == NULL || + l->lb_str[0] != s[0] || + strcmp(l->lb_str, s) != 0) + continue; #ifdef PY_PARSER_REQUIRES_FUTURE_KEYWORD - if (!(ps->p_flags & CO_FUTURE_WITH_STATEMENT) && - s[0] == 'w' && - strcmp(s, "with") == 0) - break; /* not a keyword */ + if (!(ps->p_flags & CO_FUTURE_WITH_STATEMENT)) { + if (s[0] == 'w' && strcmp(s, "with") == 0) + break; /* not a keyword yet */ + else if (s[0] == 'a' && strcmp(s, "as") == 0) + break; /* not a keyword yet */ + } #endif - D(printf("It's a keyword\n")); - return n - i; - } + D(printf("It's a keyword\n")); + return n - i; } }
