• token —- 与Python解析树一起使用的常量

    token —- 与Python解析树一起使用的常量

    源码: Lib/token.py


    此模块提供表示解析树(终端令牌)的叶节点的数值的常量。 请参阅 Python 发行版中的文件 Grammar/Grammar ,以获取语言语法上下文中名称的定义。 名称映射到的特定数值可能会在 Python 版本之间更改。

    该模块还提供从数字代码到名称和一些函数的映射。 这些函数镜像了 Python C 头文件中的定义。

    token.tok_name

    将此模块中定义的常量的数值映射回名称字符串的字典,允许生成更加人类可读的解析树表示。

    token.ISTERMINAL(x)

    对终端标记值返回 True

    token.ISNONTERMINAL(x)

    对非终端标记值返回 True

    token.ISEOF(x)

    如果 x 是表示输入结束的标记则返回 True

    标记常量是:

    token.ENDMARKER

    token.NAME

    token.NUMBER

    token.STRING

    token.NEWLINE

    token.INDENT

    token.DEDENT

    token.LPAR

    Token value for "(".

    token.RPAR

    Token value for ")".

    token.LSQB

    Token value for "[".

    token.RSQB

    Token value for "]".

    token.COLON

    Token value for ":".

    token.COMMA

    Token value for ",".

    token.SEMI

    Token value for ";".

    token.PLUS

    Token value for "+".

    token.MINUS

    Token value for "-".

    token.STAR

    Token value for "*".

    token.SLASH

    Token value for "/".

    token.VBAR

    Token value for "|".

    token.AMPER

    Token value for "&".

    token.LESS

    Token value for "<".

    token.GREATER

    Token value for ">".

    token.EQUAL

    Token value for "=".

    token.DOT

    Token value for ".".

    token.PERCENT

    Token value for "%".

    token.LBRACE

    Token value for "{".

    token.RBRACE

    Token value for "}".

    token.EQEQUAL

    Token value for "==".

    token.NOTEQUAL

    Token value for "!=".

    token.LESSEQUAL

    Token value for "<=".

    token.GREATEREQUAL

    Token value for ">=".

    token.TILDE

    Token value for "~".

    token.CIRCUMFLEX

    Token value for "^".

    token.LEFTSHIFT

    Token value for "<<".

    token.RIGHTSHIFT

    Token value for ">>".

    token.DOUBLESTAR

    Token value for "**".

    token.PLUSEQUAL

    Token value for "+=".

    token.MINEQUAL

    Token value for "-=".

    token.STAREQUAL

    Token value for "*=".

    token.SLASHEQUAL

    Token value for "/=".

    token.PERCENTEQUAL

    Token value for "%=".

    token.AMPEREQUAL

    Token value for "&=".

    token.VBAREQUAL

    Token value for "|=".

    token.CIRCUMFLEXEQUAL

    Token value for "^=".

    token.LEFTSHIFTEQUAL

    Token value for "<<=".

    token.RIGHTSHIFTEQUAL

    Token value for ">>=".

    token.DOUBLESTAREQUAL

    Token value for "**=".

    token.DOUBLESLASH

    Token value for "//".

    token.DOUBLESLASHEQUAL

    Token value for "//=".

    token.AT

    Token value for "@".

    token.ATEQUAL

    Token value for "@=".

    token.RARROW

    Token value for "->".

    token.ELLIPSIS

    Token value for "...".

    token.COLONEQUAL

    Token value for ":=".

    token.OP

    token.AWAIT

    token.ASYNC

    token.TYPE_IGNORE

    token.TYPE_COMMENT

    token.ERRORTOKEN

    token.N_TOKENS

    token.NT_OFFSET

    C 标记生成器不使用以下标记类型值,但 tokenize 模块需要这些标记类型值。

    token.COMMENT

    标记值用于表示注释。

    token.NL

    标记值用于表示非终止换行符。 NEWLINE 标记表示 Python 代码逻辑行的结束;当在多条物理线路上继续执行逻辑代码行时,会生成 NL 标记。

    token.ENCODING

    指示用于将源字节解码为文本的编码的标记值。 tokenize.tokenize() 返回的第一个标记将始终是一个 ENCODING 标记。

    token.TYPE_COMMENT

    Token value indicating that a type comment was recognized. Such tokens are only produced when ast.parse() is invoked with type_comments=True.

    在 3.5 版更改: 补充 AWAITASYNC 标记。

    在 3.7 版更改: 补充 COMMENTNLENCODING 标记。

    在 3.7 版更改: 移除 AWAITASYNC 标记。 “async” 和 “await” 现在被标记为 NAME 标记。

    在 3.8 版更改: Added TYPE_COMMENT, TYPE_IGNORE, COLONEQUAL. Added AWAIT and ASYNC tokens back (they’re needed to support parsing older Python versions for ast.parse() with feature_version set to 6 or lower).