mirror of https://github.com/acidanthera/audk.git
105 lines
2.6 KiB
Plaintext
105 lines
2.6 KiB
Plaintext
|
# 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)
|
||
|
#
|
||
|
# If you add node types here, please be sure to update the list of
|
||
|
# Node types in Doc/lib/asttable.tex.
|
||
|
Module: doc*, node
|
||
|
Stmt: nodes!
|
||
|
Decorators: nodes!
|
||
|
Function: decorators&, name*, argnames*, defaults!, flags*, doc*, code
|
||
|
Lambda: argnames*, defaults!, flags*, code
|
||
|
Class: name*, bases!, doc*, code, decorators& = None
|
||
|
Pass:
|
||
|
Break:
|
||
|
Continue:
|
||
|
For: assign, list, body, else_&
|
||
|
While: test, body, else_&
|
||
|
With: expr, vars&, body
|
||
|
If: tests!, else_&
|
||
|
IfExp: test, then, else_
|
||
|
Exec: expr, locals&, globals&
|
||
|
From: modname*, names*, level*
|
||
|
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
|
||
|
GenExpr: code
|
||
|
GenExprInner: expr, quals!
|
||
|
GenExprFor: assign, iter, ifs!
|
||
|
GenExprIf: 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
|
||
|
|
||
|
init(GenExpr):
|
||
|
self.argnames = ['.0']
|
||
|
self.varargs = self.kwargs = None
|
||
|
|
||
|
init(GenExprFor):
|
||
|
self.is_outmost = False
|