diff options
-rw-r--r-- | Doc/Makefile | 2 | ||||
-rw-r--r-- | Doc/lib.tex | 1 | ||||
-rw-r--r-- | Doc/lib/lib.tex | 1 | ||||
-rw-r--r-- | Doc/lib/libcode.tex | 35 | ||||
-rw-r--r-- | Doc/lib/libundoc.tex | 6 | ||||
-rw-r--r-- | Doc/libcode.tex | 35 | ||||
-rw-r--r-- | Doc/libundoc.tex | 6 |
7 files changed, 81 insertions, 5 deletions
diff --git a/Doc/Makefile b/Doc/Makefile index 1d68234..867148f 100644 --- a/Doc/Makefile +++ b/Doc/Makefile @@ -112,7 +112,7 @@ LIBFILES = lib.tex \ libuser.tex libanydbm.tex librandom.tex libsite.tex libwhichdb.tex \ libbase64.tex libfnmatch.tex libquopri.tex libzlib.tex libsocksvr.tex \ libmailbox.tex libcommands.tex libcmath.tex libni.tex libgzip.tex \ - libpprint.tex + libpprint.tex libcode.tex # Library document lib.dvi: $(LIBFILES) diff --git a/Doc/lib.tex b/Doc/lib.tex index 391c241..2c7d6d0 100644 --- a/Doc/lib.tex +++ b/Doc/lib.tex @@ -88,6 +88,7 @@ to Python and how to embed it in other applications. \input{libni} \input{libparser} \input{libpprint} +\input{libcode} \input{libsite} \input{libbltin} % really __builtin__ \input{libmain} % really __main__ diff --git a/Doc/lib/lib.tex b/Doc/lib/lib.tex index 391c241..2c7d6d0 100644 --- a/Doc/lib/lib.tex +++ b/Doc/lib/lib.tex @@ -88,6 +88,7 @@ to Python and how to embed it in other applications. \input{libni} \input{libparser} \input{libpprint} +\input{libcode} \input{libsite} \input{libbltin} % really __builtin__ \input{libmain} % really __main__ diff --git a/Doc/lib/libcode.tex b/Doc/lib/libcode.tex new file mode 100644 index 0000000..5fa9717 --- /dev/null +++ b/Doc/lib/libcode.tex @@ -0,0 +1,35 @@ +% Template for a library manual section. + +\section{Standard module \sectcode{code}} +\label{module-code} +\stmodindex{code} + +The \code{code} module defines operations pertaining to Python code +objects. + +The \code{code} module defines the following functions: + +\renewcommand{\indexsubitem}{(in module code)} + +\begin{funcdesc}{compile_command}{source\, +\optional{filename\optional{\, symbol}}} +This function is useful for programs that want to emulate Python's +interpreter main loop (a.k.a. the read-eval-print loop). The tricky +part is to determine when the user has entered an incomplete command +that can be completed by entering more text (as opposed to a complete +command or a syntax error). This function \emph{almost} always makes +the same decision as the real interpreter main loop. + +Arguments: \var{source} is the source string; \var{filename} is the +optional filename from which source was read, defaulting to +\code{"<input>"}; and \var{symbol} is the optional grammar start +symbol, which should be either \code{"single"} (the default) or +\code{"eval"}. + +Return a code object (the same as \code{compile(\var{source}, +\var{filename}, \var{symbol})}) if the command is complete and valid; +return \code{None} if the command is incomplete; raise +\code{SyntaxError} if the command is a syntax error. + + +\end{funcdesc} diff --git a/Doc/lib/libundoc.tex b/Doc/lib/libundoc.tex index 08e62fb..55f30a9 100644 --- a/Doc/lib/libundoc.tex +++ b/Doc/lib/libundoc.tex @@ -105,8 +105,6 @@ compileall.py -- force "compilation" of all .py files in a directory py_compile.py -- "compile" a .py file to a .pyc file -codehack.py -- extract a function name from a code object - dis.py -- Disassembler for Python bytecode objects repr.py -- Redo the `...` (representation) but with limits on most @@ -183,6 +181,10 @@ fcntl.lockf/flock intead) tb.py -- Print tracebacks, with a dump of local variables (use pdb.pm() or traceback.py instead) +codehack.py -- extract function name or line number from a function +code object (these are now accessible as attributes: co.co_name, +func.func_name, co.co_firstlineno) + \section{Extension modules} diff --git a/Doc/libcode.tex b/Doc/libcode.tex new file mode 100644 index 0000000..5fa9717 --- /dev/null +++ b/Doc/libcode.tex @@ -0,0 +1,35 @@ +% Template for a library manual section. + +\section{Standard module \sectcode{code}} +\label{module-code} +\stmodindex{code} + +The \code{code} module defines operations pertaining to Python code +objects. + +The \code{code} module defines the following functions: + +\renewcommand{\indexsubitem}{(in module code)} + +\begin{funcdesc}{compile_command}{source\, +\optional{filename\optional{\, symbol}}} +This function is useful for programs that want to emulate Python's +interpreter main loop (a.k.a. the read-eval-print loop). The tricky +part is to determine when the user has entered an incomplete command +that can be completed by entering more text (as opposed to a complete +command or a syntax error). This function \emph{almost} always makes +the same decision as the real interpreter main loop. + +Arguments: \var{source} is the source string; \var{filename} is the +optional filename from which source was read, defaulting to +\code{"<input>"}; and \var{symbol} is the optional grammar start +symbol, which should be either \code{"single"} (the default) or +\code{"eval"}. + +Return a code object (the same as \code{compile(\var{source}, +\var{filename}, \var{symbol})}) if the command is complete and valid; +return \code{None} if the command is incomplete; raise +\code{SyntaxError} if the command is a syntax error. + + +\end{funcdesc} diff --git a/Doc/libundoc.tex b/Doc/libundoc.tex index 08e62fb..55f30a9 100644 --- a/Doc/libundoc.tex +++ b/Doc/libundoc.tex @@ -105,8 +105,6 @@ compileall.py -- force "compilation" of all .py files in a directory py_compile.py -- "compile" a .py file to a .pyc file -codehack.py -- extract a function name from a code object - dis.py -- Disassembler for Python bytecode objects repr.py -- Redo the `...` (representation) but with limits on most @@ -183,6 +181,10 @@ fcntl.lockf/flock intead) tb.py -- Print tracebacks, with a dump of local variables (use pdb.pm() or traceback.py instead) +codehack.py -- extract function name or line number from a function +code object (these are now accessible as attributes: co.co_name, +func.func_name, co.co_firstlineno) + \section{Extension modules} |