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

源码:Lib/token.py


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

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

  • token.tok_name
  • 将此模块中定义的常量的数值映射回名称字符串的字典,允许生成更加人类可读的解析树表示。
  • token.ISTERMINAL(x)
  • Return True for terminal token values.
  • token.ISNONTERMINAL(x)
  • Return True for non-terminal token values.
  • token.ISEOF(x)
  • Return True if x is the marker indicating the end of input.

标记常量是:

  • token.ENDMARKER
  • token.NAME
  • token.NUMBER
  • token.STRING
  • token.NEWLINE
  • token.INDENT
  • token.DEDENT
  • token.LPAR
  • token.RPAR
  • token.LSQB
  • token.RSQB
  • token.COLON
  • token.COMMA
  • token.SEMI
  • token.PLUS
  • token.MINUS
  • token.STAR
  • token.SLASH
  • token.VBAR
  • token.AMPER
  • token.LESS
  • token.GREATER
  • token.EQUAL
  • token.DOT
  • token.PERCENT
  • token.LBRACE
  • token.RBRACE
  • token.EQEQUAL
  • token.NOTEQUAL
  • token.LESSEQUAL
  • token.GREATEREQUAL
  • token.TILDE
  • token.CIRCUMFLEX
  • token.LEFTSHIFT
  • token.RIGHTSHIFT
  • token.DOUBLESTAR
  • token.PLUSEQUAL
  • token.MINEQUAL
  • token.STAREQUAL
  • token.SLASHEQUAL
  • token.PERCENTEQUAL
  • token.AMPEREQUAL
  • token.VBAREQUAL
  • token.CIRCUMFLEXEQUAL
  • token.LEFTSHIFTEQUAL
  • token.RIGHTSHIFTEQUAL
  • token.DOUBLESTAREQUAL
  • token.DOUBLESLASH
  • token.DOUBLESLASHEQUAL
  • token.AT
  • token.ATEQUAL
  • token.RARROW
  • token.ELLIPSIS
  • token.OP
  • token.ERRORTOKEN
  • token.N_TOKENS
  • token.NT_OFFSET

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

  • token.COMMENT
  • 标记值用于表示注释。
  • token.NL
  • 标记值用于表示非终止换行符。 NEWLINE 标记表示 Python 代码逻辑行的结束;当在多条物理线路上继续执行逻辑代码行时,会生成 NL 标记。
  • token.ENCODING
  • 指示用于将源字节解码为文本的编码的标记值。 tokenize.tokenize() 返回的第一个标记将始终是一个 ENCODING 标记。

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

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

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