\chapter{Top-level components}

The Python interpreter can get its input from a number of sources:
from a script passed to it as standard input or as program argument,
typed in interactively, from a module source file, etc.  This chapter
gives the syntax used in these cases.
\index{interpreter}

\section{Complete Python programs}
\index{program}

While a language specification need not prescribe how the language
interpreter is invoked, it is useful to have a notion of a complete
Python program.  A complete Python program is executed in a minimally
initialized environment: all built-in and standard modules are
available, but none have been initialized, except for \verb\sys\
(various system services), \verb\builtin\ (built-in functions,
exceptions and \verb\None\) and \verb\__main__\.  The latter is used
to provide the local and global name space for execution of the
complete program.
\bimodindex{sys}
\bimodindex{__main__}
\bimodindex{builtin}

The syntax for a complete Python program is that for file input,
described in the next section.

The interpreter may also be invoked in interactive mode; in this case,
it does not read and execute a complete program but reads and executes
one statement (possibly compound) at a time.  The initial environment
is identical to that of a complete program; each statement is executed
in the name space of \verb\__main__\.
\index{interactive mode}

Under {\UNIX}, a complete program can be passed to the interpreter in
three forms: with the {\bf -c} {\it string} command line option, as a
file passed as the first command line argument, or as standard input.
If the file or standard input is a tty device, the interpreter enters
interactive mode; otherwise, it executes the file as a complete
program.
\index{UNIX}
\index{command line}
\index{standard input}

\section{File input}

All input read from non-interactive files has the same form:

\begin{verbatim}
file_input:     (NEWLINE | statement)*
\end{verbatim}

This syntax is used in the following situations:

\begin{itemize}

\item when parsing a complete Python program (from a file or from a string);

\item when parsing a module;

\item when parsing a string passed to \verb\exec()\;
\bifuncindex{exec}

\item when parsing a file passed to \verb\execfile()\;
\bifuncindex{execfile}

\end{itemize}

\section{Interactive input}

Input in interactive mode is parsed using the following grammar:

\begin{verbatim}
interactive_input: [stmt_list] NEWLINE | compound_stmt NEWLINE
\end{verbatim}

Note that a (top-level) compound statement must be followed by a blank
line in interactive mode; this is needed to help the parser detect the
end of the input.

\section{Expression input}
\index{input}

There are two forms of expression input.  Both ignore leading
whitespace.
 
The string argument to \verb\eval()\ must have the following form:
\bifuncindex{eval}

\begin{verbatim}
eval_input:     condition_list NEWLINE*
\end{verbatim}

The input line read by \verb\input()\ must have the following form:
\bifuncindex{input}

\begin{verbatim}
input_input:    condition_list NEWLINE
\end{verbatim}

Note: to read `raw' input line without interpretation, you can use the
built-in function \verb\raw_input()\  or the \verb\readline()\ method
of file objects.
\obindex{file}
\index{input!raw}
\index{raw input}
\bifuncindex{raw_index}
\ttindex{readline}
