annotate Include/Python-ast.h @ 49955:878d40468c4e legacy-trunk

Issue #4384: Added logging integration with warnings module using captureWarnings(). This change includes a NullHandler which does nothing; it will be of use to library developers who want to avoid the "No handlers could be found for logger XXX" message which can appear if the library user doesn't configure logging.
author Vinay Sajip <vinay_sajip@yahoo.co.uk>
date Wed, 03 Dec 2008 23:22:58 +0000
parents 2ff88ae9850c
children c2fdf25329ff
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
40824
180d4e899683 Modify Parser/asdl_c.py so that the __version__ number for Python/Python-ast.c
Brett Cannon <bcannon@gmail.com>
parents: 40668
diff changeset
1 /* File automatically generated by Parser/asdl_c.py. */
35742
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
2
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
3 #include "asdl.h"
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
4
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
5 typedef struct _mod *mod_ty;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
6
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
7 typedef struct _stmt *stmt_ty;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
8
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
9 typedef struct _expr *expr_ty;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
10
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
11 typedef enum _expr_context { Load=1, Store=2, Del=3, AugLoad=4, AugStore=5,
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
12 Param=6 } expr_context_ty;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
13
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
14 typedef struct _slice *slice_ty;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
15
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
16 typedef enum _boolop { And=1, Or=2 } boolop_ty;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
17
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
18 typedef enum _operator { Add=1, Sub=2, Mult=3, Div=4, Mod=5, Pow=6, LShift=7,
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
19 RShift=8, BitOr=9, BitXor=10, BitAnd=11, FloorDiv=12 }
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
20 operator_ty;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
21
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
22 typedef enum _unaryop { Invert=1, Not=2, UAdd=3, USub=4 } unaryop_ty;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
23
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
24 typedef enum _cmpop { Eq=1, NotEq=2, Lt=3, LtE=4, Gt=5, GtE=6, Is=7, IsNot=8,
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
25 In=9, NotIn=10 } cmpop_ty;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
26
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
27 typedef struct _comprehension *comprehension_ty;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
28
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
29 typedef struct _excepthandler *excepthandler_ty;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
30
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
31 typedef struct _arguments *arguments_ty;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
32
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
33 typedef struct _keyword *keyword_ty;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
34
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
35 typedef struct _alias *alias_ty;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
36
35866
9f73dc0953d2 Whoops, checkin consistent versions of *all* files to stop polluting
Neal Norwitz <nnorwitz@gmail.com>
parents: 35862
diff changeset
37
37599
44fb03a6a524 Make _kind types global for C++ compilation.
Martin v. Löwis <martin@v.loewis.de>
parents: 37453
diff changeset
38 enum _mod_kind {Module_kind=1, Interactive_kind=2, Expression_kind=3,
44fb03a6a524 Make _kind types global for C++ compilation.
Martin v. Löwis <martin@v.loewis.de>
parents: 37453
diff changeset
39 Suite_kind=4};
35742
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
40 struct _mod {
37599
44fb03a6a524 Make _kind types global for C++ compilation.
Martin v. Löwis <martin@v.loewis.de>
parents: 37453
diff changeset
41 enum _mod_kind kind;
35742
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
42 union {
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
43 struct {
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
44 asdl_seq *body;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
45 } Module;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
46
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
47 struct {
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
48 asdl_seq *body;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
49 } Interactive;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
50
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
51 struct {
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
52 expr_ty body;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
53 } Expression;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
54
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
55 struct {
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
56 asdl_seq *body;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
57 } Suite;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
58
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
59 } v;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
60 };
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
61
37599
44fb03a6a524 Make _kind types global for C++ compilation.
Martin v. Löwis <martin@v.loewis.de>
parents: 37453
diff changeset
62 enum _stmt_kind {FunctionDef_kind=1, ClassDef_kind=2, Return_kind=3,
44fb03a6a524 Make _kind types global for C++ compilation.
Martin v. Löwis <martin@v.loewis.de>
parents: 37453
diff changeset
63 Delete_kind=4, Assign_kind=5, AugAssign_kind=6, Print_kind=7,
44fb03a6a524 Make _kind types global for C++ compilation.
Martin v. Löwis <martin@v.loewis.de>
parents: 37453
diff changeset
64 For_kind=8, While_kind=9, If_kind=10, With_kind=11,
44fb03a6a524 Make _kind types global for C++ compilation.
Martin v. Löwis <martin@v.loewis.de>
parents: 37453
diff changeset
65 Raise_kind=12, TryExcept_kind=13, TryFinally_kind=14,
44fb03a6a524 Make _kind types global for C++ compilation.
Martin v. Löwis <martin@v.loewis.de>
parents: 37453
diff changeset
66 Assert_kind=15, Import_kind=16, ImportFrom_kind=17,
44fb03a6a524 Make _kind types global for C++ compilation.
Martin v. Löwis <martin@v.loewis.de>
parents: 37453
diff changeset
67 Exec_kind=18, Global_kind=19, Expr_kind=20, Pass_kind=21,
44fb03a6a524 Make _kind types global for C++ compilation.
Martin v. Löwis <martin@v.loewis.de>
parents: 37453
diff changeset
68 Break_kind=22, Continue_kind=23};
35742
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
69 struct _stmt {
37599
44fb03a6a524 Make _kind types global for C++ compilation.
Martin v. Löwis <martin@v.loewis.de>
parents: 37453
diff changeset
70 enum _stmt_kind kind;
35742
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
71 union {
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
72 struct {
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
73 identifier name;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
74 arguments_ty args;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
75 asdl_seq *body;
45447
393822f2ef90 Patch #1759: Backport of PEP 3129 class decorators
Christian Heimes <christian@cheimes.de>
parents: 40824
diff changeset
76 asdl_seq *decorator_list;
35742
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
77 } FunctionDef;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
78
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
79 struct {
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
80 identifier name;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
81 asdl_seq *bases;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
82 asdl_seq *body;
45447
393822f2ef90 Patch #1759: Backport of PEP 3129 class decorators
Christian Heimes <christian@cheimes.de>
parents: 40824
diff changeset
83 asdl_seq *decorator_list;
35742
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
84 } ClassDef;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
85
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
86 struct {
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
87 expr_ty value;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
88 } Return;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
89
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
90 struct {
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
91 asdl_seq *targets;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
92 } Delete;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
93
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
94 struct {
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
95 asdl_seq *targets;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
96 expr_ty value;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
97 } Assign;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
98
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
99 struct {
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
100 expr_ty target;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
101 operator_ty op;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
102 expr_ty value;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
103 } AugAssign;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
104
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
105 struct {
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
106 expr_ty dest;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
107 asdl_seq *values;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
108 bool nl;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
109 } Print;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
110
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
111 struct {
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
112 expr_ty target;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
113 expr_ty iter;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
114 asdl_seq *body;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
115 asdl_seq *orelse;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
116 } For;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
117
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
118 struct {
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
119 expr_ty test;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
120 asdl_seq *body;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
121 asdl_seq *orelse;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
122 } While;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
123
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
124 struct {
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
125 expr_ty test;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
126 asdl_seq *body;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
127 asdl_seq *orelse;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
128 } If;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
129
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
130 struct {
36695
b6d2f6fd3e11 PEP 343 -- the with-statement.
Guido van Rossum <guido@python.org>
parents: 36666
diff changeset
131 expr_ty context_expr;
b6d2f6fd3e11 PEP 343 -- the with-statement.
Guido van Rossum <guido@python.org>
parents: 36666
diff changeset
132 expr_ty optional_vars;
b6d2f6fd3e11 PEP 343 -- the with-statement.
Guido van Rossum <guido@python.org>
parents: 36666
diff changeset
133 asdl_seq *body;
b6d2f6fd3e11 PEP 343 -- the with-statement.
Guido van Rossum <guido@python.org>
parents: 36666
diff changeset
134 } With;
b6d2f6fd3e11 PEP 343 -- the with-statement.
Guido van Rossum <guido@python.org>
parents: 36666
diff changeset
135
b6d2f6fd3e11 PEP 343 -- the with-statement.
Guido van Rossum <guido@python.org>
parents: 36666
diff changeset
136 struct {
35742
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
137 expr_ty type;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
138 expr_ty inst;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
139 expr_ty tback;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
140 } Raise;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
141
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
142 struct {
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
143 asdl_seq *body;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
144 asdl_seq *handlers;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
145 asdl_seq *orelse;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
146 } TryExcept;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
147
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
148 struct {
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
149 asdl_seq *body;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
150 asdl_seq *finalbody;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
151 } TryFinally;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
152
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
153 struct {
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
154 expr_ty test;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
155 expr_ty msg;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
156 } Assert;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
157
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
158 struct {
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
159 asdl_seq *names;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
160 } Import;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
161
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
162 struct {
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
163 identifier module;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
164 asdl_seq *names;
36712
5c36c222e7ca SF patch #1438387, PEP 328: relative and absolute imports.
Thomas Wouters <thomas@python.org>
parents: 36695
diff changeset
165 int level;
35742
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
166 } ImportFrom;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
167
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
168 struct {
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
169 expr_ty body;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
170 expr_ty globals;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
171 expr_ty locals;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
172 } Exec;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
173
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
174 struct {
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
175 asdl_seq *names;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
176 } Global;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
177
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
178 struct {
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
179 expr_ty value;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
180 } Expr;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
181
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
182 } v;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
183 int lineno;
36786
57322cb2ca11 Patch #1440601: Add col_offset attribute to AST nodes.
Martin v. Löwis <martin@v.loewis.de>
parents: 36712
diff changeset
184 int col_offset;
35742
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
185 };
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
186
37599
44fb03a6a524 Make _kind types global for C++ compilation.
Martin v. Löwis <martin@v.loewis.de>
parents: 37453
diff changeset
187 enum _expr_kind {BoolOp_kind=1, BinOp_kind=2, UnaryOp_kind=3, Lambda_kind=4,
44fb03a6a524 Make _kind types global for C++ compilation.
Martin v. Löwis <martin@v.loewis.de>
parents: 37453
diff changeset
188 IfExp_kind=5, Dict_kind=6, ListComp_kind=7,
44fb03a6a524 Make _kind types global for C++ compilation.
Martin v. Löwis <martin@v.loewis.de>
parents: 37453
diff changeset
189 GeneratorExp_kind=8, Yield_kind=9, Compare_kind=10,
44fb03a6a524 Make _kind types global for C++ compilation.
Martin v. Löwis <martin@v.loewis.de>
parents: 37453
diff changeset
190 Call_kind=11, Repr_kind=12, Num_kind=13, Str_kind=14,
44fb03a6a524 Make _kind types global for C++ compilation.
Martin v. Löwis <martin@v.loewis.de>
parents: 37453
diff changeset
191 Attribute_kind=15, Subscript_kind=16, Name_kind=17,
44fb03a6a524 Make _kind types global for C++ compilation.
Martin v. Löwis <martin@v.loewis.de>
parents: 37453
diff changeset
192 List_kind=18, Tuple_kind=19};
35742
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
193 struct _expr {
37599
44fb03a6a524 Make _kind types global for C++ compilation.
Martin v. Löwis <martin@v.loewis.de>
parents: 37453
diff changeset
194 enum _expr_kind kind;
35742
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
195 union {
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
196 struct {
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
197 boolop_ty op;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
198 asdl_seq *values;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
199 } BoolOp;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
200
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
201 struct {
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
202 expr_ty left;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
203 operator_ty op;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
204 expr_ty right;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
205 } BinOp;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
206
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
207 struct {
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
208 unaryop_ty op;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
209 expr_ty operand;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
210 } UnaryOp;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
211
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
212 struct {
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
213 arguments_ty args;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
214 expr_ty body;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
215 } Lambda;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
216
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
217 struct {
36666
6165927431d6 PEP 308 implementation, including minor refdocs and some testcases. It
Thomas Wouters <thomas@python.org>
parents: 36660
diff changeset
218 expr_ty test;
6165927431d6 PEP 308 implementation, including minor refdocs and some testcases. It
Thomas Wouters <thomas@python.org>
parents: 36660
diff changeset
219 expr_ty body;
6165927431d6 PEP 308 implementation, including minor refdocs and some testcases. It
Thomas Wouters <thomas@python.org>
parents: 36660
diff changeset
220 expr_ty orelse;
6165927431d6 PEP 308 implementation, including minor refdocs and some testcases. It
Thomas Wouters <thomas@python.org>
parents: 36660
diff changeset
221 } IfExp;
6165927431d6 PEP 308 implementation, including minor refdocs and some testcases. It
Thomas Wouters <thomas@python.org>
parents: 36660
diff changeset
222
6165927431d6 PEP 308 implementation, including minor refdocs and some testcases. It
Thomas Wouters <thomas@python.org>
parents: 36660
diff changeset
223 struct {
35742
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
224 asdl_seq *keys;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
225 asdl_seq *values;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
226 } Dict;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
227
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
228 struct {
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
229 expr_ty elt;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
230 asdl_seq *generators;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
231 } ListComp;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
232
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
233 struct {
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
234 expr_ty elt;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
235 asdl_seq *generators;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
236 } GeneratorExp;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
237
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
238 struct {
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
239 expr_ty value;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
240 } Yield;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
241
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
242 struct {
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
243 expr_ty left;
37685
5e72b0c74100 Introduce asdl_int_seq, to hold cmpop_ty.
Martin v. Löwis <martin@v.loewis.de>
parents: 37599
diff changeset
244 asdl_int_seq *ops;
35742
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
245 asdl_seq *comparators;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
246 } Compare;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
247
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
248 struct {
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
249 expr_ty func;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
250 asdl_seq *args;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
251 asdl_seq *keywords;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
252 expr_ty starargs;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
253 expr_ty kwargs;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
254 } Call;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
255
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
256 struct {
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
257 expr_ty value;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
258 } Repr;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
259
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
260 struct {
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
261 object n;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
262 } Num;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
263
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
264 struct {
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
265 string s;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
266 } Str;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
267
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
268 struct {
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
269 expr_ty value;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
270 identifier attr;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
271 expr_context_ty ctx;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
272 } Attribute;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
273
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
274 struct {
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
275 expr_ty value;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
276 slice_ty slice;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
277 expr_context_ty ctx;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
278 } Subscript;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
279
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
280 struct {
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
281 identifier id;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
282 expr_context_ty ctx;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
283 } Name;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
284
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
285 struct {
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
286 asdl_seq *elts;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
287 expr_context_ty ctx;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
288 } List;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
289
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
290 struct {
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
291 asdl_seq *elts;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
292 expr_context_ty ctx;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
293 } Tuple;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
294
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
295 } v;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
296 int lineno;
36786
57322cb2ca11 Patch #1440601: Add col_offset attribute to AST nodes.
Martin v. Löwis <martin@v.loewis.de>
parents: 36712
diff changeset
297 int col_offset;
35742
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
298 };
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
299
37599
44fb03a6a524 Make _kind types global for C++ compilation.
Martin v. Löwis <martin@v.loewis.de>
parents: 37453
diff changeset
300 enum _slice_kind {Ellipsis_kind=1, Slice_kind=2, ExtSlice_kind=3, Index_kind=4};
35742
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
301 struct _slice {
37599
44fb03a6a524 Make _kind types global for C++ compilation.
Martin v. Löwis <martin@v.loewis.de>
parents: 37453
diff changeset
302 enum _slice_kind kind;
35742
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
303 union {
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
304 struct {
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
305 expr_ty lower;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
306 expr_ty upper;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
307 expr_ty step;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
308 } Slice;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
309
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
310 struct {
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
311 asdl_seq *dims;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
312 } ExtSlice;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
313
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
314 struct {
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
315 expr_ty value;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
316 } Index;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
317
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
318 } v;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
319 };
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
320
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
321 struct _comprehension {
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
322 expr_ty target;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
323 expr_ty iter;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
324 asdl_seq *ifs;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
325 };
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
326
46200
2ff88ae9850c Patch #2511: Give the "excepthandler" AST item proper attributes by making it a Sum.
Georg Brandl <georg@python.org>
parents: 46193
diff changeset
327 enum _excepthandler_kind {ExceptHandler_kind=1};
35742
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
328 struct _excepthandler {
46200
2ff88ae9850c Patch #2511: Give the "excepthandler" AST item proper attributes by making it a Sum.
Georg Brandl <georg@python.org>
parents: 46193
diff changeset
329 enum _excepthandler_kind kind;
2ff88ae9850c Patch #2511: Give the "excepthandler" AST item proper attributes by making it a Sum.
Georg Brandl <georg@python.org>
parents: 46193
diff changeset
330 union {
2ff88ae9850c Patch #2511: Give the "excepthandler" AST item proper attributes by making it a Sum.
Georg Brandl <georg@python.org>
parents: 46193
diff changeset
331 struct {
2ff88ae9850c Patch #2511: Give the "excepthandler" AST item proper attributes by making it a Sum.
Georg Brandl <georg@python.org>
parents: 46193
diff changeset
332 expr_ty type;
2ff88ae9850c Patch #2511: Give the "excepthandler" AST item proper attributes by making it a Sum.
Georg Brandl <georg@python.org>
parents: 46193
diff changeset
333 expr_ty name;
2ff88ae9850c Patch #2511: Give the "excepthandler" AST item proper attributes by making it a Sum.
Georg Brandl <georg@python.org>
parents: 46193
diff changeset
334 asdl_seq *body;
2ff88ae9850c Patch #2511: Give the "excepthandler" AST item proper attributes by making it a Sum.
Georg Brandl <georg@python.org>
parents: 46193
diff changeset
335 } ExceptHandler;
2ff88ae9850c Patch #2511: Give the "excepthandler" AST item proper attributes by making it a Sum.
Georg Brandl <georg@python.org>
parents: 46193
diff changeset
336
2ff88ae9850c Patch #2511: Give the "excepthandler" AST item proper attributes by making it a Sum.
Georg Brandl <georg@python.org>
parents: 46193
diff changeset
337 } v;
37453
16a64e394602 Add lineno, col_offset to excephandler to enable future fix for
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 36786
diff changeset
338 int lineno;
16a64e394602 Add lineno, col_offset to excephandler to enable future fix for
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 36786
diff changeset
339 int col_offset;
35742
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
340 };
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
341
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
342 struct _arguments {
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
343 asdl_seq *args;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
344 identifier vararg;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
345 identifier kwarg;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
346 asdl_seq *defaults;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
347 };
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
348
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
349 struct _keyword {
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
350 identifier arg;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
351 expr_ty value;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
352 };
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
353
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
354 struct _alias {
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
355 identifier name;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
356 identifier asname;
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
357 };
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
358
35866
9f73dc0953d2 Whoops, checkin consistent versions of *all* files to stop polluting
Neal Norwitz <nnorwitz@gmail.com>
parents: 35862
diff changeset
359
40668
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
360 #define Module(a0, a1) _Py_Module(a0, a1)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
361 mod_ty _Py_Module(asdl_seq * body, PyArena *arena);
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
362 #define Interactive(a0, a1) _Py_Interactive(a0, a1)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
363 mod_ty _Py_Interactive(asdl_seq * body, PyArena *arena);
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
364 #define Expression(a0, a1) _Py_Expression(a0, a1)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
365 mod_ty _Py_Expression(expr_ty body, PyArena *arena);
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
366 #define Suite(a0, a1) _Py_Suite(a0, a1)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
367 mod_ty _Py_Suite(asdl_seq * body, PyArena *arena);
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
368 #define FunctionDef(a0, a1, a2, a3, a4, a5, a6) _Py_FunctionDef(a0, a1, a2, a3, a4, a5, a6)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
369 stmt_ty _Py_FunctionDef(identifier name, arguments_ty args, asdl_seq * body,
45447
393822f2ef90 Patch #1759: Backport of PEP 3129 class decorators
Christian Heimes <christian@cheimes.de>
parents: 40824
diff changeset
370 asdl_seq * decorator_list, int lineno, int col_offset,
40668
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
371 PyArena *arena);
45447
393822f2ef90 Patch #1759: Backport of PEP 3129 class decorators
Christian Heimes <christian@cheimes.de>
parents: 40824
diff changeset
372 #define ClassDef(a0, a1, a2, a3, a4, a5, a6) _Py_ClassDef(a0, a1, a2, a3, a4, a5, a6)
393822f2ef90 Patch #1759: Backport of PEP 3129 class decorators
Christian Heimes <christian@cheimes.de>
parents: 40824
diff changeset
373 stmt_ty _Py_ClassDef(identifier name, asdl_seq * bases, asdl_seq * body,
393822f2ef90 Patch #1759: Backport of PEP 3129 class decorators
Christian Heimes <christian@cheimes.de>
parents: 40824
diff changeset
374 asdl_seq * decorator_list, int lineno, int col_offset,
393822f2ef90 Patch #1759: Backport of PEP 3129 class decorators
Christian Heimes <christian@cheimes.de>
parents: 40824
diff changeset
375 PyArena *arena);
40668
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
376 #define Return(a0, a1, a2, a3) _Py_Return(a0, a1, a2, a3)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
377 stmt_ty _Py_Return(expr_ty value, int lineno, int col_offset, PyArena *arena);
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
378 #define Delete(a0, a1, a2, a3) _Py_Delete(a0, a1, a2, a3)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
379 stmt_ty _Py_Delete(asdl_seq * targets, int lineno, int col_offset, PyArena
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
380 *arena);
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
381 #define Assign(a0, a1, a2, a3, a4) _Py_Assign(a0, a1, a2, a3, a4)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
382 stmt_ty _Py_Assign(asdl_seq * targets, expr_ty value, int lineno, int
36786
57322cb2ca11 Patch #1440601: Add col_offset attribute to AST nodes.
Martin v. Löwis <martin@v.loewis.de>
parents: 36712
diff changeset
383 col_offset, PyArena *arena);
40668
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
384 #define AugAssign(a0, a1, a2, a3, a4, a5) _Py_AugAssign(a0, a1, a2, a3, a4, a5)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
385 stmt_ty _Py_AugAssign(expr_ty target, operator_ty op, expr_ty value, int
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
386 lineno, int col_offset, PyArena *arena);
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
387 #define Print(a0, a1, a2, a3, a4, a5) _Py_Print(a0, a1, a2, a3, a4, a5)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
388 stmt_ty _Py_Print(expr_ty dest, asdl_seq * values, bool nl, int lineno, int
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
389 col_offset, PyArena *arena);
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
390 #define For(a0, a1, a2, a3, a4, a5, a6) _Py_For(a0, a1, a2, a3, a4, a5, a6)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
391 stmt_ty _Py_For(expr_ty target, expr_ty iter, asdl_seq * body, asdl_seq *
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
392 orelse, int lineno, int col_offset, PyArena *arena);
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
393 #define While(a0, a1, a2, a3, a4, a5) _Py_While(a0, a1, a2, a3, a4, a5)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
394 stmt_ty _Py_While(expr_ty test, asdl_seq * body, asdl_seq * orelse, int lineno,
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
395 int col_offset, PyArena *arena);
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
396 #define If(a0, a1, a2, a3, a4, a5) _Py_If(a0, a1, a2, a3, a4, a5)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
397 stmt_ty _Py_If(expr_ty test, asdl_seq * body, asdl_seq * orelse, int lineno,
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
398 int col_offset, PyArena *arena);
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
399 #define With(a0, a1, a2, a3, a4, a5) _Py_With(a0, a1, a2, a3, a4, a5)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
400 stmt_ty _Py_With(expr_ty context_expr, expr_ty optional_vars, asdl_seq * body,
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
401 int lineno, int col_offset, PyArena *arena);
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
402 #define Raise(a0, a1, a2, a3, a4, a5) _Py_Raise(a0, a1, a2, a3, a4, a5)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
403 stmt_ty _Py_Raise(expr_ty type, expr_ty inst, expr_ty tback, int lineno, int
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
404 col_offset, PyArena *arena);
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
405 #define TryExcept(a0, a1, a2, a3, a4, a5) _Py_TryExcept(a0, a1, a2, a3, a4, a5)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
406 stmt_ty _Py_TryExcept(asdl_seq * body, asdl_seq * handlers, asdl_seq * orelse,
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
407 int lineno, int col_offset, PyArena *arena);
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
408 #define TryFinally(a0, a1, a2, a3, a4) _Py_TryFinally(a0, a1, a2, a3, a4)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
409 stmt_ty _Py_TryFinally(asdl_seq * body, asdl_seq * finalbody, int lineno, int
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
410 col_offset, PyArena *arena);
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
411 #define Assert(a0, a1, a2, a3, a4) _Py_Assert(a0, a1, a2, a3, a4)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
412 stmt_ty _Py_Assert(expr_ty test, expr_ty msg, int lineno, int col_offset,
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
413 PyArena *arena);
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
414 #define Import(a0, a1, a2, a3) _Py_Import(a0, a1, a2, a3)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
415 stmt_ty _Py_Import(asdl_seq * names, int lineno, int col_offset, PyArena
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
416 *arena);
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
417 #define ImportFrom(a0, a1, a2, a3, a4, a5) _Py_ImportFrom(a0, a1, a2, a3, a4, a5)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
418 stmt_ty _Py_ImportFrom(identifier module, asdl_seq * names, int level, int
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
419 lineno, int col_offset, PyArena *arena);
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
420 #define Exec(a0, a1, a2, a3, a4, a5) _Py_Exec(a0, a1, a2, a3, a4, a5)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
421 stmt_ty _Py_Exec(expr_ty body, expr_ty globals, expr_ty locals, int lineno, int
36786
57322cb2ca11 Patch #1440601: Add col_offset attribute to AST nodes.
Martin v. Löwis <martin@v.loewis.de>
parents: 36712
diff changeset
422 col_offset, PyArena *arena);
40668
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
423 #define Global(a0, a1, a2, a3) _Py_Global(a0, a1, a2, a3)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
424 stmt_ty _Py_Global(asdl_seq * names, int lineno, int col_offset, PyArena
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
425 *arena);
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
426 #define Expr(a0, a1, a2, a3) _Py_Expr(a0, a1, a2, a3)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
427 stmt_ty _Py_Expr(expr_ty value, int lineno, int col_offset, PyArena *arena);
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
428 #define Pass(a0, a1, a2) _Py_Pass(a0, a1, a2)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
429 stmt_ty _Py_Pass(int lineno, int col_offset, PyArena *arena);
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
430 #define Break(a0, a1, a2) _Py_Break(a0, a1, a2)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
431 stmt_ty _Py_Break(int lineno, int col_offset, PyArena *arena);
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
432 #define Continue(a0, a1, a2) _Py_Continue(a0, a1, a2)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
433 stmt_ty _Py_Continue(int lineno, int col_offset, PyArena *arena);
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
434 #define BoolOp(a0, a1, a2, a3, a4) _Py_BoolOp(a0, a1, a2, a3, a4)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
435 expr_ty _Py_BoolOp(boolop_ty op, asdl_seq * values, int lineno, int col_offset,
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
436 PyArena *arena);
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
437 #define BinOp(a0, a1, a2, a3, a4, a5) _Py_BinOp(a0, a1, a2, a3, a4, a5)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
438 expr_ty _Py_BinOp(expr_ty left, operator_ty op, expr_ty right, int lineno, int
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
439 col_offset, PyArena *arena);
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
440 #define UnaryOp(a0, a1, a2, a3, a4) _Py_UnaryOp(a0, a1, a2, a3, a4)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
441 expr_ty _Py_UnaryOp(unaryop_ty op, expr_ty operand, int lineno, int col_offset,
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
442 PyArena *arena);
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
443 #define Lambda(a0, a1, a2, a3, a4) _Py_Lambda(a0, a1, a2, a3, a4)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
444 expr_ty _Py_Lambda(arguments_ty args, expr_ty body, int lineno, int col_offset,
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
445 PyArena *arena);
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
446 #define IfExp(a0, a1, a2, a3, a4, a5) _Py_IfExp(a0, a1, a2, a3, a4, a5)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
447 expr_ty _Py_IfExp(expr_ty test, expr_ty body, expr_ty orelse, int lineno, int
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
448 col_offset, PyArena *arena);
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
449 #define Dict(a0, a1, a2, a3, a4) _Py_Dict(a0, a1, a2, a3, a4)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
450 expr_ty _Py_Dict(asdl_seq * keys, asdl_seq * values, int lineno, int
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
451 col_offset, PyArena *arena);
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
452 #define ListComp(a0, a1, a2, a3, a4) _Py_ListComp(a0, a1, a2, a3, a4)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
453 expr_ty _Py_ListComp(expr_ty elt, asdl_seq * generators, int lineno, int
36786
57322cb2ca11 Patch #1440601: Add col_offset attribute to AST nodes.
Martin v. Löwis <martin@v.loewis.de>
parents: 36712
diff changeset
454 col_offset, PyArena *arena);
40668
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
455 #define GeneratorExp(a0, a1, a2, a3, a4) _Py_GeneratorExp(a0, a1, a2, a3, a4)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
456 expr_ty _Py_GeneratorExp(expr_ty elt, asdl_seq * generators, int lineno, int
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
457 col_offset, PyArena *arena);
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
458 #define Yield(a0, a1, a2, a3) _Py_Yield(a0, a1, a2, a3)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
459 expr_ty _Py_Yield(expr_ty value, int lineno, int col_offset, PyArena *arena);
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
460 #define Compare(a0, a1, a2, a3, a4, a5) _Py_Compare(a0, a1, a2, a3, a4, a5)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
461 expr_ty _Py_Compare(expr_ty left, asdl_int_seq * ops, asdl_seq * comparators,
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
462 int lineno, int col_offset, PyArena *arena);
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
463 #define Call(a0, a1, a2, a3, a4, a5, a6, a7) _Py_Call(a0, a1, a2, a3, a4, a5, a6, a7)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
464 expr_ty _Py_Call(expr_ty func, asdl_seq * args, asdl_seq * keywords, expr_ty
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
465 starargs, expr_ty kwargs, int lineno, int col_offset, PyArena
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
466 *arena);
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
467 #define Repr(a0, a1, a2, a3) _Py_Repr(a0, a1, a2, a3)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
468 expr_ty _Py_Repr(expr_ty value, int lineno, int col_offset, PyArena *arena);
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
469 #define Num(a0, a1, a2, a3) _Py_Num(a0, a1, a2, a3)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
470 expr_ty _Py_Num(object n, int lineno, int col_offset, PyArena *arena);
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
471 #define Str(a0, a1, a2, a3) _Py_Str(a0, a1, a2, a3)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
472 expr_ty _Py_Str(string s, int lineno, int col_offset, PyArena *arena);
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
473 #define Attribute(a0, a1, a2, a3, a4, a5) _Py_Attribute(a0, a1, a2, a3, a4, a5)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
474 expr_ty _Py_Attribute(expr_ty value, identifier attr, expr_context_ty ctx, int
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
475 lineno, int col_offset, PyArena *arena);
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
476 #define Subscript(a0, a1, a2, a3, a4, a5) _Py_Subscript(a0, a1, a2, a3, a4, a5)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
477 expr_ty _Py_Subscript(expr_ty value, slice_ty slice, expr_context_ty ctx, int
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
478 lineno, int col_offset, PyArena *arena);
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
479 #define Name(a0, a1, a2, a3, a4) _Py_Name(a0, a1, a2, a3, a4)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
480 expr_ty _Py_Name(identifier id, expr_context_ty ctx, int lineno, int
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
481 col_offset, PyArena *arena);
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
482 #define List(a0, a1, a2, a3, a4) _Py_List(a0, a1, a2, a3, a4)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
483 expr_ty _Py_List(asdl_seq * elts, expr_context_ty ctx, int lineno, int
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
484 col_offset, PyArena *arena);
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
485 #define Tuple(a0, a1, a2, a3, a4) _Py_Tuple(a0, a1, a2, a3, a4)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
486 expr_ty _Py_Tuple(asdl_seq * elts, expr_context_ty ctx, int lineno, int
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
487 col_offset, PyArena *arena);
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
488 #define Ellipsis(a0) _Py_Ellipsis(a0)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
489 slice_ty _Py_Ellipsis(PyArena *arena);
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
490 #define Slice(a0, a1, a2, a3) _Py_Slice(a0, a1, a2, a3)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
491 slice_ty _Py_Slice(expr_ty lower, expr_ty upper, expr_ty step, PyArena *arena);
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
492 #define ExtSlice(a0, a1) _Py_ExtSlice(a0, a1)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
493 slice_ty _Py_ExtSlice(asdl_seq * dims, PyArena *arena);
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
494 #define Index(a0, a1) _Py_Index(a0, a1)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
495 slice_ty _Py_Index(expr_ty value, PyArena *arena);
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
496 #define comprehension(a0, a1, a2, a3) _Py_comprehension(a0, a1, a2, a3)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
497 comprehension_ty _Py_comprehension(expr_ty target, expr_ty iter, asdl_seq *
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
498 ifs, PyArena *arena);
46200
2ff88ae9850c Patch #2511: Give the "excepthandler" AST item proper attributes by making it a Sum.
Georg Brandl <georg@python.org>
parents: 46193
diff changeset
499 #define ExceptHandler(a0, a1, a2, a3, a4, a5) _Py_ExceptHandler(a0, a1, a2, a3, a4, a5)
2ff88ae9850c Patch #2511: Give the "excepthandler" AST item proper attributes by making it a Sum.
Georg Brandl <georg@python.org>
parents: 46193
diff changeset
500 excepthandler_ty _Py_ExceptHandler(expr_ty type, expr_ty name, asdl_seq * body,
40668
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
501 int lineno, int col_offset, PyArena *arena);
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
502 #define arguments(a0, a1, a2, a3, a4) _Py_arguments(a0, a1, a2, a3, a4)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
503 arguments_ty _Py_arguments(asdl_seq * args, identifier vararg, identifier
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
504 kwarg, asdl_seq * defaults, PyArena *arena);
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
505 #define keyword(a0, a1, a2) _Py_keyword(a0, a1, a2)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
506 keyword_ty _Py_keyword(identifier arg, expr_ty value, PyArena *arena);
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
507 #define alias(a0, a1, a2) _Py_alias(a0, a1, a2)
b051d197f7a4 Prefix AST symbols with _Py_. Fixes #1637022.
Martin v. Löwis <martin@v.loewis.de>
parents: 37685
diff changeset
508 alias_ty _Py_alias(identifier name, identifier asname, PyArena *arena);
35866
9f73dc0953d2 Whoops, checkin consistent versions of *all* files to stop polluting
Neal Norwitz <nnorwitz@gmail.com>
parents: 35862
diff changeset
509
36660
3c0b26113df6 Generate code to recursively copy an AST into
Martin v. Löwis <martin@v.loewis.de>
parents: 36065
diff changeset
510 PyObject* PyAST_mod2obj(mod_ty t);
46193
b0bf06d49647 Properly check for consistency with the third argument of
Georg Brandl <georg@python.org>
parents: 46162
diff changeset
511 mod_ty PyAST_obj2mod(PyObject* ast, PyArena* arena, int mode);
46162
ca38f7a4b4c9 Patch #1810 by Thomas Lee, reviewed by myself:
Georg Brandl <georg@python.org>
parents: 45447
diff changeset
512 int PyAST_Check(PyObject* obj);