Browse Source
bpo-40334: Add type to the assignment rule in the grammar file (GH-19963)
pull/19965/head
Lysandros Nikolaou
6 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with
5 additions and
5 deletions
-
Grammar/python.gram
-
Parser/pegen/parse.c
|
|
|
@ -82,7 +82,7 @@ compound_stmt[stmt_ty]: |
|
|
|
| &'while' while_stmt |
|
|
|
|
|
|
|
# NOTE: annotated_rhs may start with 'yield'; yield_expr must start with 'yield' |
|
|
|
assignment: |
|
|
|
assignment[stmt_ty]: |
|
|
|
| a=NAME ':' b=expression c=['=' d=annotated_rhs { d }] { |
|
|
|
CHECK_VERSION( |
|
|
|
6, |
|
|
|
|
|
|
|
@ -378,7 +378,7 @@ static asdl_seq* statement_newline_rule(Parser *p); |
|
|
|
static asdl_seq* simple_stmt_rule(Parser *p); |
|
|
|
static stmt_ty small_stmt_rule(Parser *p); |
|
|
|
static stmt_ty compound_stmt_rule(Parser *p); |
|
|
|
static void *assignment_rule(Parser *p); |
|
|
|
static stmt_ty assignment_rule(Parser *p); |
|
|
|
static AugOperator* augassign_rule(Parser *p); |
|
|
|
static stmt_ty global_stmt_rule(Parser *p); |
|
|
|
static stmt_ty nonlocal_stmt_rule(Parser *p); |
|
|
|
@ -1256,7 +1256,7 @@ small_stmt_rule(Parser *p) |
|
|
|
int start_col_offset = p->tokens[mark]->col_offset; |
|
|
|
UNUSED(start_col_offset); // Only used by EXTRA macro |
|
|
|
{ // assignment |
|
|
|
void *assignment_var; |
|
|
|
stmt_ty assignment_var; |
|
|
|
if ( |
|
|
|
(assignment_var = assignment_rule(p)) |
|
|
|
) |
|
|
|
@ -1586,13 +1586,13 @@ compound_stmt_rule(Parser *p) |
|
|
|
// | ((star_targets '='))+ (yield_expr | star_expressions) TYPE_COMMENT? |
|
|
|
// | target augassign (yield_expr | star_expressions) |
|
|
|
// | invalid_assignment |
|
|
|
static void * |
|
|
|
static stmt_ty |
|
|
|
assignment_rule(Parser *p) |
|
|
|
{ |
|
|
|
if (p->error_indicator) { |
|
|
|
return NULL; |
|
|
|
} |
|
|
|
void * res = NULL; |
|
|
|
stmt_ty res = NULL; |
|
|
|
int mark = p->mark; |
|
|
|
if (p->mark == p->fill && _PyPegen_fill_token(p) < 0) { |
|
|
|
p->error_indicator = 1; |
|
|
|
|