tokenizeモジュールでは、Python で実装された Python ソースコードの字句解析器を提供します。さらに、このモジュールの 字句解析器はコメントもトークンとして返します。このため、この モジュールはスクリーン上で表示する際の色付け機能 (colorizers) を含む ``清書出力器 (pretty-printer)'' を実装する上で便利です。
第一のエントリポイントはジェネレータです:
readline) |
ジェネレータは 5 要素のタプルを返し、タプルは以下のメンバ:
トークン型; トークン文字列; ソースコード中でトークンが始まる行と列を示す
整数の2要素のタプル(srow, scol)
; ソースコード中で
トークンが終わる行と列を示す整数の2要素のタプル
(srow, scol)
; そして、トークンが見つかった行、から
なります。渡される行は論理行です; 連続する行は一行に含められ
ます。
バージョン 2.2 で 新たに追加 された仕様です。
後方互換性のために古いエントリポイントが残されています:
readline[, tokeneater]) |
最初のパラメータ、readline は、組み込みファイルオブジェクト のreadline()メソッドと同じインタフェイスを提供する呼び出し 可能オブジェクトでなければなりません ( 2.3.9 節を参照)。 この関数は呼び出しのたびに入力内の一行を文字列で返さなければ なりません。
二番目のパラメータtokeneaterも呼び出し可能オブジェクトで なければなりません。この関数は各トークンに対して一度だけ呼び出され、 generate_tokens() が生成するタプルに対応する 5 つの引数 をとります。
token モジュールの全ての定数はtokenize でも 公開されており、これに加え、以下の二つのトークン値が tokenize() の tokeneater 関数に渡される可能性があります: