\documentclass{manual}

\title{Python Reference Manual}

\input{boilerplate}

\makeindex

\begin{document}

\maketitle

\ifhtml
\chapter*{Front Matter\label{front}}
\fi

\input{copyright}

\begin{abstract}

\noindent
Python is an interpreted, object-oriented, high-level programming
language with dynamic semantics.  Its high-level built in data
structures, combined with dynamic typing and dynamic binding, make it
very attractive for rapid application development, as well as for use
as a scripting or glue language to connect existing components
together.  Python's simple, easy to learn syntax emphasizes
readability and therefore reduces the cost of program
maintenance.  Python supports modules and packages, which encourages
program modularity and code reuse.  The Python interpreter and the
extensive standard library are available in source or binary form
without charge for all major platforms, and can be freely distributed.

This reference manual describes the syntax and ``core semantics'' of
the language.  It is terse, but attempts to be exact and complete.
The semantics of non-essential built-in object types and of the
built-in functions and modules are described in the
\citetitle[../lib/lib.html]{Python Library Reference}.  For an
informal introduction to the language, see the
\citetitle[../tut/tut.html]{Python Tutorial}.  For C or
\Cpp{} programmers, two additional manuals exist:
\citetitle[../ext/ext.html]{Extending and Embedding the Python
Interpreter} describes the high-level picture of how to write a Python
extension module, and the \citetitle[../api/api.html]{Python/C API
Reference Manual} describes the interfaces available to
C/\Cpp{} programmers in detail.

\end{abstract}

\tableofcontents

\input{ref1}		% Introduction
\input{ref2}		% Lexical analysis
\input{ref3}		% Data model
\input{ref4}		% Execution model
\input{ref5}		% Expressions and conditions
\input{ref6}		% Simple statements
\input{ref7}		% Compound statements
\input{ref8}		% Top-level components

\appendix

\chapter{History and License}
\input{license}

\input{ref.ind}

\end{document}
