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.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 標記。