From 6b103f1e128a4ae46bd38ae7b5d98bd49a65f5bd Mon Sep 17 00:00:00 2001
From: Fred Drake <fdrake@acm.org>
Date: Thu, 18 Feb 1999 21:06:50 +0000
Subject: Documentation for pyclbr and tokenize modules.

---
 Doc/lib/libpyclbr.tex   | 58 +++++++++++++++++++++++++++++++++++++++++++++++++
 Doc/lib/libtokenize.tex | 44 +++++++++++++++++++++++++++++++++++++
 2 files changed, 102 insertions(+)
 create mode 100644 Doc/lib/libpyclbr.tex
 create mode 100644 Doc/lib/libtokenize.tex

diff --git a/Doc/lib/libpyclbr.tex b/Doc/lib/libpyclbr.tex
new file mode 100644
index 0000000..7381e4e
--- /dev/null
+++ b/Doc/lib/libpyclbr.tex
@@ -0,0 +1,58 @@
+\section{\module{pyclbr} ---
+         Python class browser information}
+
+\declaremodule{standard}{pyclbr}
+\modulesynopsis{Supports information extraction for a Python class
+browser.}
+\sectionauthor{Fred L. Drake, Jr.}{fdrake@acm.org}
+
+
+The \module{pyclbr} can be used to determine some limited information
+about the classes and methods defined in a module.  The information
+provided is sufficient to implement a traditional three-pane class
+browser.  The information is extracted from the source code rather
+than from an imported module, so this module is safe to use with
+untrusted source code.
+
+
+\begin{funcdesc}{readmodule}{module\optional{, path}}
+  % The 'inpackage' parameter appears to be for internal use only....
+  Read a module and return a dictionary mapping class names to class
+  descriptor objects.  The parameter \var{module} should be the name
+  of a module as a string; it may be the name of a module within a
+  package.  The \var{path} parameter should be a sequence, and is used
+  to augment the value of \code{sys.path}, which is used to locate
+  module source code.
+\end{funcdesc}
+
+
+\subsection{Class Descriptor Objects \label{pyclbr-class-objects}}
+
+The class descriptor objects used as values in the dictionary returned
+by \function{readmodule()} provide the following data members:
+
+
+\begin{memberdesc}[class descriptor]{name}
+  The name of the class.
+\end{memberdesc}
+
+\begin{memberdesc}[class descriptor]{super}
+  A list of class descriptors which describe the immediate base
+  classes of the class being described.  Classes which are named as
+  superclasses but which are not discoverable by
+  \function{readmodule()} are listed as a string with the class name
+  instead of class descriptors.
+\end{memberdesc}
+
+\begin{memberdesc}[class descriptor]{methods}
+  A dictionary mapping method names to line numbers.
+\end{memberdesc}
+
+\begin{memberdesc}[class descriptor]{file}
+  Name of the file containing the class statement defining the class.
+\end{memberdesc}
+
+\begin{memberdesc}[class descriptor]{lineno}
+  The line number of the class statement within the file named by
+  \member{file}.
+\end{memberdesc}
diff --git a/Doc/lib/libtokenize.tex b/Doc/lib/libtokenize.tex
new file mode 100644
index 0000000..2176173
--- /dev/null
+++ b/Doc/lib/libtokenize.tex
@@ -0,0 +1,44 @@
+\section{\module{tokenize} ---
+         Tokenizer for Python source}
+
+\declaremodule{standard}{tokenize}
+\modulesynopsis{Lexical scanner for Python source code.}
+\moduleauthor{Ka Ping Yee}{}
+\sectionauthor{Fred L. Drake, Jr.}{fdrake@acm.org}
+
+
+The \module{tokenize} module provides a lexical scanner for Python
+source code, implemented in Python.  The scanner in this module
+returns comments as tokens as well, making it useful for implementing
+``pretty-printers,'' including colorizers for on-screen displays.
+
+The scanner is exposed via single function:
+
+
+\begin{funcdesc}{tokenize}{readline\optional{, tokeneater}}
+  The \function{tokenize()} function accepts two parameters: one
+  representing the input stream, and one providing an output mechanism 
+  for \function{tokenize()}.
+
+  The first parameter, \var{readline}, must be a callable object which
+  provides the same interface as \method{readline()} method of
+  built-in file objects (see section~\ref{bltin-file-objects}).  Each
+  call to the function should return one line of input as a string.
+
+  The second parameter, \var{tokeneater}, must also be a callable
+  object.  It is called with five parameters: the token type, the
+  token string, a tuple \code{(\var{srow}, \var{scol})} specifying the 
+  row and column where the token begins in the source, a tuple
+  \code{(\var{erow}, \var{ecol})} giving the ending position of the
+  token, and the line on which the token was found.  The line passed
+  is the \emph{logical} line; continuation lines are included.
+\end{funcdesc}
+
+
+All constants from the \refmodule{token} module are also exported from 
+\module{tokenize}, as is one additional token type value that might be 
+passed to the \var{tokeneater} function by \function{tokenize()}:
+
+\begin{datadesc}{COMMENT}
+  Token value used to indicate a comment.
+\end{datadesc}
-- 
cgit v0.12

