summaryrefslogtreecommitdiff
path: root/Include/Python-ast.h
diff options
context:
space:
mode:
Diffstat (limited to 'Include/Python-ast.h')
-rw-r--r--Include/Python-ast.h46
1 files changed, 26 insertions, 20 deletions
diff --git a/Include/Python-ast.h b/Include/Python-ast.h
index b3bc06372d..3e2103097b 100644
--- a/Include/Python-ast.h
+++ b/Include/Python-ast.h
@@ -35,9 +35,10 @@ typedef struct _keyword *keyword_ty;
typedef struct _alias *alias_ty;
+enum _mod_kind {Module_kind=1, Interactive_kind=2, Expression_kind=3,
+ Suite_kind=4};
struct _mod {
- enum { Module_kind=1, Interactive_kind=2, Expression_kind=3,
- Suite_kind=4 } kind;
+ enum _mod_kind kind;
union {
struct {
asdl_seq *body;
@@ -58,14 +59,15 @@ struct _mod {
} v;
};
+enum _stmt_kind {FunctionDef_kind=1, ClassDef_kind=2, Return_kind=3,
+ Delete_kind=4, Assign_kind=5, AugAssign_kind=6, Print_kind=7,
+ For_kind=8, While_kind=9, If_kind=10, With_kind=11,
+ Raise_kind=12, TryExcept_kind=13, TryFinally_kind=14,
+ Assert_kind=15, Import_kind=16, ImportFrom_kind=17,
+ Exec_kind=18, Global_kind=19, Expr_kind=20, Pass_kind=21,
+ Break_kind=22, Continue_kind=23};
struct _stmt {
- enum { FunctionDef_kind=1, ClassDef_kind=2, Return_kind=3,
- Delete_kind=4, Assign_kind=5, AugAssign_kind=6, Print_kind=7,
- For_kind=8, While_kind=9, If_kind=10, With_kind=11,
- Raise_kind=12, TryExcept_kind=13, TryFinally_kind=14,
- Assert_kind=15, Import_kind=16, ImportFrom_kind=17,
- Exec_kind=18, Global_kind=19, Expr_kind=20, Pass_kind=21,
- Break_kind=22, Continue_kind=23 } kind;
+ enum _stmt_kind kind;
union {
struct {
identifier name;
@@ -181,12 +183,14 @@ struct _stmt {
int col_offset;
};
+enum _expr_kind {BoolOp_kind=1, BinOp_kind=2, UnaryOp_kind=3, Lambda_kind=4,
+ IfExp_kind=5, Dict_kind=6, ListComp_kind=7,
+ GeneratorExp_kind=8, Yield_kind=9, Compare_kind=10,
+ Call_kind=11, Repr_kind=12, Num_kind=13, Str_kind=14,
+ Attribute_kind=15, Subscript_kind=16, Name_kind=17,
+ List_kind=18, Tuple_kind=19};
struct _expr {
- enum { BoolOp_kind=1, BinOp_kind=2, UnaryOp_kind=3, Lambda_kind=4,
- IfExp_kind=5, Dict_kind=6, ListComp_kind=7, GeneratorExp_kind=8,
- Yield_kind=9, Compare_kind=10, Call_kind=11, Repr_kind=12,
- Num_kind=13, Str_kind=14, Attribute_kind=15, Subscript_kind=16,
- Name_kind=17, List_kind=18, Tuple_kind=19 } kind;
+ enum _expr_kind kind;
union {
struct {
boolop_ty op;
@@ -236,7 +240,7 @@ struct _expr {
struct {
expr_ty left;
- asdl_seq *ops;
+ asdl_int_seq *ops;
asdl_seq *comparators;
} Compare;
@@ -292,9 +296,9 @@ struct _expr {
int col_offset;
};
+enum _slice_kind {Ellipsis_kind=1, Slice_kind=2, ExtSlice_kind=3, Index_kind=4};
struct _slice {
- enum { Ellipsis_kind=1, Slice_kind=2, ExtSlice_kind=3, Index_kind=4 }
- kind;
+ enum _slice_kind kind;
union {
struct {
expr_ty lower;
@@ -323,6 +327,8 @@ struct _excepthandler {
expr_ty type;
expr_ty name;
asdl_seq *body;
+ int lineno;
+ int col_offset;
};
struct _arguments {
@@ -403,7 +409,7 @@ expr_ty ListComp(expr_ty elt, asdl_seq * generators, int lineno, int
expr_ty GeneratorExp(expr_ty elt, asdl_seq * generators, int lineno, int
col_offset, PyArena *arena);
expr_ty Yield(expr_ty value, int lineno, int col_offset, PyArena *arena);
-expr_ty Compare(expr_ty left, asdl_seq * ops, asdl_seq * comparators, int
+expr_ty Compare(expr_ty left, asdl_int_seq * ops, asdl_seq * comparators, int
lineno, int col_offset, PyArena *arena);
expr_ty Call(expr_ty func, asdl_seq * args, asdl_seq * keywords, expr_ty
starargs, expr_ty kwargs, int lineno, int col_offset, PyArena
@@ -427,8 +433,8 @@ slice_ty ExtSlice(asdl_seq * dims, PyArena *arena);
slice_ty Index(expr_ty value, PyArena *arena);
comprehension_ty comprehension(expr_ty target, expr_ty iter, asdl_seq * ifs,
PyArena *arena);
-excepthandler_ty excepthandler(expr_ty type, expr_ty name, asdl_seq * body,
- PyArena *arena);
+excepthandler_ty excepthandler(expr_ty type, expr_ty name, asdl_seq * body, int
+ lineno, int col_offset, PyArena *arena);
arguments_ty arguments(asdl_seq * args, identifier vararg, identifier kwarg,
asdl_seq * defaults, PyArena *arena);
keyword_ty keyword(identifier arg, expr_ty value, PyArena *arena);