-- ASDL's five builtin types are identifier, int, string, object, boolmodule Python version "$Revision$"{mod = Module(stmt* body)| Interactive(stmt* body)| Expression(expr body)-- not really an actual node but useful in Jython's typesystem.| Suite(stmt* body)stmt = FunctionDef(identifier name, arguments args,stmt* body, expr* decorator_list)| ClassDef(identifier name, expr* bases, stmt* body, expr *decorator_list)| Return(expr? value)| Delete(expr* targets)| Assign(expr* targets, expr value)| AugAssign(expr target, operator op, expr value)-- not sure if bool is allowed, can always use int| Print(expr? dest, expr* values, bool nl)-- use 'orelse' because else is a keyword in target languages| For(expr target, expr iter, stmt* body, stmt* orelse)| While(expr test, stmt* body, stmt* orelse)| If(expr test, stmt* body, stmt* orelse)| With(expr context_expr, expr? optional_vars, stmt* body)-- 'type' is a bad name| Raise(expr? type, expr? inst, expr? tback)| TryExcept(stmt* body, excepthandler* handlers, stmt* orelse)| TryFinally(stmt* body, stmt* finalbody)| Assert(expr test, expr? msg)| Import(alias* names)| ImportFrom(identifier module, alias* names, int? level)-- Doesn't capture requirement that locals must be-- defined if globals is-- still supports use as a function!| Exec(expr body, expr? globals, expr? locals)| Global(identifier* names)| Expr(expr value)| Pass | Break | Continue-- XXX Jython will be different-- col_offset is the byte offset in the utf8 string the parser usesattributes (int lineno, int col_offset)-- BoolOp() can use left & right?expr = BoolOp(boolop op, expr* values)| BinOp(expr left, operator op, expr right)| UnaryOp(unaryop op, expr operand)| Lambda(arguments args, expr body)| IfExp(expr test, expr body, expr orelse)| Dict(expr* keys, expr* values)| ListComp(expr elt, comprehension* generators)| GeneratorExp(expr elt, comprehension* generators)-- the grammar constrains where yield expressions can occur| Yield(expr? value)-- need sequences for compare to distinguish between-- x < 4 < 3 and (x < 4) < 3| Compare(expr left, cmpop* ops, expr* comparators)| Call(expr func, expr* args, keyword* keywords,expr? starargs, expr? kwargs)| Repr(expr value)| Num(object n) -- a number as a PyObject.| Str(string s) -- need to specify raw, unicode, etc?-- other literals? bools?-- the following expression can appear in assignment context| Attribute(expr value, identifier attr, expr_context ctx)| Subscript(expr value, slice slice, expr_context ctx)| Name(identifier id, expr_context ctx)| List(expr* elts, expr_context ctx)| Tuple(expr* elts, expr_context ctx)-- col_offset is the byte offset in the utf8 string the parser usesattributes (int lineno, int col_offset)expr_context = Load | Store | Del | AugLoad | AugStore | Paramslice = Ellipsis | Slice(expr? lower, expr? upper, expr? step)| ExtSlice(slice* dims)| Index(expr value)boolop = And | Oroperator = Add | Sub | Mult | Div | Mod | Pow | LShift| RShift | BitOr | BitXor | BitAnd | FloorDivunaryop = Invert | Not | UAdd | USubcmpop = Eq | NotEq | Lt | LtE | Gt | GtE | Is | IsNot | In | NotIncomprehension = (expr target, expr iter, expr* ifs)-- not sure what to call the first argument for raise and exceptexcepthandler = ExceptHandler(expr? type, expr? name, stmt* body)attributes (int lineno, int col_offset)arguments = (expr* args, identifier? vararg,identifier? kwarg, expr* defaults)-- keyword arguments supplied to callkeyword = (identifier arg, expr value)-- import name with optional 'as' alias.alias = (identifier name, identifier? asname)}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。