You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tvm.apache.org by ju...@apache.org on 2022/07/31 02:58:16 UTC
[tvm] branch main updated: [TVMScript] Doc Definition (#12244)
This is an automated email from the ASF dual-hosted git repository.
junrushao pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tvm.git
The following commit(s) were added to refs/heads/main by this push:
new 9f16b607c8 [TVMScript] Doc Definition (#12244)
9f16b607c8 is described below
commit 9f16b607c8a5fd84b807da665210c9aad31be961
Author: Junru Shao <ju...@gmail.com>
AuthorDate: Sat Jul 30 19:58:08 2022 -0700
[TVMScript] Doc Definition (#12244)
This single-file PR is automatically generated by a script that describes the Doc AST.
---
python/tvm/script/printer/doc_core.py | 1140 +++++++++++++++++++++++++++++++++
1 file changed, 1140 insertions(+)
diff --git a/python/tvm/script/printer/doc_core.py b/python/tvm/script/printer/doc_core.py
new file mode 100644
index 0000000000..b88eef9a0e
--- /dev/null
+++ b/python/tvm/script/printer/doc_core.py
@@ -0,0 +1,1140 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+# pylint: disable=redefined-outer-name,missing-docstring,invalid-name
+# pylint: disable=useless-super-delegation,redefined-builtin
+# pylint: disable=too-few-public-methods,too-many-arguments
+class AST:
+ _FIELDS = ["lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__()
+ self.lineno = lineno
+ self.col_offset = col_offset
+ self.end_lineno = end_lineno
+ self.end_col_offset = end_col_offset
+
+
+class mod(AST):
+ _FIELDS = ["lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+
+
+class Module(mod):
+ _FIELDS = ["body", "lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, body, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.body = body
+
+
+class Interactive(mod):
+ _FIELDS = ["body", "lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, body, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.body = body
+
+
+class Expression(mod):
+ _FIELDS = ["body", "lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, body, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.body = body
+
+
+class stmt(AST):
+ _FIELDS = ["lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+
+
+class FunctionDef(stmt):
+ _FIELDS = [
+ "name",
+ "args",
+ "body",
+ "decorator_list",
+ "returns",
+ "lineno",
+ "col_offset",
+ "end_lineno",
+ "end_col_offset",
+ ]
+
+ def __init__(
+ self,
+ name,
+ args,
+ body,
+ decorator_list,
+ returns,
+ lineno,
+ col_offset,
+ end_lineno,
+ end_col_offset,
+ ):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.name = name
+ self.args = args
+ self.body = body
+ self.decorator_list = decorator_list
+ self.returns = returns
+
+
+class ClassDef(stmt):
+ _FIELDS = [
+ "name",
+ "bases",
+ "keywords",
+ "body",
+ "decorator_list",
+ "lineno",
+ "col_offset",
+ "end_lineno",
+ "end_col_offset",
+ ]
+
+ def __init__(
+ self,
+ name,
+ bases,
+ keywords,
+ body,
+ decorator_list,
+ lineno,
+ col_offset,
+ end_lineno,
+ end_col_offset,
+ ):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.name = name
+ self.bases = bases
+ self.keywords = keywords
+ self.body = body
+ self.decorator_list = decorator_list
+
+
+class Return(stmt):
+ _FIELDS = ["value", "lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, value, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.value = value
+
+
+class Delete(stmt):
+ _FIELDS = ["targets", "lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, targets, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.targets = targets
+
+
+class Assign(stmt):
+ _FIELDS = ["targets", "value", "lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, targets, value, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.targets = targets
+ self.value = value
+
+
+class AugAssign(stmt):
+ _FIELDS = ["target", "op", "value", "lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, target, op, value, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.target = target
+ self.op = op
+ self.value = value
+
+
+class AnnAssign(stmt):
+ _FIELDS = [
+ "target",
+ "annotation",
+ "value",
+ "simple",
+ "lineno",
+ "col_offset",
+ "end_lineno",
+ "end_col_offset",
+ ]
+
+ def __init__(
+ self, target, annotation, value, simple, lineno, col_offset, end_lineno, end_col_offset
+ ):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.target = target
+ self.annotation = annotation
+ self.value = value
+ self.simple = simple
+
+
+class For(stmt):
+ _FIELDS = [
+ "target",
+ "iter",
+ "body",
+ "orelse",
+ "lineno",
+ "col_offset",
+ "end_lineno",
+ "end_col_offset",
+ ]
+
+ def __init__(self, target, iter, body, orelse, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.target = target
+ self.iter = iter
+ self.body = body
+ self.orelse = orelse
+
+
+class While(stmt):
+ _FIELDS = ["test", "body", "orelse", "lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, test, body, orelse, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.test = test
+ self.body = body
+ self.orelse = orelse
+
+
+class If(stmt):
+ _FIELDS = ["test", "body", "orelse", "lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, test, body, orelse, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.test = test
+ self.body = body
+ self.orelse = orelse
+
+
+class With(stmt):
+ _FIELDS = ["items", "body", "lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, items, body, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.items = items
+ self.body = body
+
+
+class Raise(stmt):
+ _FIELDS = ["exc", "cause", "lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, exc, cause, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.exc = exc
+ self.cause = cause
+
+
+class Try(stmt):
+ _FIELDS = [
+ "body",
+ "handlers",
+ "orelse",
+ "finalbody",
+ "lineno",
+ "col_offset",
+ "end_lineno",
+ "end_col_offset",
+ ]
+
+ def __init__(
+ self, body, handlers, orelse, finalbody, lineno, col_offset, end_lineno, end_col_offset
+ ):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.body = body
+ self.handlers = handlers
+ self.orelse = orelse
+ self.finalbody = finalbody
+
+
+class Assert(stmt):
+ _FIELDS = ["test", "msg", "lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, test, msg, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.test = test
+ self.msg = msg
+
+
+class Import(stmt):
+ _FIELDS = ["names", "lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, names, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.names = names
+
+
+class ImportFrom(stmt):
+ _FIELDS = ["module", "names", "level", "lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, module, names, level, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.module = module
+ self.names = names
+ self.level = level
+
+
+class Global(stmt):
+ _FIELDS = ["names", "lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, names, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.names = names
+
+
+class Nonlocal(stmt):
+ _FIELDS = ["names", "lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, names, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.names = names
+
+
+class Expr(stmt):
+ _FIELDS = ["value", "lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, value, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.value = value
+
+
+class Pass(stmt):
+ _FIELDS = ["lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+
+
+class Break(stmt):
+ _FIELDS = ["lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+
+
+class Continue(stmt):
+ _FIELDS = ["lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+
+
+class expr(AST):
+ _FIELDS = ["lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+
+
+class BoolOp(expr):
+ _FIELDS = ["op", "values", "lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, op, values, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.op = op
+ self.values = values
+
+
+class BinOp(expr):
+ _FIELDS = ["left", "op", "right", "lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, left, op, right, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.left = left
+ self.op = op
+ self.right = right
+
+
+class UnaryOp(expr):
+ _FIELDS = ["op", "operand", "lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, op, operand, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.op = op
+ self.operand = operand
+
+
+class Lambda(expr):
+ _FIELDS = ["args", "body", "lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, args, body, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.args = args
+ self.body = body
+
+
+class IfExp(expr):
+ _FIELDS = ["test", "body", "orelse", "lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, test, body, orelse, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.test = test
+ self.body = body
+ self.orelse = orelse
+
+
+class Dict(expr):
+ _FIELDS = ["keys", "values", "lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, keys, values, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.keys = keys
+ self.values = values
+
+
+class Set(expr):
+ _FIELDS = ["elts", "lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, elts, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.elts = elts
+
+
+class ListComp(expr):
+ _FIELDS = ["elt", "generators", "lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, elt, generators, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.elt = elt
+ self.generators = generators
+
+
+class SetComp(expr):
+ _FIELDS = ["elt", "generators", "lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, elt, generators, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.elt = elt
+ self.generators = generators
+
+
+class DictComp(expr):
+ _FIELDS = ["key", "value", "generators", "lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, key, value, generators, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.key = key
+ self.value = value
+ self.generators = generators
+
+
+class GeneratorExp(expr):
+ _FIELDS = ["elt", "generators", "lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, elt, generators, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.elt = elt
+ self.generators = generators
+
+
+class Yield(expr):
+ _FIELDS = ["value", "lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, value, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.value = value
+
+
+class YieldFrom(expr):
+ _FIELDS = ["value", "lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, value, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.value = value
+
+
+class Compare(expr):
+ _FIELDS = ["left", "ops", "comparators", "lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, left, ops, comparators, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.left = left
+ self.ops = ops
+ self.comparators = comparators
+
+
+class Call(expr):
+ _FIELDS = ["func", "args", "keywords", "lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, func, args, keywords, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.func = func
+ self.args = args
+ self.keywords = keywords
+
+
+class FormattedValue(expr):
+ _FIELDS = [
+ "value",
+ "conversion",
+ "format_spec",
+ "lineno",
+ "col_offset",
+ "end_lineno",
+ "end_col_offset",
+ ]
+
+ def __init__(
+ self, value, conversion, format_spec, lineno, col_offset, end_lineno, end_col_offset
+ ):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.value = value
+ self.conversion = conversion
+ self.format_spec = format_spec
+
+
+class JoinedStr(expr):
+ _FIELDS = ["values", "lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, values, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.values = values
+
+
+class Constant(expr):
+ _FIELDS = ["value", "kind", "s", "n", "lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, value, kind, s, n, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.value = value
+ self.kind = kind
+ self.s = s
+ self.n = n
+
+
+class NamedExpr(expr):
+ _FIELDS = ["target", "value", "lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, target, value, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.target = target
+ self.value = value
+
+
+class Attribute(expr):
+ _FIELDS = ["value", "attr", "ctx", "lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, value, attr, ctx, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.value = value
+ self.attr = attr
+ self.ctx = ctx
+
+
+class slice(AST):
+ _FIELDS = ["lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+
+
+class Slice(slice):
+ _FIELDS = ["lower", "upper", "step", "lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, lower, upper, step, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.lower = lower
+ self.upper = upper
+ self.step = step
+
+
+class ExtSlice(slice):
+ _FIELDS = ["dims", "lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, dims, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.dims = dims
+
+
+class Index(slice):
+ _FIELDS = ["value", "lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, value, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.value = value
+
+
+class Subscript(expr):
+ _FIELDS = ["value", "slice", "ctx", "lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, value, slice, ctx, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.value = value
+ self.slice = slice
+ self.ctx = ctx
+
+
+class Starred(expr):
+ _FIELDS = ["value", "ctx", "lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, value, ctx, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.value = value
+ self.ctx = ctx
+
+
+class Name(expr):
+ _FIELDS = ["id", "ctx", "lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, id, ctx, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.id = id
+ self.ctx = ctx
+
+
+class List(expr):
+ _FIELDS = ["elts", "ctx", "lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, elts, ctx, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.elts = elts
+ self.ctx = ctx
+
+
+class Tuple(expr):
+ _FIELDS = ["elts", "ctx", "lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, elts, ctx, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.elts = elts
+ self.ctx = ctx
+
+
+class expr_context(AST):
+ _FIELDS = ["lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+
+
+class AugLoad(expr_context):
+ _FIELDS = ["lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+
+
+class AugStore(expr_context):
+ _FIELDS = ["lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+
+
+class Param(expr_context):
+ _FIELDS = ["lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+
+
+class Suite(mod):
+ _FIELDS = ["body", "lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, body, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.body = body
+
+
+class Del(expr_context):
+ _FIELDS = ["lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+
+
+class Load(expr_context):
+ _FIELDS = ["lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+
+
+class Store(expr_context):
+ _FIELDS = ["lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+
+
+class boolop(AST):
+ _FIELDS = ["lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+
+
+class And(boolop):
+ _FIELDS = ["lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+
+
+class Or(boolop):
+ _FIELDS = ["lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+
+
+class operator(AST):
+ _FIELDS = ["lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+
+
+class Add(operator):
+ _FIELDS = ["lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+
+
+class BitAnd(operator):
+ _FIELDS = ["lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+
+
+class BitOr(operator):
+ _FIELDS = ["lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+
+
+class BitXor(operator):
+ _FIELDS = ["lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+
+
+class Div(operator):
+ _FIELDS = ["lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+
+
+class FloorDiv(operator):
+ _FIELDS = ["lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+
+
+class LShift(operator):
+ _FIELDS = ["lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+
+
+class Mod(operator):
+ _FIELDS = ["lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+
+
+class Mult(operator):
+ _FIELDS = ["lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+
+
+class MatMult(operator):
+ _FIELDS = ["lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+
+
+class Pow(operator):
+ _FIELDS = ["lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+
+
+class RShift(operator):
+ _FIELDS = ["lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+
+
+class Sub(operator):
+ _FIELDS = ["lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+
+
+class unaryop(AST):
+ _FIELDS = ["lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+
+
+class Invert(unaryop):
+ _FIELDS = ["lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+
+
+class Not(unaryop):
+ _FIELDS = ["lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+
+
+class UAdd(unaryop):
+ _FIELDS = ["lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+
+
+class USub(unaryop):
+ _FIELDS = ["lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+
+
+class cmpop(AST):
+ _FIELDS = ["lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+
+
+class Eq(cmpop):
+ _FIELDS = ["lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+
+
+class Gt(cmpop):
+ _FIELDS = ["lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+
+
+class GtE(cmpop):
+ _FIELDS = ["lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+
+
+class In(cmpop):
+ _FIELDS = ["lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+
+
+class Is(cmpop):
+ _FIELDS = ["lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+
+
+class IsNot(cmpop):
+ _FIELDS = ["lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+
+
+class Lt(cmpop):
+ _FIELDS = ["lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+
+
+class LtE(cmpop):
+ _FIELDS = ["lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+
+
+class NotEq(cmpop):
+ _FIELDS = ["lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+
+
+class NotIn(cmpop):
+ _FIELDS = ["lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+
+
+class comprehension(AST):
+ _FIELDS = [
+ "target",
+ "iter",
+ "ifs",
+ "is_async",
+ "lineno",
+ "col_offset",
+ "end_lineno",
+ "end_col_offset",
+ ]
+
+ def __init__(self, target, iter, ifs, is_async, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.target = target
+ self.iter = iter
+ self.ifs = ifs
+ self.is_async = is_async
+
+
+class excepthandler(AST):
+ _FIELDS = ["lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+
+
+class ExceptHandler(excepthandler):
+ _FIELDS = ["type", "name", "body", "lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, type, name, body, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.type = type
+ self.name = name
+ self.body = body
+
+
+class arguments(AST):
+ _FIELDS = [
+ "args",
+ "vararg",
+ "kwonlyargs",
+ "kw_defaults",
+ "kwarg",
+ "defaults",
+ "posonlyargs",
+ "lineno",
+ "col_offset",
+ "end_lineno",
+ "end_col_offset",
+ ]
+
+ def __init__(
+ self,
+ args,
+ vararg,
+ kwonlyargs,
+ kw_defaults,
+ kwarg,
+ defaults,
+ posonlyargs,
+ lineno,
+ col_offset,
+ end_lineno,
+ end_col_offset,
+ ):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.args = args
+ self.vararg = vararg
+ self.kwonlyargs = kwonlyargs
+ self.kw_defaults = kw_defaults
+ self.kwarg = kwarg
+ self.defaults = defaults
+ self.posonlyargs = posonlyargs
+
+
+class arg(AST):
+ _FIELDS = ["arg", "annotation", "lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, arg, annotation, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.arg = arg
+ self.annotation = annotation
+
+
+class keyword(AST):
+ _FIELDS = ["arg", "value", "lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, arg, value, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.arg = arg
+ self.value = value
+
+
+class alias(AST):
+ _FIELDS = ["name", "asname", "lineno", "col_offset", "end_lineno", "end_col_offset"]
+
+ def __init__(self, name, asname, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.name = name
+ self.asname = asname
+
+
+class withitem(AST):
+ _FIELDS = [
+ "context_expr",
+ "optional_vars",
+ "lineno",
+ "col_offset",
+ "end_lineno",
+ "end_col_offset",
+ ]
+
+ def __init__(self, context_expr, optional_vars, lineno, col_offset, end_lineno, end_col_offset):
+ super().__init__(lineno, col_offset, end_lineno, end_col_offset)
+ self.context_expr = context_expr
+ self.optional_vars = optional_vars
+
+
+__all__ = [
+ "AST",
+ "mod",
+ "Module",
+ "Interactive",
+ "Expression",
+ "stmt",
+ "FunctionDef",
+ "ClassDef",
+ "Return",
+ "Delete",
+ "Assign",
+ "AugAssign",
+ "AnnAssign",
+ "For",
+ "While",
+ "If",
+ "With",
+ "Raise",
+ "Try",
+ "Assert",
+ "Import",
+ "ImportFrom",
+ "Global",
+ "Nonlocal",
+ "Expr",
+ "Pass",
+ "Break",
+ "Continue",
+ "expr",
+ "BoolOp",
+ "BinOp",
+ "UnaryOp",
+ "Lambda",
+ "IfExp",
+ "Dict",
+ "Set",
+ "ListComp",
+ "SetComp",
+ "DictComp",
+ "GeneratorExp",
+ "Yield",
+ "YieldFrom",
+ "Compare",
+ "Call",
+ "FormattedValue",
+ "JoinedStr",
+ "Constant",
+ "NamedExpr",
+ "Attribute",
+ "slice",
+ "Slice",
+ "ExtSlice",
+ "Index",
+ "Subscript",
+ "Starred",
+ "Name",
+ "List",
+ "Tuple",
+ "expr_context",
+ "AugLoad",
+ "AugStore",
+ "Param",
+ "Suite",
+ "Del",
+ "Load",
+ "Store",
+ "boolop",
+ "And",
+ "Or",
+ "operator",
+ "Add",
+ "BitAnd",
+ "BitOr",
+ "BitXor",
+ "Div",
+ "FloorDiv",
+ "LShift",
+ "Mod",
+ "Mult",
+ "MatMult",
+ "Pow",
+ "RShift",
+ "Sub",
+ "unaryop",
+ "Invert",
+ "Not",
+ "UAdd",
+ "USub",
+ "cmpop",
+ "Eq",
+ "Gt",
+ "GtE",
+ "In",
+ "Is",
+ "IsNot",
+ "Lt",
+ "LtE",
+ "NotEq",
+ "NotIn",
+ "comprehension",
+ "excepthandler",
+ "ExceptHandler",
+ "arguments",
+ "arg",
+ "keyword",
+ "alias",
+ "withitem",
+]