#
19 Python コンパイラパッケージ

Python compiler パッケージは Python のソースコードを分析したり Python バイトコードを生成するためのツールです。compiler は Python のソースコードから抽象的な構文木を生成し、その構文木から Python バイトコードを生成するライブラリをそなえています。

`compiler` パッケージは、Python で書かれた Python ソースコードからバイトコードへの変換プログラムです。 これは組み込みの構文解析器をつかい、そこで得られた 具体的な構文木に対して標準的な `parser` モジュールを使用します。 この構文木から抽象構文木 AST (Abstract Syntax Tree) が生成され、 その後 Python バイトコードが得られます。

このパッケージの機能は、Python インタプリタに内蔵されている 組み込みのコンパイラがすべて含んでいるものです。これはその機能と 正確に同じものになるよう意図してつくられています。なぜ同じことをする コンパイラをもうひとつ作る必要があるのでしょうか? このパッケージは いろいろな目的に使うことができるからです。これは組み込みのコンパイラよりも 簡単に変更できますし、これが生成する AST は Python ソースコードを 解析するのに有用です。

この章では `compiler` パッケージのいろいろなコンポーネントが どのように動作するのかを説明します。そのため説明はリファレンスマニュアル的なものと、 チュートリアル的な要素がまざったものになっています。

以下のモジュールは `compiler` パッケージの一部です:

`compiler` |  |
`compiler.ast` |  |
`compiler.visitor` |  |