Make sure all chapters, sections, and subsections have a \label to give them

semantic file names in the HTML.  No more node#.html files!
This commit is contained in:
Fred Drake 1998-07-28 19:34:22 +00:00
parent 020f8c0139
commit 61c7728cc9
7 changed files with 64 additions and 63 deletions

View file

@ -1,4 +1,4 @@
\chapter{Introduction}
\chapter{Introduction\label{introduction}}
This reference manual describes the Python programming language.
It is not intended as a tutorial.
@ -29,11 +29,11 @@ text.
Every Python implementation comes with a number of built-in and
standard modules. These are not documented here, but in the separate
{\em Python Library Reference} document. A few built-in modules are
\emph{Python Library Reference} document. A few built-in modules are
mentioned when they interact in a significant way with the language
definition.
\section{Notation}
\section{Notation\label{notation}}
The descriptions of lexical analysis and syntax use a modified BNF
grammar notation. This uses the following style of definition:

View file

@ -28,12 +28,12 @@ though the current implementation appears to favor Latin-1. This
applies both to the source character set and the run-time character
set.
\section{Line structure}
\section{Line structure\label{line-structure}}
A Python program is divided into a number of \emph{logical lines}.
\index{line structure}
\subsection{Logical lines}
\subsection{Logical lines\label{logical}}
The end of
a logical line is represented by the token NEWLINE. Statements cannot
@ -46,7 +46,7 @@ by following the explicit or implicit \emph{line joining} rules.
\index{line joining}
\index{NEWLINE token}
\subsection{Physical lines}
\subsection{Physical lines\label{physical}}
A physical line ends in whatever the current platform's convention is
for terminating lines. On \UNIX{}, this is the \ASCII{} LF (linefeed)
@ -54,7 +54,7 @@ character. On DOS/Windows, it is the \ASCII{} sequence CR LF (return
followed by linefeed). On Macintosh, it is the \ASCII{} CR (return)
character.
\subsection{Comments}
\subsection{Comments\label{comments}}
A comment starts with a hash character (\code{\#}) that is not part of
a string literal, and ends at the end of the physical line. A comment
@ -64,7 +64,7 @@ Comments are ignored by the syntax; they are not tokens.
\index{comment}
\index{hash character}
\subsection{Explicit line joining}
\subsection{Explicit line joining\label{explicit-joining}}
Two or more physical lines may be joined into logical lines using
backslash characters (\code{\e}), as follows: when a physical line ends
@ -89,7 +89,7 @@ for string literals (i.e., tokens other than string literals cannot be
split across physical lines using a backslash). A backslash is
illegal elsewhere on a line outside a string literal.
\subsection{Implicit line joining}
\subsection{Implicit line joining\label{implicit-joining}}
Expressions in parentheses, square brackets or curly braces can be
split over more than one physical line without using backslashes.
@ -108,7 +108,7 @@ allowed. There is no NEWLINE token between implicit continuation
lines. Implicitly continued lines can also occur within triple-quoted
strings (see below); in that case they cannot carry comments.
\subsection{Blank lines}
\subsection{Blank lines\label{blank-lines}}
A logical line that contains only spaces, tabs, formfeeds and possibly a
comment, is ignored (i.e., no NEWLINE token is generated), except that
@ -117,7 +117,7 @@ during interactive input of statements, an entirely blank logical line
terminates a multi-line statement.
\index{blank line}
\subsection{Indentation}
\subsection{Indentation\label{indentation}}
Leading whitespace (spaces and tabs) at the beginning of a logical
line is used to compute the indentation level of the line, which in
@ -199,7 +199,7 @@ The following example shows various indentation errors:
last error is found by the lexical analyzer --- the indentation of
\code{return r} does not match a level popped off the stack.)
\subsection{Whitespace between tokens}
\subsection{Whitespace between tokens\label{whitespace}}
Except at the beginning of a logical line or in string literals, the
whitespace characters space, tab and formfeed can be used
@ -207,7 +207,7 @@ interchangeably to separate tokens. Whitespace is needed between two
tokens only if their concatenation could otherwise be interpreted as a
different token (e.g., ab is one token, but a b is two tokens).
\section{Other tokens}
\section{Other tokens\label{other-tokens}}
Besides NEWLINE, INDENT and DEDENT, the following categories of tokens
exist: \emph{identifiers}, \emph{keywords}, \emph{literals},
@ -218,7 +218,7 @@ Where
ambiguity exists, a token comprises the longest possible string that
forms a legal token, when read from left to right.
\section{Identifiers and keywords}
\section{Identifiers and keywords\label{identifiers}}
Identifiers (also referred to as \emph{names}) are described by the following
lexical definitions:
@ -235,7 +235,7 @@ digit: "0"..."9"
Identifiers are unlimited in length. Case is significant.
\subsection{Keywords}
\subsection{Keywords\label{keywords}}
The following identifiers are used as reserved words, or
\emph{keywords} of the language, and cannot be used as ordinary
@ -254,7 +254,7 @@ def finally in print
% When adding keywords, use reswords.py for reformatting
\subsection{Reserved classes of identifiers}
\subsection{Reserved classes of identifiers\label{id-classes}}
Certain classes of identifiers (besides keywords) have special
meanings. These are:
@ -267,13 +267,13 @@ meanings. These are:
(XXX need section references here.)
\section{Literals} \label{literals}
\section{Literals\label{literals}}
Literals are notations for constant values of some built-in types.
\index{literal}
\index{constant}
\subsection{String literals}
\subsection{String literals\label{strings}}
String literals are described by the following lexical definitions:
\index{string literal}
@ -357,7 +357,7 @@ backslashes). Specifically, \emph{a raw string cannot end in a single
backslash} (since the backslash would escape the following quote
character).
\subsection{String literal concatenation}
\subsection{String literal concatenation\label{string-catenation}}
Multiple adjacent string literals (delimited by whitespace), possibly
using different quoting conventions, are allowed, and their meaning is
@ -379,7 +379,7 @@ concatenate string expressions at run time. Also note that literal
concatenation can use different quoting styles for each component
(even mixing raw strings and triple quoted strings).
\subsection{Numeric literals}
\subsection{Numeric literals\label{numbers}}
There are four types of numeric literals: plain integers, long
integers, floating point numbers, and imaginary numbers. There are no
@ -401,7 +401,7 @@ Note that numeric literals do not include a sign; a phrase like
\code{-1} is actually an expression composed of the unary operator
`\code{-}' and the literal \code{1}.
\subsection{Integer and long integer literals}
\subsection{Integer and long integer literals\label{integers}}
Integer and long integer literals are described by the following
lexical definitions:
@ -435,7 +435,7 @@ Some examples of plain and long integer literals:
3L 79228162514264337593543950336L 0377L 0x100000000L
\end{verbatim}
\subsection{Floating point literals}
\subsection{Floating point literals\label{floating}}
Floating point literals are described by the following lexical
definitions:
@ -463,7 +463,7 @@ Note that numeric literals do not include a sign; a phrase like
\code{-1} is actually an expression composed of the operator
\code{-} and the literal \code{1}.
\subsection{Imaginary literals}
\subsection{Imaginary literals\label{imaginary}}
Imaginary literals are described by the following lexical definitions:
@ -482,7 +482,7 @@ to it, e.g., \code{(3+4j)}. Some examples of imaginary literals:
\end{verbatim}
\section{Operators}
\section{Operators\label{operators}}
The following tokens are operators:
\index{operators}
@ -497,7 +497,7 @@ The comparison operators \code{<>} and \code{!=} are alternate
spellings of the same operator. \code{!=} is the preferred spelling;
\code{<>} is obsolescent.
\section{Delimiters}
\section{Delimiters\label{delimiters}}
The following tokens serve as delimiters in the grammar:
\index{delimiters}

View file

@ -1,6 +1,6 @@
\chapter{Data model}
\chapter{Data model\label{datamodel}}
\section{Objects, values and types}
\section{Objects, values and types\label{objects}}
\dfn{Objects} are Python's abstraction for data. All data in a Python
program is represented by objects or by relations between objects.
@ -87,7 +87,7 @@ lists.
(Note that ``\code{c = d = []}'' assigns the same object to both
\code{c} and \code{d}.)
\section{The standard type hierarchy} \label{types}
\section{The standard type hierarchy\label{types}}
Below is a list of the types that are built into Python. Extension
modules written in \C{} can define additional types. Future versions of
@ -781,7 +781,7 @@ Special read-only attributes: \code{start} is the lowerbound;
\end{description} % Types
\section{Special method names} \label{specialnames}
\section{Special method names\label{specialnames}}
A class can implement certain operations that are invoked by special
syntax (such as arithmetic operations or subscripting and slicing) by defining
@ -795,7 +795,7 @@ operation raise an exception when no appropriate method is defined.
\ttindex{__getitem__}
\subsection{Basic customization}
\subsection{Basic customization\label{customization}}
\begin{description}
@ -917,7 +917,7 @@ this method is not defined, \code{__len__} is called, if it is defined
\end{description}
\subsection{Customizing attribute access}
\subsection{Customizing attribute access\label{attribute-access}}
The following methods can be defined to customize the meaning of
attribute access (use of, assignment to, or deletion of \code{x.name})
@ -969,7 +969,7 @@ assignment.
\end{description}
\subsection{Emulating callable objects}
\subsection{Emulating callable objects\label{callable-types}}
\begin{description}
@ -983,7 +983,7 @@ is defined, \code{x(arg1, arg2, ...)} is a shorthand for
\end{description}
\subsection{Emulating sequence and mapping types}
\subsection{Emulating sequence and mapping types\label{sequence-types}}
The following methods can be defined to emulate sequence or mapping
objects. The first set of methods is used either to emulate a
@ -1057,7 +1057,8 @@ Called to implement deletion of \code{self[key]}. Same note as for
\end{description}
\subsection{Additional methods for emulation of sequence types}
\subsection{Additional methods for emulation of sequence types%
\label{sequence-methods}}
The following methods can be defined to further emulate sequence
objects. Immutable sequences methods should only define
@ -1092,7 +1093,7 @@ single colon is used. For slice operations involving extended slice
notation, \method{__getitem__()}, \method{__setitem__()}
or\method{__delitem__()} is called.
\subsection{Emulating numeric types}
\subsection{Emulating numeric types\label{numeric-types}}
The following methods can be defined to emulate numeric objects.
Methods corresponding to operations that are not supported by the

View file

@ -1,7 +1,7 @@
\chapter{Execution model\label{execmodel}}
\index{execution model}
\section{Code blocks, execution frames, and namespaces} \label{execframes}
\section{Code blocks, execution frames, and namespaces\label{execframes}}
\index{code block}
\indexii{execution}{frame}
\index{namespace}
@ -165,7 +165,7 @@ used to implement the namespace, \emph{except} for functions, where
the optimizer may cause the local namespace to be implemented
differently, and \function{locals()} returns a read-only dictionary.}
\section{Exceptions}
\section{Exceptions\label{exceptions}}
Exceptions are a means of breaking out of the normal flow of control
of a code block in order to handle errors or other exceptional

View file

@ -1,4 +1,4 @@
\chapter{Simple statements}
\chapter{Simple statements\label{simple}}
\indexii{simple}{statement}
Simple statements are comprised within a single logical line.
@ -21,7 +21,7 @@ simple_stmt: expression_stmt
| exec_stmt
\end{verbatim}
\section{Expression statements}
\section{Expression statements\label{exprstmts}}
\indexii{expression}{statement}
Expression statements are used (mostly interactively) to compute and
@ -51,7 +51,7 @@ any output.)
\indexii{writing}{values}
\indexii{procedure}{call}
\section{Assert statements}\stindex{assert}
\section{Assert statements\label{assert}}\stindex{assert}
Assert statements are a convenient way to insert debugging
assertions\indexii{debugging}{assertions} into a program:
@ -86,7 +86,7 @@ the source code for the expression that failed in the error message;
it will be displayed as part of the stack trace.
\section{Assignment statements}
\section{Assignment statements\label{assignment}}
\indexii{assignment}{statement}
Assignment statements are used to (re)bind names to values and to
@ -247,7 +247,7 @@ print x
\end{verbatim}
\section{The \keyword{pass} statement}
\section{The \keyword{pass} statement\label{pass}}
\stindex{pass}
\begin{verbatim}
@ -265,7 +265,7 @@ def f(arg): pass # a function that does nothing (yet)
class C: pass # a class with no methods (yet)
\end{verbatim}
\section{The \keyword{del} statement}
\section{The \keyword{del} statement\label{del}}
\stindex{del}
\begin{verbatim}
@ -293,7 +293,7 @@ is in general equivalent to assignment of an empty slice of the
right type (but even this is determined by the sliced object).
\indexii{attribute}{deletion}
\section{The \keyword{print} statement} \label{print}
\section{The \keyword{print} statement\label{print}}
\stindex{print}
\begin{verbatim}
@ -330,7 +330,7 @@ exception is raised.
\ttindex{stdout}
\exindex{RuntimeError}
\section{The \keyword{return} statement}
\section{The \keyword{return} statement\label{return}}
\stindex{return}
\begin{verbatim}
@ -353,7 +353,7 @@ with a \keyword{finally} clause, that \keyword{finally} clause is executed
before really leaving the function.
\kwindex{finally}
\section{The \keyword{raise} statement}
\section{The \keyword{raise} statement\label{raise}}
\stindex{raise}
\begin{verbatim}
@ -387,7 +387,7 @@ exception occurred. This is useful to re-raise an exception
transparently in an except clause.
\obindex{traceback}
\section{The \keyword{break} statement}
\section{The \keyword{break} statement\label{break}}
\stindex{break}
\begin{verbatim}
@ -414,7 +414,7 @@ with a \keyword{finally} clause, that \keyword{finally} clause is executed
before really leaving the loop.
\kwindex{finally}
\section{The \keyword{continue} statement}
\section{The \keyword{continue} statement\label{continue}}
\stindex{continue}
\begin{verbatim}
@ -433,7 +433,7 @@ It continues with the next cycle of the nearest enclosing loop.
\indexii{loop}{statement}
\kwindex{finally}
\section{The \keyword{import} statement} \label{import}
\section{The \keyword{import} statement\label{import}}
\stindex{import}
\begin{verbatim}
@ -527,7 +527,7 @@ about how the module search works from inside a package.]
[XXX Also should mention __import__().]
\bifuncindex{__import__}
\section{The \keyword{global} statement} \label{global}
\section{The \keyword{global} statement\label{global}}
\stindex{global}
\begin{verbatim}
@ -567,7 +567,7 @@ containing the \keyword{exec} statement. The same applies to the
\bifuncindex{execfile}
\bifuncindex{compile}
\section{The {\tt exec} statement} \label{exec}
\section{The \keyword{exec} statement\label{exec}}
\stindex{exec}
\begin{verbatim}

View file

@ -1,4 +1,4 @@
\chapter{Compound statements}
\chapter{Compound statements\label{compound}}
\indexii{compound}{statement}
Compound statements contain (groups of) other statements; they affect
@ -60,7 +60,7 @@ statement, thus there are no ambiguities (the `dangling
The formatting of the grammar rules in the following sections places
each clause on a separate line for clarity.
\section{The \keyword{if} statement}
\section{The \keyword{if} statement\label{if}}
\stindex{if}
The \keyword{if} statement is used for conditional execution:
@ -80,7 +80,7 @@ present, is executed.
\kwindex{elif}
\kwindex{else}
\section{The \keyword{while} statement}
\section{The \keyword{while} statement\label{while}}
\stindex{while}
\indexii{loop}{statement}
@ -105,7 +105,7 @@ of the suite and goes back to testing the expression.
\stindex{break}
\stindex{continue}
\section{The \keyword{for} statement}
\section{The \keyword{for} statement\label{for}}
\stindex{for}
\indexii{loop}{statement}
@ -169,7 +169,7 @@ for x in a[:]:
if x < 0: a.remove(x)
\end{verbatim}
\section{The \keyword{try} statement} \label{try}
\section{The \keyword{try} statement\label{try}}
\stindex{try}
The \keyword{try} statement specifies exception handlers and/or cleanup
@ -271,7 +271,7 @@ restriction may be lifted in the future).
\stindex{break}
\stindex{continue}
\section{Function definitions} \label{function}
\section{Function definitions\label{function}}
\indexii{function}{definition}
A function definition defines a user-defined function object (see
@ -359,7 +359,7 @@ add1 = make_incrementer(1)
print add1(3) # This prints '4'
\end{verbatim}
\section{Class definitions} \label{class}
\section{Class definitions\label{class}}
\indexii{class}{definition}
A class definition defines a class object (see section \ref{types}):

View file

@ -1,4 +1,4 @@
\chapter{Top-level components}
\chapter{Top-level components\label{top-level}}
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,
@ -6,7 +6,7 @@ typed in interactively, from a module source file, etc. This chapter
gives the syntax used in these cases.
\index{interpreter}
\section{Complete Python programs}
\section{Complete Python programs\label{programs}}
\index{program}
While a language specification need not prescribe how the language
@ -43,7 +43,7 @@ program.
\index{command line}
\index{standard input}
\section{File input}
\section{File input\label{file-input}}
All input read from non-interactive files has the same form:
@ -63,7 +63,7 @@ This syntax is used in the following situations:
\end{itemize}
\section{Interactive input}
\section{Interactive input\label{interactive}}
Input in interactive mode is parsed using the following grammar:
@ -75,7 +75,7 @@ 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}
\section{Expression input\label{expression-input}}
\index{input}
There are two forms of expression input. Both ignore leading