<!DOCTYPE html PUBLIC
"-//W3C//DTD HTML 4.0 Transitional//EN">
<link rel=
"STYLESHEET" href=
"lib.css" type='text/css'
/>
<link rel=
"SHORTCUT ICON" href=
"../icons/pyfav.png" type=
"image/png" />
<link rel='start' href='../index.html' title='Python Documentation Index'
/>
<link rel=
"first" href=
"lib.html" title='Python Library Reference'
/>
<link rel='contents' href='contents.html'
title=
"Contents" />
<link rel='index' href='genindex.html' title='Index'
/>
<link rel='last' href='about.html' title='About this document...'
/>
<link rel='help' href='about.html' title='About this document...'
/>
<link rel=
"next" href=
"node791.html" />
<link rel=
"prev" href=
"compiler.html" />
<link rel=
"parent" href=
"compiler.html" />
<link rel=
"next" href=
"node791.html" />
<meta name='aesop' content='information'
/>
<title>19.1 The basic interface
</title>
<div id='top-navigation-panel' xml:id='top-navigation-panel'
>
<table align=
"center" width=
"100%" cellpadding=
"0" cellspacing=
"2">
<td class='online-navigation'
><a rel=
"prev" title=
"19. Python compiler package"
href=
"compiler.html"><img src='../icons/previous.png'
border='
0' height='
32' alt='Previous Page' width='
32'
/></A></td>
<td class='online-navigation'
><a rel=
"parent" title=
"19. Python compiler package"
href=
"compiler.html"><img src='../icons/up.png'
border='
0' height='
32' alt='Up One Level' width='
32'
/></A></td>
<td class='online-navigation'
><a rel=
"next" title=
"19.2 Limitations"
href=
"node791.html"><img src='../icons/next.png'
border='
0' height='
32' alt='Next Page' width='
32'
/></A></td>
<td align=
"center" width=
"100%">Python Library Reference
</td>
<td class='online-navigation'
><a rel=
"contents" title=
"Table of Contents"
href=
"contents.html"><img src='../icons/contents.png'
border='
0' height='
32' alt='Contents' width='
32'
/></A></td>
<td class='online-navigation'
><a href=
"modindex.html" title=
"Module Index"><img src='../icons/modules.png'
border='
0' height='
32' alt='Module Index' width='
32'
/></a></td>
<td class='online-navigation'
><a rel=
"index" title=
"Index"
href=
"genindex.html"><img src='../icons/index.png'
border='
0' height='
32' alt='Index' width='
32'
/></A></td>
<div class='online-navigation'
>
<b class=
"navlabel">Previous:
</b>
<a class=
"sectref" rel=
"prev" href=
"compiler.html">19. Python compiler package
</A>
<b class=
"navlabel">Up:
</b>
<a class=
"sectref" rel=
"parent" href=
"compiler.html">19. Python compiler package
</A>
<b class=
"navlabel">Next:
</b>
<a class=
"sectref" rel=
"next" href=
"node791.html">19.2 Limitations
</A>
<!--End of Navigation Panel-->
<H1><A NAME=
"SECTION0021100000000000000000">
19.1 The basic interface
</A>
<A NAME=
"module-compiler"></A>
The top-level of the package defines four functions. If you import
<tt class=
"module">compiler
</tt>, you will get these functions and a collection of
modules contained in the package.
<dl><dt><table cellpadding=
"0" cellspacing=
"0"><tr valign=
"baseline">
<td><nobr><b><tt id='l2h-
5020' xml:id='l2h-
5020'
class=
"function">parse
</tt></b>(
</nobr></td>
<td><var>buf
</var>)
</td></tr></table></dt>
Returns an abstract syntax tree for the Python source code in
<var>buf
</var>.
The function raises SyntaxError if there is an error in the source
code. The return value is a
<tt class=
"class">compiler.ast.Module
</tt> instance that
<dl><dt><table cellpadding=
"0" cellspacing=
"0"><tr valign=
"baseline">
<td><nobr><b><tt id='l2h-
5021' xml:id='l2h-
5021'
class=
"function">parseFile
</tt></b>(
</nobr></td>
<td><var>path
</var>)
</td></tr></table></dt>
Return an abstract syntax tree for the Python source code in the file
specified by
<var>path
</var>. It is equivalent to
<code>parse(open(
<var>path
</var>).read())
</code>.
<dl><dt><table cellpadding=
"0" cellspacing=
"0"><tr valign=
"baseline">
<td><nobr><b><tt id='l2h-
5022' xml:id='l2h-
5022'
class=
"function">walk
</tt></b>(
</nobr></td>
<td><var>ast, visitor
</var><big>[
</big><var>, verbose
</var><big>]
</big><var></var>)
</td></tr></table></dt>
Do a pre-order walk over the abstract syntax tree
<var>ast
</var>. Call the
appropriate method on the
<var>visitor
</var> instance for each node
<dl><dt><table cellpadding=
"0" cellspacing=
"0"><tr valign=
"baseline">
<td><nobr><b><tt id='l2h-
5023' xml:id='l2h-
5023'
class=
"function">compile
</tt></b>(
</nobr></td>
<td><var>source, filename, mode, flags=None,
dont_inherit=None
</var>)
</td></tr></table></dt>
Compile the string
<var>source
</var>, a Python module, statement or
expression, into a code object that can be executed by the exec
statement or
<tt class=
"function">eval()
</tt>. This function is a replacement for the
built-in
<tt class=
"function">compile()
</tt> function.
The
<var>filename
</var> will be used for run-time error messages.
The
<var>mode
</var> must be 'exec' to compile a module, 'single' to compile a
single (interactive) statement, or 'eval' to compile an expression.
The
<var>flags
</var> and
<var>dont_inherit
</var> arguments affect future-related
statements, but are not supported yet.
<dl><dt><table cellpadding=
"0" cellspacing=
"0"><tr valign=
"baseline">
<td><nobr><b><tt id='l2h-
5024' xml:id='l2h-
5024'
class=
"function">compileFile
</tt></b>(
</nobr></td>
<td><var>source
</var>)
</td></tr></table></dt>
Compiles the file
<var>source
</var> and generates a .pyc file.
The
<tt class=
"module">compiler
</tt> package contains the following modules:
<tt class=
"module"><a href=
"module-compiler.ast.html">ast
</a></tt>,
<tt class=
"module">consts
</tt>,
<tt class=
"module">future
</tt>,
<tt class=
"module">misc
</tt>,
<tt class=
"module">pyassem
</tt>,
<tt class=
"module">pycodegen
</tt>,
<tt class=
"module">symbols
</tt>,
<tt class=
"module">transformer
</tt>, and
<tt class=
"module"><a href=
"module-compiler.visitor.html">visitor
</a></tt>.
<div class='online-navigation'
>
<table align=
"center" width=
"100%" cellpadding=
"0" cellspacing=
"2">
<td class='online-navigation'
><a rel=
"prev" title=
"19. Python compiler package"
href=
"compiler.html"><img src='../icons/previous.png'
border='
0' height='
32' alt='Previous Page' width='
32'
/></A></td>
<td class='online-navigation'
><a rel=
"parent" title=
"19. Python compiler package"
href=
"compiler.html"><img src='../icons/up.png'
border='
0' height='
32' alt='Up One Level' width='
32'
/></A></td>
<td class='online-navigation'
><a rel=
"next" title=
"19.2 Limitations"
href=
"node791.html"><img src='../icons/next.png'
border='
0' height='
32' alt='Next Page' width='
32'
/></A></td>
<td align=
"center" width=
"100%">Python Library Reference
</td>
<td class='online-navigation'
><a rel=
"contents" title=
"Table of Contents"
href=
"contents.html"><img src='../icons/contents.png'
border='
0' height='
32' alt='Contents' width='
32'
/></A></td>
<td class='online-navigation'
><a href=
"modindex.html" title=
"Module Index"><img src='../icons/modules.png'
border='
0' height='
32' alt='Module Index' width='
32'
/></a></td>
<td class='online-navigation'
><a rel=
"index" title=
"Index"
href=
"genindex.html"><img src='../icons/index.png'
border='
0' height='
32' alt='Index' width='
32'
/></A></td>
<div class='online-navigation'
>
<b class=
"navlabel">Previous:
</b>
<a class=
"sectref" rel=
"prev" href=
"compiler.html">19. Python compiler package
</A>
<b class=
"navlabel">Up:
</b>
<a class=
"sectref" rel=
"parent" href=
"compiler.html">19. Python compiler package
</A>
<b class=
"navlabel">Next:
</b>
<a class=
"sectref" rel=
"next" href=
"node791.html">19.2 Limitations
</A>
<span class=
"release-info">Release
2.4.2, documentation updated on
28 September
2005.
</span>
<!--End of Navigation Panel-->
See
<i><a href=
"about.html">About this document...
</a></i> for information on suggesting changes.