round(0, "ermintrude") succeeded instead of producing a TypeError. Fix this.
[python.git] / Tools / compiler / ast.txt
blob2dfb372f3cee91b4f9d45f4c85edfb1eb7032ca9
1 # This file describes the nodes of the AST in ast.py.  The module is
2 # generated by astgen.py.  
3 # The descriptions use the following special notation to describe
4 # properties of the children:
5 #    *   this child is not a node
6 #    !   this child is a sequence that contains nodes in it
7 #    &   this child may be set to None
8 #  = ... a default value for the node constructor (optional args)
10 # If you add node types here, please be sure to update the list of 
11 # Node types in Doc/lib/asttable.tex.
12 Module: doc*, node
13 Stmt: nodes!
14 Decorators: nodes!
15 Function: decorators&, name*, argnames*, defaults!, flags*, doc*, code
16 Lambda: argnames*, defaults!, flags*, code
17 Class: name*, bases!, doc*, code, decorators& = None
18 Pass: 
19 Break: 
20 Continue: 
21 For: assign, list, body, else_&
22 While: test, body, else_&
23 With: expr, vars&, body
24 If: tests!, else_&
25 IfExp: test, then, else_
26 Exec: expr, locals&, globals&
27 From: modname*, names*, level*
28 Import: names*
29 Raise: expr1&, expr2&, expr3&
30 TryFinally: body, final
31 TryExcept: body, handlers!, else_&
32 Return: value
33 Yield: value
34 Const: value*
35 Print: nodes!, dest&
36 Printnl: nodes!, dest&
37 Discard: expr
38 AugAssign: node, op*, expr
39 Assign: nodes!, expr
40 AssTuple: nodes!
41 AssList: nodes!
42 AssName: name*, flags*
43 AssAttr: expr, attrname*, flags*
44 ListComp: expr, quals!
45 ListCompFor: assign, list, ifs!
46 ListCompIf: test
47 GenExpr: code
48 GenExprInner: expr, quals!
49 GenExprFor: assign, iter, ifs!
50 GenExprIf: test
51 List: nodes!
52 Dict: items!
53 Not: expr
54 Compare: expr, ops!
55 Name: name*
56 Global: names*
57 Backquote: expr
58 Getattr: expr, attrname*
59 CallFunc: node, args!, star_args& = None, dstar_args& = None
60 Keyword: name*, expr
61 Subscript: expr, flags*, subs!
62 Ellipsis: 
63 Sliceobj: nodes!
64 Slice: expr, flags*, lower&, upper&
65 Assert: test, fail&
66 Tuple: nodes!
67 Or: nodes!
68 And: nodes!
69 Bitor: nodes!
70 Bitxor: nodes!
71 Bitand: nodes!
72 LeftShift: (left, right)
73 RightShift: (left, right)
74 Add: (left, right)
75 Sub: (left, right)
76 Mul: (left, right)
77 Div: (left, right)
78 Mod: (left, right)
79 Power: (left, right)
80 FloorDiv: (left, right)
81 UnaryAdd: expr
82 UnarySub: expr
83 Invert: expr
85 init(Function):
86     self.varargs = self.kwargs = None
87     if flags & CO_VARARGS:
88         self.varargs = 1
89     if flags & CO_VARKEYWORDS:
90         self.kwargs = 1
92 init(Lambda):
93     self.varargs = self.kwargs = None
94     if flags & CO_VARARGS:
95         self.varargs = 1
96     if flags & CO_VARKEYWORDS:
97         self.kwargs = 1
99 init(GenExpr):
100     self.argnames = ['.0']
101     self.varargs = self.kwargs = None
103 init(GenExprFor):
104     self.is_outmost = False