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

以下のトークン値は、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).