# 19.1 基本的なインターフェイス

このパッケージのトップレベルでは 4つの関数が定義されています。 `compiler` モジュールを import すると、これらの関数および このパッケージに含まれている一連のモジュールが使用可能になります。

`parse`( | buf)

  buf 中の Python ソースコードから得られた抽象構文木 AST を返します。 ソースコード中にエラーがある場合、この関数は SyntaxError を発生させます。 返り値は `compiler.ast.Module` インスタンスであり、 この中に構文木が格納されています。

`parseFile`( | path)

  path で指定されたファイル中の Python ソースコードから得られた 抽象構文木 AST を返します。これは `parse(open(path).read())` と等価な働きをします。

`walk`( | ast, visitor[, verbose])

  ast に格納された抽象構文木の各ノードを先行順序 (pre-order) で たどっていきます。各ノードごとに visitor インスタンスの 該当するメソッドが呼ばれます。

`compile`( | source, filename, mode, flags=None, dont_inherit=None)

  文字列 source、Python モジュール、文あるいは式を exec 文あるいは `eval()` 関数で実行可能なバイトコードオブジェクトに コンパイルします。この関数は組み込みの `compile()` 関数を 置き換えるものです。

  filename は実行時のエラーメッセージに使用されます。

  mode は、モジュールをコンパイルする場合は 'exec'、 (対話的に実行される) 単一の文をコンパイルする場合は 'single'、 式をコンパイルする場合には 'eval' を渡します。

  引数 flags および dont_inherit は将来的に使用される文に 影響しますが、いまのところはサポートされていません。

`compileFile`( | source)

  ファイル source をコンパイルし、.pyc ファイルを生成します。

`compiler` パッケージは以下のモジュールを含んでいます: `ast`、 `consts`,、 `future`、 `misc`、 `pyassem`、 `pycodegen`、 `symbols`、 `transformer`、 そして `visitor`。