# This file describes the nodes of the AST in ast.py. The module is # generated by astgen.py. # The descriptions use the following special notation to describe # properties of the children: # * this child is not a node # ! this child is a sequence that contains nodes in it # & this child may be set to None # = ... a default value for the node constructor (optional args) Module: doc*, node Stmt: nodes! Function: name*, argnames*, defaults!, flags*, doc*, code Lambda: argnames*, defaults!, flags*, code Class: name*, bases!, doc*, code Pass: Break: Continue: For: assign, list, body, else_& While: test, body, else_& If: tests!, else_& Exec: expr, locals&, globals& From: modname*, names* Import: names* Raise: expr1&, expr2&, expr3& TryFinally: body, final TryExcept: body, handlers!, else_& Return: value Yield: value Const: value* Print: nodes!, dest& Printnl: nodes!, dest& Discard: expr AugAssign: node, op*, expr Assign: nodes!, expr AssTuple: nodes! AssList: nodes! AssName: name*, flags* AssAttr: expr, attrname*, flags* ListComp: expr, quals! ListCompFor: assign, list, ifs! ListCompIf: test List: nodes! Dict: items! Not: expr Compare: expr, ops! Name: name* Global: names* Backquote: expr Getattr: expr, attrname* CallFunc: node, args!, star_args& = None, dstar_args& = None Keyword: name*, expr Subscript: expr, flags*, subs! Ellipsis: Sliceobj: nodes! Slice: expr, flags*, lower&, upper& Assert: test, fail& Tuple: nodes! Or: nodes! And: nodes! Bitor: nodes! Bitxor: nodes! Bitand: nodes! LeftShift: (left, right) RightShift: (left, right) Add: (left, right) Sub: (left, right) Mul: (left, right) Div: (left, right) Mod: (left, right) Power: (left, right) FloorDiv: (left, right) UnaryAdd: expr UnarySub: expr Invert: expr init(Function): self.varargs = self.kwargs = None if flags & CO_VARARGS: self.varargs = 1 if flags & CO_VARKEYWORDS: self.kwargs = 1 init(Lambda): self.varargs = self.kwargs = None if flags & CO_VARARGS: self.varargs = 1 if flags & CO_VARKEYWORDS: self.kwargs = 1