# `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 の定数一覧:

`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`

  ソースの 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`.

バージョン 3.5 で変更: `AWAIT` と `ASYNC` トークンが追加されました。

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

バージョン 3.7 で変更: `AWAIT` と `ASYNC` トークンが削除されました。"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).