# `token` --- Python 解析木で使われる定数

ソースコード: Lib/token.py

このモジュールは解析木の葉ノード(終端記号)の数値を表す定数を提供します。言語の文法のコンテキストにおける名前の定義については、 Python ディストリビューションのファイル file:Grammar/Tokens を参照してください。名前がマップする特定の数値は Python のバージョン間で変わります。

このモジュールは、数値コードから名前へのマッピングと、いくつかの関数も提供しています。関数は Python の C ヘッダファイルの定義を反映します。

token.tok_name

  ディクショナリはこのモジュールで定義されている定数の数値を名前の文字列へマップし、より人が読みやすいように解析木を表現します。

token.ISTERMINAL(x)

  終端トークンの値に対して `True` を返します。

token.ISNONTERMINAL(x)

  非終端トークンの値に対して `True` を返します。

token.ISEOF(x)

  x が入力の終わりを示すマーカーならば、 `True` を返します。

token の定数一覧:

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.EXCLAMATION

  Token value for `"!"`.

token.OP

token.AWAIT

token.ASYNC

token.TYPE_IGNORE

token.TYPE_COMMENT

token.SOFT_KEYWORD

token.FSTRING_START

token.FSTRING_MIDDLE

token.FSTRING_END

token.COMMENT

token.NL

token.ERRORTOKEN

token.N_TOKENS

token.NT_OFFSET

The following token type values aren't used by the C tokenizer but are needed for the `tokenize` module.

token.COMMENT

  Token value used to indicate a comment.

token.NL

  Token value used to indicate a non-terminating newline. The `NEWLINE` token indicates the end of a logical line of Python code; `NL` tokens are generated when a logical line of code is continued over multiple physical lines.

token.ENCODING

  ソースの bytes をテキストにデコードするために使われるエンコーディングを示すトークン値。`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`.

token.EXACT_TOKEN_TYPES

  A dictionary mapping the string representation of a token to its numeric code.

  Added in version 3.8.

バージョン 3.5 で変更: Added `AWAIT` and `ASYNC` tokens.

バージョン 3.7 で変更: `COMMENT` 、`NL`、`ENCODING` トークンが追加されました。

バージョン 3.7 で変更: Removed `AWAIT` and `ASYNC` tokens. "async" and "await" are now tokenized as `NAME` tokens.

バージョン 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).