1 % LaTeXed from excellent doc-string.
2 \section{\module{codeop
} ---
5 \declaremodule{standard
}{codeop
}
6 \sectionauthor{Moshe Zadka
}{mzadka@geocities.com
}
7 \modulesynopsis{Compile (possibly incomplete) Python code.
}
9 The
\module{codeop
} module provides a function to compile Python code
10 with hints on whether it certainly complete, possible complete or
11 definitely incomplete. This is used by the
\refmodule{code
} module
12 and should not normally be used directly.
14 The
\module{codeop
} module defines the following function:
16 \begin{funcdesc
}{compile_command
}
17 {source
\optional{, filename
\optional{, symbol
}}}
19 Try to compile
\var{source
}, which should be a string of Python
20 code. Return a code object if
\var{source
} is valid
21 Python code. In that case, the filename attribute of the code object
22 will be
\var{filename
}, which defaults to
\code{'<input>'
}.
24 Return
\code{None
} if
\var{source
} is
\emph{not
} valid Python
25 code, but is a prefix of valid Python code.
27 Raise an exception if there is a problem with
\var{source
}:
29 \item \exception{SyntaxError
}
30 if there is invalid Python syntax.
31 \item \exception{OverflowError
}
32 if there is an invalid numeric constant.
35 The
\var{symbol
} argument means whether to compile it as a statement
36 (
\code{'single'
}, the default) or as an expression (
\code{'eval'
}).
39 It is possible (but not likely) that the parser stops parsing
40 with a successful outcome before reaching the end of the source;
41 in this case, trailing symbols may be ignored instead of causing an
42 error. For example, a backslash followed by two newlines may be
43 followed by arbitrary garbage. This will be fixed once the API
44 for the parser is better.