summaryrefslogtreecommitdiffstats
path: root/Include
diff options
context:
space:
mode:
Diffstat (limited to 'Include')
-rw-r--r--Include/Python-ast.h11
-rw-r--r--Include/graminit.h53
-rw-r--r--Include/opcode.h2
3 files changed, 39 insertions, 27 deletions
diff --git a/Include/Python-ast.h b/Include/Python-ast.h
index d88076b..6eec6c3 100644
--- a/Include/Python-ast.h
+++ b/Include/Python-ast.h
@@ -186,7 +186,8 @@ enum _expr_kind {BoolOp_kind=1, BinOp_kind=2, UnaryOp_kind=3, Lambda_kind=4,
SetComp_kind=9, GeneratorExp_kind=10, Yield_kind=11,
Compare_kind=12, Call_kind=13, Num_kind=14, Str_kind=15,
Bytes_kind=16, Ellipsis_kind=17, Attribute_kind=18,
- Subscript_kind=19, Name_kind=20, List_kind=21, Tuple_kind=22};
+ Subscript_kind=19, Starred_kind=20, Name_kind=21,
+ List_kind=22, Tuple_kind=23};
struct _expr {
enum _expr_kind kind;
union {
@@ -284,6 +285,11 @@ struct _expr {
} Subscript;
struct {
+ expr_ty value;
+ expr_context_ty ctx;
+ } Starred;
+
+ struct {
identifier id;
expr_context_ty ctx;
} Name;
@@ -499,6 +505,9 @@ expr_ty _Py_Attribute(expr_ty value, identifier attr, expr_context_ty ctx, int
#define Subscript(a0, a1, a2, a3, a4, a5) _Py_Subscript(a0, a1, a2, a3, a4, a5)
expr_ty _Py_Subscript(expr_ty value, slice_ty slice, expr_context_ty ctx, int
lineno, int col_offset, PyArena *arena);
+#define Starred(a0, a1, a2, a3, a4) _Py_Starred(a0, a1, a2, a3, a4)
+expr_ty _Py_Starred(expr_ty value, expr_context_ty ctx, int lineno, int
+ col_offset, PyArena *arena);
#define Name(a0, a1, a2, a3, a4) _Py_Name(a0, a1, a2, a3, a4)
expr_ty _Py_Name(identifier id, expr_context_ty ctx, int lineno, int
col_offset, PyArena *arena);
diff --git a/Include/graminit.h b/Include/graminit.h
index 0596fb1..6e1d409 100644
--- a/Include/graminit.h
+++ b/Include/graminit.h
@@ -55,29 +55,30 @@
#define not_test 310
#define comparison 311
#define comp_op 312
-#define expr 313
-#define xor_expr 314
-#define and_expr 315
-#define shift_expr 316
-#define arith_expr 317
-#define term 318
-#define factor 319
-#define power 320
-#define atom 321
-#define testlist_comp 322
-#define trailer 323
-#define subscriptlist 324
-#define subscript 325
-#define sliceop 326
-#define exprlist 327
-#define testlist 328
-#define dictorsetmaker 329
-#define classdef 330
-#define arglist 331
-#define argument 332
-#define comp_iter 333
-#define comp_for 334
-#define comp_if 335
-#define testlist1 336
-#define encoding_decl 337
-#define yield_expr 338
+#define star_expr 313
+#define expr 314
+#define xor_expr 315
+#define and_expr 316
+#define shift_expr 317
+#define arith_expr 318
+#define term 319
+#define factor 320
+#define power 321
+#define atom 322
+#define testlist_comp 323
+#define trailer 324
+#define subscriptlist 325
+#define subscript 326
+#define sliceop 327
+#define exprlist 328
+#define testlist 329
+#define dictorsetmaker 330
+#define classdef 331
+#define arglist 332
+#define argument 333
+#define comp_iter 334
+#define comp_for 335
+#define comp_if 336
+#define testlist1 337
+#define encoding_decl 338
+#define yield_expr 339
diff --git a/Include/opcode.h b/Include/opcode.h
index 5fbb037..6717977 100644
--- a/Include/opcode.h
+++ b/Include/opcode.h
@@ -85,6 +85,8 @@ extern "C" {
#define DELETE_NAME 91 /* "" */
#define UNPACK_SEQUENCE 92 /* Number of sequence items */
#define FOR_ITER 93
+#define UNPACK_EX 94 /* Num items before variable part +
+ (Num items after variable part << 8) */
#define STORE_ATTR 95 /* Index in name list */
#define DELETE_ATTR 96 /* "" */