~malept/ubuntu/lucid/python2.6/dev-dependency-fix

« back to all changes in this revision

Viewing changes to Tools/compiler/ast.txt

  • Committer: Bazaar Package Importer
  • Author(s): Matthias Klose
  • Date: 2009-02-13 12:51:00 UTC
  • Revision ID: james.westby@ubuntu.com-20090213125100-uufgcb9yeqzujpqw
Tags: upstream-2.6.1
ImportĀ upstreamĀ versionĀ 2.6.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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)
 
9
#
 
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
 
84
 
 
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
 
91
 
 
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
 
98
 
 
99
init(GenExpr):
 
100
    self.argnames = ['.0']
 
101
    self.varargs = self.kwargs = None
 
102
 
 
103
init(GenExprFor):
 
104
    self.is_outmost = False