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

源码: Lib/token.py


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

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

token.tok_nameP

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

token.ISTERMINAL(x)P

对终端标记值返回 True

token.ISNONTERMINAL(x)P

对非终端标记值返回 True

token.ISEOF(x)P

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

标记常量是:

token.ENDMARKERP
token.NAMEP
token.NUMBERP
token.STRINGP
token.NEWLINEP
token.INDENTP
token.DEDENTP
token.LPARP

Token value for "(".

token.RPARP

Token value for ")".

token.LSQBP

Token value for "[".

token.RSQBP

Token value for "]".

token.COLONP

Token value for ":".

token.COMMAP

Token value for ",".

token.SEMIP

Token value for ";".

token.PLUSP

Token value for "+".

token.MINUSP

Token value for "-".

token.STARP

Token value for "*".

token.SLASHP

Token value for "/".

token.VBARP

Token value for "|".

token.AMPERP

Token value for "&".

token.LESSP

Token value for "<".

token.GREATERP

Token value for ">".

token.EQUALP

Token value for "=".

token.DOTP

Token value for ".".

token.PERCENTP

Token value for "%".

token.LBRACEP

Token value for "{".

token.RBRACEP

Token value for "}".

token.EQEQUALP

Token value for "==".

token.NOTEQUALP

Token value for "!=".

token.LESSEQUALP

Token value for "<=".

token.GREATEREQUALP

Token value for ">=".

token.TILDEP

Token value for "~".

token.CIRCUMFLEXP

Token value for "^".

token.LEFTSHIFTP

Token value for "<<".

token.RIGHTSHIFTP

Token value for ">>".

token.DOUBLESTARP

Token value for "**".

token.PLUSEQUALP

Token value for "+=".

token.MINEQUALP

Token value for "-=".

token.STAREQUALP

Token value for "*=".

token.SLASHEQUALP

Token value for "/=".

token.PERCENTEQUALP

Token value for "%=".

token.AMPEREQUALP

Token value for "&=".

token.VBAREQUALP

Token value for "|=".

token.CIRCUMFLEXEQUALP

Token value for "^=".

token.LEFTSHIFTEQUALP

Token value for "<<=".

token.RIGHTSHIFTEQUALP

Token value for ">>=".

token.DOUBLESTAREQUALP

Token value for "**=".

token.DOUBLESLASHP

Token value for "//".

token.DOUBLESLASHEQUALP

Token value for "//=".

token.ATP

Token value for "@".

token.ATEQUALP

Token value for "@=".

token.RARROWP

Token value for "->".

token.ELLIPSISP

Token value for "...".

token.COLONEQUALP

Token value for ":=".

token.OPP
token.AWAITP
token.ASYNCP
token.TYPE_IGNOREP
token.TYPE_COMMENTP
token.ERRORTOKENP
token.N_TOKENSP
token.NT_OFFSETP

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

token.COMMENTP

标记值用于表示注释。

token.NLP

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

token.ENCODINGP

指示用于将源字节解码为文本的编码的标记值。 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. 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).