token --- Python 解析木で使われる定数¶
ソースコード: Lib/token.py
このモジュールは解析木の葉ノード(終端記号)の数値を表す定数を提供します。言語の文法のコンテキストにおける名前の定義については、 Python ディストリビューションのファイル Grammar/Tokens を参照してください。名前がマップする特定の数値は Python のバージョン間で変わります。
このモジュールは、数値コードから名前へのマッピングと、いくつかの関数も提供しています。関数は Python の C ヘッダファイルの定義を反映します。
Note that a token's value may depend on tokenizer options. For example, a
"+" token may be reported as either PLUS or OP, or
a "match" token may be either NAME or SOFT_KEYWORD.
- token.tok_name¶
ディクショナリはこのモジュールで定義されている定数の数値を名前の文字列へマップし、より人が読みやすいように解析木を表現します。
- token.ISTERMINAL(x)¶
終端トークンの値に対して
Trueを返します。
- token.ISNONTERMINAL(x)¶
非終端トークンの値に対して
Trueを返します。
- token.ISEOF(x)¶
x が入力の終わりを示すマーカーならば、
Trueを返します。
token の定数一覧:
- token.NAME¶
識別子またはキーワード を示すトークン値です。
- token.STRING¶
Token value that indicates a string or byte literal, excluding formatted string literals. The token string is not interpreted: it includes the surrounding quotation marks and the prefix (if given); backslashes are included literally, without processing escape sequences.
- token.COMMENT¶
コメントを示すトークン値です。 パーサーは
COMMENTトークンを無視します。
- token.NL¶
論理行を終わらせない改行を示すトークン値です。 コードの 1 論理行が複数の物理行に続く場合に
NLトークンが生成されます。 パーサーはNLトークンを無視します。
- token.INDENT¶
論理行 の先頭で、インデントされたブロック の開始を示すトークン値です。
- token.DEDENT¶
論理行 の先頭で、インデントされたブロック の終了を示すトークン値です。
- token.FSTRING_MIDDLE¶
書式指定を含む、f 文字列リテラル 内のリテラル部分に使うトークン値です。
置換フィールド (f 文字列のリテラルでない部分) は、ほかの式と同じトークンを使い、
LBRACE、RBRACE、EXCLAMATION、COLONトークンで区切られます。
- token.TSTRING_START¶
テンプレート文字列リテラルの開始を示すトークン値です。
トークン文字列は接頭辞と開始の引用符を含みますが、リテラルの内容は含みません。
Added in version 3.14.
- token.TSTRING_MIDDLE¶
書式指定を含む、テンプレート文字列リテラル内のリテラル部分に使うトークン値です。
置換フィールド (t 文字列のリテラルでない部分) は、ほかの式と同じトークンを使い、
LBRACE、RBRACE、EXCLAMATION、COLONトークンで区切られます。Added in version 3.14.
- token.TSTRING_END¶
テンプレート文字列リテラルの終了を示すトークン値です。
トークン文字列は終了の引用符を含みます。
Added in version 3.14.
- token.ENCODING¶
ソースの bytes をテキストにデコードするために使われるエンコーディングを示すトークン値。
tokenize.tokenize()は常に最初に ENCODING トークンを返します。このトークン型は C のトークナイザでは使いませんが、
tokenizeモジュールに必要です。
次のトークン型は tokenize モジュールでは生成されず、トークナイザやパーサーでの特別な用途のために定義されています:
- token.TYPE_IGNORE¶
type: ignoreコメントを認識したことを示すトークン値です。PyCF_TYPE_COMMENTSフラグが有効な場合にだけ、通常のCOMMENTトークンの代わりに生成されます。
- token.TYPE_COMMENT¶
型コメントを認識したことを示すトークン値です。
PyCF_TYPE_COMMENTSフラグが有効な場合にだけ、通常のCOMMENTトークンの代わりに生成されます。
- token.SOFT_KEYWORD¶
ソフトキーワード を示すトークン値です。
トークナイザはこの値を生成しません。 ソフトキーワードかどうかを調べるには、
NAMEトークンの文字列をkeyword.issoftkeyword()に渡してください。
- token.ERRORTOKEN¶
不正な入力を示すトークン値です。
tokenizeモジュールは通常、このトークンを生成する代わりに例外を送出してエラーを示します。 また、後でパーサーに拒否される文字列を持つOPやNAMEなどのトークンを生成することもあります。
残りのトークンは、個々の 演算子 や 区切り文字 を表します。
tokenize モジュールでは、これらを OP として報告します。
詳しくは tokenize のドキュメントの exact_type を参照してください。
トークン |
値 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
トークン以外に、次の定数を提供します:
- token.N_TOKENS¶
このモジュールで定義しているトークン型の数です。
- token.EXACT_TOKEN_TYPES¶
トークンの文字列表現を数値コードに対応付ける辞書です。
Added in version 3.8.
バージョン 3.5 で変更: AWAIT トークンと ASYNC トークンが追加されました。
バージョン 3.7 で変更: AWAIT トークンと ASYNC トークンが削除されました。
"async" と "await" は NAME トークンとして扱われるようになりました。
バージョン 3.8 で変更: TYPE_COMMENT、TYPE_IGNORE、COLONEQUAL が追加されました。
AWAIT と ASYNC のトークンも再び追加されました (ast.parse() で feature_version を 6 以下に設定し、古い Python バージョンの構文を解析するために必要です)。
バージョン 3.12 で変更: EXCLAMATION が追加されました。
バージョン 3.13 で変更: AWAIT トークンと ASYNC トークンが再び削除されました。