symbian-qemu-0.9.1-12/python-2.6.1/Tools/compiler/ast.txt
changeset 1 2fb8b9db1c86
equal deleted inserted replaced
0:ffa851df0825 1:2fb8b9db1c86
       
     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