summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Doc/Makefile31
-rw-r--r--Doc/ref.tex68
-rw-r--r--Doc/ref/ref.ps16373
-rw-r--r--Doc/ref/ref.tex68
-rw-r--r--Doc/ref/ref1.tex81
-rw-r--r--Doc/ref/ref2.tex372
-rw-r--r--Doc/ref/ref3.tex885
-rw-r--r--Doc/ref/ref4.tex201
-rw-r--r--Doc/ref/ref5.tex759
-rw-r--r--Doc/ref/ref6.tex512
-rw-r--r--Doc/ref/ref7.tex391
-rw-r--r--Doc/ref/ref8.tex105
-rw-r--r--Doc/ref1.tex81
-rw-r--r--Doc/ref2.tex372
-rw-r--r--Doc/ref3.tex885
-rw-r--r--Doc/ref4.tex201
-rw-r--r--Doc/ref5.tex759
-rw-r--r--Doc/ref6.tex512
-rw-r--r--Doc/ref7.tex391
-rw-r--r--Doc/ref8.tex105
20 files changed, 16382 insertions, 6770 deletions
diff --git a/Doc/Makefile b/Doc/Makefile
index 9a32058..e609518 100644
--- a/Doc/Makefile
+++ b/Doc/Makefile
@@ -6,9 +6,14 @@
# This is a bit of a mess. The main documents are:
# tut -- Tutorial (file tut.tex)
# lib -- Library Reference (file lib.tex, inputs lib*.tex)
-# ref -- Language Reference (file ref.tex, inputs ref*.tex)
# ext -- Extending and Embedding (file ext.tex)
#
+# The Reference Manual is now maintained as a FrameMaker document.
+# See the subdirectory ref; PostScript is included as ref/ref.ps.
+# (In the future, the Tutorial will also be converted to FrameMaker;
+# the other documents will be maintained in a text format such
+# as LaTeX or perhaps TIM.)
+#
# The main target "make all" creates DVI and PostScript for these
# four. You can also do "make lib" (etc.) to process individual
# documents.
@@ -74,20 +79,19 @@ DOCDESTDIR= $LIBDEST/doc
# Main target
all: all-ps
-all-dvi: tut.dvi lib.dvi ref.dvi ext.dvi
-all-ps: tut.ps lib.ps ref.ps ext.ps
+all-dvi: tut.dvi lib.dvi ext.dvi
+all-ps: tut.ps lib.ps ext.ps
# Individual document fake targets
tut: tut.ps
lib: lib.ps
-ref: ref.ps
ext: ext.ps
# CWI Quarterly document fake target
qua: qua.ps
# Dependencies
-tut.dvi lib.dvi ref.dvi ext.dvi: myformat.sty fix_hack
+tut.dvi lib.dvi ext.dvi: myformat.sty fix_hack
# Tutorial document
tut.dvi: tut.tex
@@ -97,18 +101,6 @@ tut.dvi: tut.tex
tut.ps: tut.dvi
$(DVIPS) tut >tut.ps
-# Reference document
-ref.dvi: ref.tex ref1.tex ref2.tex ref3.tex ref4.tex ref5.tex ref6.tex \
- ref7.tex ref8.tex
- touch ref.ind
- $(LATEX) ref
- ./fix_hack ref.idx
- $(MAKEINDEX) ref
- $(LATEX) ref
-
-ref.ps: ref.dvi
- $(DVIPS) ref >ref.ps
-
# LaTeX source files for the Python Library Reference
LIBFILES = lib.tex \
libintro.tex libobjs.tex libtypes.tex libexcs.tex libfuncs.tex \
@@ -216,11 +208,6 @@ l2htut: tut.dvi
@rm -rf python-tut
mv tut python-tut
-l2href: ref.dvi
- $(L2H) $(L2HARGS) ref.tex
- @rm -rf python-ref
- mv ref python-ref
-
l2hext: ext.dvi
$(L2H) $(L2HARGS) ext.tex
@rm -rf python-ext
diff --git a/Doc/ref.tex b/Doc/ref.tex
deleted file mode 100644
index e63fa7c..0000000
--- a/Doc/ref.tex
+++ /dev/null
@@ -1,68 +0,0 @@
-\documentstyle[twoside,11pt,myformat]{report}
-
-\title{Python Reference Manual}
-
-\input{boilerplate}
-
-% Tell \index to actually write the .idx file
-\makeindex
-
-\begin{document}
-
-\pagenumbering{roman}
-
-\maketitle
-
-\input{copyright}
-
-\begin{abstract}
-
-\noindent
-Python is a simple, yet powerful, interpreted programming language
-that bridges the gap between C and shell programming, and is thus
-ideally suited for ``throw-away programming'' and rapid prototyping.
-Its syntax is put together from constructs borrowed from a variety of
-other languages; most prominent are influences from ABC, C, Modula-3
-and Icon.
-
-The Python interpreter is easily extended with new functions and data
-types implemented in C. Python is also suitable as an extension
-language for highly customizable C applications such as editors or
-window managers.
-
-Python is available for various operating systems, amongst which
-several flavors of {\UNIX} (including Linux), the Apple Macintosh O.S.,
-MS-DOS, MS-Windows 3.1, Windows NT, and OS/2.
-
-This reference manual describes the syntax and ``core semantics'' of
-the language. It is terse, but attempts to be exact and complete.
-The semantics of non-essential built-in object types and of the
-built-in functions and modules are described in the {\em Python
-Library Reference}. For an informal introduction to the language, see
-the {\em Python Tutorial}.
-
-\end{abstract}
-
-\pagebreak
-
-{
-\parskip = 0mm
-\tableofcontents
-}
-
-\pagebreak
-
-\pagenumbering{arabic}
-
-\include{ref1} % Introduction
-\include{ref2} % Lexical analysis
-\include{ref3} % Data model
-\include{ref4} % Execution model
-\include{ref5} % Expressions and conditions
-\include{ref6} % Simple statements
-\include{ref7} % Compound statements
-\include{ref8} % Top-level components
-
-\input{ref.ind}
-
-\end{document}
diff --git a/Doc/ref/ref.ps b/Doc/ref/ref.ps
new file mode 100644
index 0000000..198d968
--- /dev/null
+++ b/Doc/ref/ref.ps
@@ -0,0 +1,16373 @@
+%!PS-Adobe-3.0
+%%BoundingBox: (atend)
+%%Pages: (atend)
+%%PageOrder: (atend)
+%%DocumentFonts: (atend)
+%%Creator: Frame 5.0
+%%DocumentData: Clean7Bit
+%%EndComments
+%%BeginProlog
+%
+% Frame ps_prolog 5.0, for use with Frame 5.0 products
+% This ps_prolog file is Copyright (c) 1986-1995 Frame Technology
+% Corporation. All rights reserved. This ps_prolog file may be
+% freely copied and distributed in conjunction with documents created
+% using FrameMaker, FrameMaker/SGML and FrameViewer as long as this
+% copyright notice is preserved.
+%
+% FrameMaker users specify the proper paper size for each print job in the
+% "Print" dialog's "Printer Paper Size" "Width" and "Height~ fields. If the
+% printer that the PS file is sent to does not support the requested paper
+% size, or if there is no paper tray of the proper size currently installed,
+% then the job will not be printed. The following flag, if set to true, will
+% cause the job to print on the default paper in such cases.
+/FMAllowPaperSizeMismatch false def
+%
+% Frame products normally print colors as their true color on a color printer
+% or as shades of gray, based on luminance, on a black-and white printer. The
+% following flag, if set to true, forces all non-white colors to print as pure
+% black. This has no effect on bitmap images.
+/FMPrintAllColorsAsBlack false def
+%
+% Frame products can either set their own line screens or use a printer's
+% default settings. Three flags below control this separately for no
+% separations, spot separations and process separations. If a flag
+% is true, then the default printer settings will not be changed. If it is
+% false, Frame products will use their own settings from a table based on
+% the printer's resolution.
+/FMUseDefaultNoSeparationScreen true def
+/FMUseDefaultSpotSeparationScreen true def
+/FMUseDefaultProcessSeparationScreen false def
+%
+% For any given PostScript printer resolution, Frame products have two sets of
+% screen angles and frequencies for printing process separations, which are
+% recomended by Adobe. The following variable chooses the higher frequencies
+% when set to true or the lower frequencies when set to false. This is only
+% effective if the appropriate FMUseDefault...SeparationScreen flag is false.
+/FMUseHighFrequencyScreens true def
+%
+% The following is a set of predefined optimal frequencies and angles for various
+% common dpi settings. This is taken from "Advances in Color Separation Using
+% PostScript Software Technology," from Adobe Systems (3/13/89 P.N. LPS 0043)
+% and corrolated with information which is in various PPD (4.0) files.
+%
+% The "dpiranges" figure is the minimum dots per inch device resolution which
+% can support this setting. The "low" and "high" values are controlled by the
+% setting of the FMUseHighFrequencyScreens flag above. The "TDot" flags control
+% the use of the "Yellow Triple Dot" feature whereby the frequency id divided by
+% three, but the dot function is "trippled" giving a block of 3x3 dots per cell.
+%
+% PatFreq is a compromise pattern frequency for ps Level 2 printers which is close
+% to the ideal WYSIWYG pattern frequency of 9 repetitions/inch but does not beat
+% (too badly) against the screen frequencies of any separations for that DPI.
+/dpiranges [ 2540 2400 1693 1270 1200 635 600 0 ] def
+/CMLowFreqs [ 100.402 94.8683 89.2289 100.402 94.8683 66.9349 63.2456 47.4342 ] def
+/YLowFreqs [ 95.25 90.0 84.65 95.25 90.0 70.5556 66.6667 50.0 ] def
+/KLowFreqs [ 89.8026 84.8528 79.8088 89.8026 84.8528 74.8355 70.7107 53.033 ] def
+/CLowAngles [ 71.5651 71.5651 71.5651 71.5651 71.5651 71.5651 71.5651 71.5651 ] def
+/MLowAngles [ 18.4349 18.4349 18.4349 18.4349 18.4349 18.4349 18.4349 18.4349 ] def
+/YLowTDot [ true true false true true false false false ] def
+/CMHighFreqs [ 133.87 126.491 133.843 108.503 102.523 100.402 94.8683 63.2456 ] def
+/YHighFreqs [ 127.0 120.0 126.975 115.455 109.091 95.25 90.0 60.0 ] def
+/KHighFreqs [ 119.737 113.137 119.713 128.289 121.218 89.8026 84.8528 63.6395 ] def
+/CHighAngles [ 71.5651 71.5651 71.5651 70.0169 70.0169 71.5651 71.5651 71.5651 ] def
+/MHighAngles [ 18.4349 18.4349 18.4349 19.9831 19.9831 18.4349 18.4349 18.4349 ] def
+/YHighTDot [ false false true false false true true false ] def
+/PatFreq [ 10.5833 10.0 9.4055 10.5833 10.0 10.5833 10.0 9.375 ] def
+%
+% PostScript Level 2 printers contain an "Accurate Screens" feature which can
+% improve process separation rendering at the expense of compute time. This
+% flag is ignored by PostScript Level 1 printers.
+/FMUseAcccurateScreens true def
+%
+% The following PostScript procedure defines the spot function that Frame
+% products will use for process separations. You may un-comment-out one of
+% the alternative functions below, or use your own.
+%
+% Dot function
+/FMSpotFunction {abs exch abs 2 copy add 1 gt
+ {1 sub dup mul exch 1 sub dup mul add 1 sub }
+ {dup mul exch dup mul add 1 exch sub }ifelse } def
+%
+% Line function
+% /FMSpotFunction { pop } def
+%
+% Elipse function
+% /FMSpotFunction { dup 5 mul 8 div mul exch dup mul exch add
+% sqrt 1 exch sub } def
+%
+%
+/FMversion (5.0) def
+/fMLevel1 /languagelevel where {pop languagelevel} {1} ifelse 2 lt def
+/FMPColor
+ fMLevel1 {
+ false
+ /colorimage where {pop pop true} if
+ } {
+ true
+ } ifelse
+def
+/FrameDict 400 dict def
+systemdict /errordict known not {/errordict 10 dict def
+ errordict /rangecheck {stop} put} if
+% The readline in PS 23.0 doesn't recognize cr's as nl's on AppleTalk
+FrameDict /tmprangecheck errordict /rangecheck get put
+errordict /rangecheck {FrameDict /bug true put} put
+FrameDict /bug false put
+mark
+% Some PS machines read past the CR, so keep the following 3 lines together!
+currentfile 5 string readline
+00
+0000000000
+cleartomark
+errordict /rangecheck FrameDict /tmprangecheck get put
+FrameDict /bug get {
+ /readline {
+ /gstring exch def
+ /gfile exch def
+ /gindex 0 def
+ {
+ gfile read pop
+ dup 10 eq {exit} if
+ dup 13 eq {exit} if
+ gstring exch gindex exch put
+ /gindex gindex 1 add def
+ } loop
+ pop
+ gstring 0 gindex getinterval true
+ } bind def
+ } if
+/FMshowpage /showpage load def
+/FMquit /quit load def
+/FMFAILURE {
+ dup = flush
+ FMshowpage
+ /Helvetica findfont 12 scalefont setfont
+ 72 200 moveto show
+ 72 220 moveto show
+ FMshowpage
+ FMquit
+ } def
+/FMVERSION {
+ FMversion ne {
+ (Frame product version does not match ps_prolog! Check installation;)
+ (also check ~/fminit and ./fminit for old versions) FMFAILURE
+ } if
+ } def
+/FMBADEPSF {
+ (Adobe's PostScript Language Reference Manual, 2nd Edition, section H.2.4)
+ (says your EPS file is not valid, as it calls X )
+ dup dup (X) search pop exch pop exch pop length
+ 5 -1 roll
+ putinterval
+ FMFAILURE
+ } def
+/fmConcatProcs
+ {
+ /proc2 exch cvlit def/proc1 exch cvlit def/newproc proc1 length proc2 length add array def
+ newproc 0 proc1 putinterval newproc proc1 length proc2 putinterval newproc cvx
+}def
+FrameDict begin [
+ /ALDsave
+ /FMdicttop
+ /FMoptop
+ /FMpointsize
+ /FMsaveobject
+ /b
+ /bitmapsave
+ /blut
+ /bpside
+ /bs
+ /bstring
+ /bwidth
+ /c
+ /cf
+ /cs
+ /cynu
+ /depth
+ /edown
+ /fh
+ /fillvals
+ /fw
+ /fx
+ /fy
+ /g
+ /gfile
+ /gindex
+ /grnt
+ /gryt
+ /gstring
+ /height
+ /hh
+ /i
+ /im
+ /indx
+ /is
+ /k
+ /kk
+ /landscape
+ /lb
+ /len
+ /llx
+ /lly
+ /m
+ /magu
+ /manualfeed
+ /n
+ /offbits
+ /onbits
+ /organgle
+ /orgbangle
+ /orgbfreq
+ /orgbproc
+ /orgbxfer
+ /orgfreq
+ /orggangle
+ /orggfreq
+ /orggproc
+ /orggxfer
+ /orgmatrix
+ /orgproc
+ /orgrangle
+ /orgrfreq
+ /orgrproc
+ /orgrxfer
+ /orgxfer
+ /pagesave
+ /paperheight
+ /papersizedict
+ /paperwidth
+ /pos
+ /pwid
+ /r
+ /rad
+ /redt
+ /sl
+ /str
+ /tran
+ /u
+ /urx
+ /ury
+ /val
+ /width
+ /width
+ /ws
+ /ww
+ /x
+ /x1
+ /x2
+ /xindex
+ /xpoint
+ /xscale
+ /xx
+ /y
+ /y1
+ /y2
+ /yelu
+ /yindex
+ /ypoint
+ /yscale
+ /yy
+] { 0 def } forall
+/FmBD {bind def} bind def
+systemdict /pdfmark known {
+ /fMAcrobat true def
+
+ /FmPD /pdfmark load def
+
+
+ /FmPT /show load def
+
+
+ currentdistillerparams /CoreDistVersion get 2000 ge {
+
+
+ /FmPD2 /pdfmark load def
+
+
+
+
+
+ /FmPA { mark exch /Dest exch 5 3 roll
+ /View [ /XYZ null 6 -2 roll FmDC exch pop null] /DEST FmPD
+ }FmBD
+ } {
+
+ /FmPD2 /cleartomark load def
+ /FmPA {pop pop pop}FmBD
+ } ifelse
+} {
+
+ /fMAcrobat false def
+ /FmPD /cleartomark load def
+ /FmPD2 /cleartomark load def
+ /FmPT /pop load def
+ /FmPA {pop pop pop}FmBD
+} ifelse
+/FmDC {
+ transform fMDefaultMatrix itransform cvi exch cvi exch
+}FmBD
+/FmBx {
+ dup 3 index lt {3 1 roll exch} if
+ 1 index 4 index lt {4 -1 roll 3 1 roll exch 4 1 roll} if
+}FmBD
+/FMnone 0 def
+/FMcyan 1 def
+/FMmagenta 2 def
+/FMyellow 3 def
+/FMblack 4 def
+/FMcustom 5 def
+/fMNegative false def
+/FrameSepIs FMnone def
+/FrameSepBlack 0 def
+/FrameSepYellow 0 def
+/FrameSepMagenta 0 def
+/FrameSepCyan 0 def
+/FrameSepRed 1 def
+/FrameSepGreen 1 def
+/FrameSepBlue 1 def
+/FrameCurGray 1 def
+/FrameCurPat null def
+/FrameCurColors [ 0 0 0 1 0 0 0 ] def
+/FrameColorEpsilon .001 def
+/eqepsilon {
+ sub dup 0 lt {neg} if
+ FrameColorEpsilon le
+} bind def
+/FrameCmpColorsCMYK {
+ 2 copy 0 get exch 0 get eqepsilon {
+ 2 copy 1 get exch 1 get eqepsilon {
+ 2 copy 2 get exch 2 get eqepsilon {
+ 3 get exch 3 get eqepsilon
+ } {pop pop false} ifelse
+ }{pop pop false} ifelse
+ } {pop pop false} ifelse
+} bind def
+/FrameCmpColorsRGB {
+ 2 copy 4 get exch 0 get eqepsilon {
+ 2 copy 5 get exch 1 get eqepsilon {
+ 6 get exch 2 get eqepsilon
+ }{pop pop false} ifelse
+ } {pop pop false} ifelse
+} bind def
+/RGBtoCMYK {
+ 1 exch sub
+ 3 1 roll
+ 1 exch sub
+ 3 1 roll
+ 1 exch sub
+ 3 1 roll
+ 3 copy
+ 2 copy
+ le { pop } { exch pop } ifelse
+ 2 copy
+ le { pop } { exch pop } ifelse
+ dup dup dup
+ 6 1 roll
+ 4 1 roll
+ 7 1 roll
+ sub
+ 6 1 roll
+ sub
+ 5 1 roll
+ sub
+ 4 1 roll
+} bind def
+/CMYKtoRGB {
+ dup dup 4 -1 roll add
+ 5 1 roll 3 -1 roll add
+ 4 1 roll add
+ 1 exch sub dup 0 lt {pop 0} if 3 1 roll
+ 1 exch sub dup 0 lt {pop 0} if exch
+ 1 exch sub dup 0 lt {pop 0} if exch
+} bind def
+/FrameSepInit {
+ 1.0 RealSetgray
+} bind def
+/FrameSetSepColor {
+ /FrameSepBlue exch def
+ /FrameSepGreen exch def
+ /FrameSepRed exch def
+ /FrameSepBlack exch def
+ /FrameSepYellow exch def
+ /FrameSepMagenta exch def
+ /FrameSepCyan exch def
+ /FrameSepIs FMcustom def
+ setCurrentScreen
+} bind def
+/FrameSetCyan {
+ /FrameSepBlue 1.0 def
+ /FrameSepGreen 1.0 def
+ /FrameSepRed 0.0 def
+ /FrameSepBlack 0.0 def
+ /FrameSepYellow 0.0 def
+ /FrameSepMagenta 0.0 def
+ /FrameSepCyan 1.0 def
+ /FrameSepIs FMcyan def
+ setCurrentScreen
+} bind def
+
+/FrameSetMagenta {
+ /FrameSepBlue 1.0 def
+ /FrameSepGreen 0.0 def
+ /FrameSepRed 1.0 def
+ /FrameSepBlack 0.0 def
+ /FrameSepYellow 0.0 def
+ /FrameSepMagenta 1.0 def
+ /FrameSepCyan 0.0 def
+ /FrameSepIs FMmagenta def
+ setCurrentScreen
+} bind def
+
+/FrameSetYellow {
+ /FrameSepBlue 0.0 def
+ /FrameSepGreen 1.0 def
+ /FrameSepRed 1.0 def
+ /FrameSepBlack 0.0 def
+ /FrameSepYellow 1.0 def
+ /FrameSepMagenta 0.0 def
+ /FrameSepCyan 0.0 def
+ /FrameSepIs FMyellow def
+ setCurrentScreen
+} bind def
+
+/FrameSetBlack {
+ /FrameSepBlue 0.0 def
+ /FrameSepGreen 0.0 def
+ /FrameSepRed 0.0 def
+ /FrameSepBlack 1.0 def
+ /FrameSepYellow 0.0 def
+ /FrameSepMagenta 0.0 def
+ /FrameSepCyan 0.0 def
+ /FrameSepIs FMblack def
+ setCurrentScreen
+} bind def
+
+/FrameNoSep {
+ /FrameSepIs FMnone def
+ setCurrentScreen
+} bind def
+/FrameSetSepColors {
+ FrameDict begin
+ [ exch 1 add 1 roll ]
+ /FrameSepColors
+ exch def end
+ } bind def
+/FrameColorInSepListCMYK {
+ FrameSepColors {
+ exch dup 3 -1 roll
+ FrameCmpColorsCMYK
+ { pop true exit } if
+ } forall
+ dup true ne {pop false} if
+ } bind def
+/FrameColorInSepListRGB {
+ FrameSepColors {
+ exch dup 3 -1 roll
+ FrameCmpColorsRGB
+ { pop true exit } if
+ } forall
+ dup true ne {pop false} if
+ } bind def
+/RealSetgray /setgray load def
+/RealSetrgbcolor /setrgbcolor load def
+/RealSethsbcolor /sethsbcolor load def
+end
+/setgray {
+ FrameDict begin
+ FrameSepIs FMnone eq
+ { RealSetgray }
+ {
+ FrameSepIs FMblack eq
+ { RealSetgray }
+ { FrameSepIs FMcustom eq
+ FrameSepRed 0 eq and
+ FrameSepGreen 0 eq and
+ FrameSepBlue 0 eq and {
+ RealSetgray
+ } {
+ 1 RealSetgray pop
+ } ifelse
+ } ifelse
+ } ifelse
+ end
+} bind def
+/setrgbcolor {
+ FrameDict begin
+ FrameSepIs FMnone eq
+ { RealSetrgbcolor }
+ {
+ 3 copy [ 4 1 roll ]
+ FrameColorInSepListRGB
+ {
+ FrameSepBlue eq exch
+ FrameSepGreen eq and exch
+ FrameSepRed eq and
+ { 0 } { 1 } ifelse
+ }
+ {
+ FMPColor {
+ RealSetrgbcolor
+ currentcmykcolor
+ } {
+ RGBtoCMYK
+ } ifelse
+ FrameSepIs FMblack eq
+ {1.0 exch sub 4 1 roll pop pop pop} {
+ FrameSepIs FMyellow eq
+ {pop 1.0 exch sub 3 1 roll pop pop} {
+ FrameSepIs FMmagenta eq
+ {pop pop 1.0 exch sub exch pop } {
+ FrameSepIs FMcyan eq
+ {pop pop pop 1.0 exch sub }
+ {pop pop pop pop 1} ifelse } ifelse } ifelse } ifelse
+ } ifelse
+ RealSetgray
+ }
+ ifelse
+ end
+} bind def
+/sethsbcolor {
+ FrameDict begin
+ FrameSepIs FMnone eq
+ { RealSethsbcolor }
+ {
+ RealSethsbcolor
+ currentrgbcolor
+ setrgbcolor
+ }
+ ifelse
+ end
+} bind def
+FrameDict begin
+/setcmykcolor where {
+ pop /RealSetcmykcolor /setcmykcolor load def
+} {
+ /RealSetcmykcolor {
+ 4 1 roll
+ 3 { 3 index add 0 max 1 min 1 exch sub 3 1 roll} repeat
+ RealSetrgbcolor pop
+ } bind def
+} ifelse
+userdict /setcmykcolor {
+ FrameDict begin
+ FrameSepIs FMnone eq
+ { RealSetcmykcolor }
+ {
+ 4 copy [ 5 1 roll ]
+ FrameColorInSepListCMYK
+ {
+ FrameSepBlack eq exch
+ FrameSepYellow eq and exch
+ FrameSepMagenta eq and exch
+ FrameSepCyan eq and
+ { 0 } { 1 } ifelse
+ }
+ {
+ FrameSepIs FMblack eq
+ {1.0 exch sub 4 1 roll pop pop pop} {
+ FrameSepIs FMyellow eq
+ {pop 1.0 exch sub 3 1 roll pop pop} {
+ FrameSepIs FMmagenta eq
+ {pop pop 1.0 exch sub exch pop } {
+ FrameSepIs FMcyan eq
+ {pop pop pop 1.0 exch sub }
+ {pop pop pop pop 1} ifelse } ifelse } ifelse } ifelse
+ } ifelse
+ RealSetgray
+ }
+ ifelse
+ end
+ } bind put
+fMLevel1 {
+
+
+
+ /patScreenDict 7 dict dup begin
+ <0f1e3c78f0e1c387> [ 45 { pop } {exch pop} .5 2 sqrt] FmBD
+ <0f87c3e1f0783c1e> [ 135 { pop } {exch pop} .5 2 sqrt] FmBD
+ <cccccccccccccccc> [ 0 { pop } dup .5 2 ] FmBD
+ <ffff0000ffff0000> [ 90 { pop } dup .5 2 ] FmBD
+ <8142241818244281> [ 45 { 2 copy lt {exch} if pop} dup .75 2 sqrt] FmBD
+ <03060c183060c081> [ 45 { pop } {exch pop} .875 2 sqrt] FmBD
+ <8040201008040201> [ 135 { pop } {exch pop} .875 2 sqrt] FmBD
+ end def
+} {
+
+ /patProcDict 5 dict dup begin
+ <0f1e3c78f0e1c387> { 3 setlinewidth -1 -1 moveto 9 9 lineto stroke
+ 4 -4 moveto 12 4 lineto stroke
+ -4 4 moveto 4 12 lineto stroke} bind def
+ <0f87c3e1f0783c1e> { 3 setlinewidth -1 9 moveto 9 -1 lineto stroke
+ -4 4 moveto 4 -4 lineto stroke
+ 4 12 moveto 12 4 lineto stroke} bind def
+ <8142241818244281> { 1 setlinewidth -1 9 moveto 9 -1 lineto stroke
+ -1 -1 moveto 9 9 lineto stroke } bind def
+ <03060c183060c081> { 1 setlinewidth -1 -1 moveto 9 9 lineto stroke
+ 4 -4 moveto 12 4 lineto stroke
+ -4 4 moveto 4 12 lineto stroke} bind def
+ <8040201008040201> { 1 setlinewidth -1 9 moveto 9 -1 lineto stroke
+ -4 4 moveto 4 -4 lineto stroke
+ 4 12 moveto 12 4 lineto stroke} bind def
+ end def
+ /patDict 15 dict dup begin
+ /PatternType 1 def
+ /PaintType 2 def
+ /TilingType 3 def
+ /BBox [ 0 0 8 8 ] def
+ /XStep 8 def
+ /YStep 8 def
+ /PaintProc {
+ begin
+ patProcDict bstring known {
+ patProcDict bstring get exec
+ } {
+ 8 8 true [1 0 0 -1 0 8] bstring imagemask
+ } ifelse
+ end
+ } bind def
+ end def
+} ifelse
+/combineColor {
+ FrameSepIs FMnone eq
+ {
+ graymode fMLevel1 or not {
+
+ [/Pattern [/DeviceCMYK]] setcolorspace
+ FrameCurColors 0 4 getinterval aload pop FrameCurPat setcolor
+ } {
+ FrameCurColors 3 get 1.0 ge {
+ FrameCurGray RealSetgray
+ } {
+ fMAcrobat not FMPColor graymode and and {
+ 0 1 3 {
+ FrameCurColors exch get
+ 1 FrameCurGray sub mul
+ } for
+ RealSetcmykcolor
+ } {
+ 4 1 6 {
+ FrameCurColors exch get
+ graymode {
+ 1 exch sub 1 FrameCurGray sub mul 1 exch sub
+ } {
+ 1.0 lt {FrameCurGray} {1} ifelse
+ } ifelse
+ } for
+ RealSetrgbcolor
+ } ifelse
+ } ifelse
+ } ifelse
+ } {
+ FrameCurColors 0 4 getinterval aload
+ FrameColorInSepListCMYK {
+ FrameSepBlack eq exch
+ FrameSepYellow eq and exch
+ FrameSepMagenta eq and exch
+ FrameSepCyan eq and
+ FrameSepIs FMcustom eq and
+ { FrameCurGray } { 1 } ifelse
+ } {
+ FrameSepIs FMblack eq
+ {FrameCurGray 1.0 exch sub mul 1.0 exch sub 4 1 roll pop pop pop} {
+ FrameSepIs FMyellow eq
+ {pop FrameCurGray 1.0 exch sub mul 1.0 exch sub 3 1 roll pop pop} {
+ FrameSepIs FMmagenta eq
+ {pop pop FrameCurGray 1.0 exch sub mul 1.0 exch sub exch pop } {
+ FrameSepIs FMcyan eq
+ {pop pop pop FrameCurGray 1.0 exch sub mul 1.0 exch sub }
+ {pop pop pop pop 1} ifelse } ifelse } ifelse } ifelse
+ } ifelse
+ graymode fMLevel1 or not {
+
+ [/Pattern [/DeviceGray]] setcolorspace
+ FrameCurPat setcolor
+ } {
+ graymode not fMLevel1 and {
+
+ dup 1 lt {pop FrameCurGray} if
+ } if
+ RealSetgray
+ } ifelse
+ } ifelse
+} bind def
+/savematrix {
+ orgmatrix currentmatrix pop
+ } bind def
+/restorematrix {
+ orgmatrix setmatrix
+ } bind def
+/fMDefaultMatrix matrix defaultmatrix def
+/fMatrix2 matrix def
+/dpi 72 0 fMDefaultMatrix dtransform
+ dup mul exch dup mul add sqrt def
+
+/freq dpi dup 72 div round dup 0 eq {pop 1} if 8 mul div def
+/sangle 1 0 fMDefaultMatrix dtransform exch atan def
+ sangle fMatrix2 rotate
+ fMDefaultMatrix fMatrix2 concatmatrix
+ dup 0 get /sflipx exch def
+ 3 get /sflipy exch def
+/screenIndex {
+ 0 1 dpiranges length 1 sub { dup dpiranges exch get 1 sub dpi le {exit} {pop} ifelse } for
+} bind def
+/getCyanScreen {
+ FMUseHighFrequencyScreens { CHighAngles CMHighFreqs} {CLowAngles CMLowFreqs} ifelse
+ screenIndex dup 3 1 roll get 3 1 roll get /FMSpotFunction load
+} bind def
+/getMagentaScreen {
+ FMUseHighFrequencyScreens { MHighAngles CMHighFreqs } {MLowAngles CMLowFreqs} ifelse
+ screenIndex dup 3 1 roll get 3 1 roll get /FMSpotFunction load
+} bind def
+/getYellowScreen {
+ FMUseHighFrequencyScreens { YHighTDot YHighFreqs} { YLowTDot YLowFreqs } ifelse
+ screenIndex dup 3 1 roll get 3 1 roll get { 3 div
+ {2 { 1 add 2 div 3 mul dup floor sub 2 mul 1 sub exch} repeat
+ FMSpotFunction } } {/FMSpotFunction load } ifelse
+ 0.0 exch
+} bind def
+/getBlackScreen {
+ FMUseHighFrequencyScreens { KHighFreqs } { KLowFreqs } ifelse
+ screenIndex get 45.0 /FMSpotFunction load
+} bind def
+/getSpotScreen {
+ getBlackScreen
+} bind def
+/getCompositeScreen {
+ getBlackScreen
+} bind def
+/FMSetScreen
+ fMLevel1 { /setscreen load
+ }{ {
+ 8 dict begin
+ /HalftoneType 1 def
+ /SpotFunction exch def
+ /Angle exch def
+ /Frequency exch def
+ /AccurateScreens FMUseAcccurateScreens def
+ currentdict end sethalftone
+ } bind } ifelse
+def
+/setDefaultScreen {
+ FMPColor {
+ orgrxfer cvx orggxfer cvx orgbxfer cvx orgxfer cvx setcolortransfer
+ }
+ {
+ orgxfer cvx settransfer
+ } ifelse
+ orgfreq organgle orgproc cvx setscreen
+} bind def
+/setCurrentScreen {
+ FrameSepIs FMnone eq {
+ FMUseDefaultNoSeparationScreen {
+ setDefaultScreen
+ } {
+ getCompositeScreen FMSetScreen
+ } ifelse
+ } {
+ FrameSepIs FMcustom eq {
+ FMUseDefaultSpotSeparationScreen {
+ setDefaultScreen
+ } {
+ getSpotScreen FMSetScreen
+ } ifelse
+ } {
+ FMUseDefaultProcessSeparationScreen {
+ setDefaultScreen
+ } {
+ FrameSepIs FMcyan eq {
+ getCyanScreen FMSetScreen
+ } {
+ FrameSepIs FMmagenta eq {
+ getMagentaScreen FMSetScreen
+ } {
+ FrameSepIs FMyellow eq {
+ getYellowScreen FMSetScreen
+ } {
+ getBlackScreen FMSetScreen
+ } ifelse
+ } ifelse
+ } ifelse
+ } ifelse
+ } ifelse
+ } ifelse
+} bind def
+end
+
+/FMDOCUMENT {
+ array /FMfonts exch def
+ /#copies exch def
+ FrameDict begin
+ 0 ne /manualfeed exch def
+ /paperheight exch def
+ /paperwidth exch def
+ 0 ne /fMNegative exch def
+ 0 ne /edown exch def
+ /yscale exch def
+ /xscale exch def
+ fMLevel1 {
+ manualfeed {setmanualfeed} if
+ /FMdicttop countdictstack 1 add def
+ /FMoptop count def
+ setpapername
+ manualfeed {true} {papersize} ifelse
+ {manualpapersize} {false} ifelse
+ {desperatepapersize} {false} ifelse
+ {papersizefailure} if
+ count -1 FMoptop {pop pop} for
+ countdictstack -1 FMdicttop {pop end} for
+ }
+ {2 dict
+ dup /PageSize [paperwidth paperheight] put
+ manualfeed {dup /ManualFeed manualfeed put} if
+ {setpagedevice} stopped {papersizefailure} if
+ }
+ ifelse
+
+ FMPColor {
+ currentcolorscreen
+ cvlit /orgproc exch def
+ /organgle exch def
+ /orgfreq exch def
+ cvlit /orgbproc exch def
+ /orgbangle exch def
+ /orgbfreq exch def
+ cvlit /orggproc exch def
+ /orggangle exch def
+ /orggfreq exch def
+ cvlit /orgrproc exch def
+ /orgrangle exch def
+ /orgrfreq exch def
+ currentcolortransfer
+ fMNegative {
+ 1 1 4 {
+ pop { 1 exch sub } fmConcatProcs 4 1 roll
+ } for
+ 4 copy
+ setcolortransfer
+ } if
+ cvlit /orgxfer exch def
+ cvlit /orgbxfer exch def
+ cvlit /orggxfer exch def
+ cvlit /orgrxfer exch def
+ } {
+ currentscreen
+ cvlit /orgproc exch def
+ /organgle exch def
+ /orgfreq exch def
+
+ currenttransfer
+ fMNegative {
+ { 1 exch sub } fmConcatProcs
+ dup settransfer
+ } if
+ cvlit /orgxfer exch def
+ } ifelse
+ end
+} def
+/FMBEGINPAGE {
+ FrameDict begin
+ /pagesave save def
+ 3.86 setmiterlimit
+ /landscape exch 0 ne def
+ landscape {
+ 90 rotate 0 exch dup /pwid exch def neg translate pop
+ }{
+ pop /pwid exch def
+ } ifelse
+ edown { [-1 0 0 1 pwid 0] concat } if
+ 0 0 moveto paperwidth 0 lineto paperwidth paperheight lineto
+ 0 paperheight lineto 0 0 lineto 1 setgray fill
+ xscale yscale scale
+ /orgmatrix matrix def
+ gsave
+} def
+/FMENDPAGE {
+ grestore
+ pagesave restore
+ end
+ showpage
+ } def
+/FMFONTDEFINE {
+ FrameDict begin
+ findfont
+ ReEncode
+ 1 index exch
+ definefont
+ FMfonts 3 1 roll
+ put
+ end
+ } def
+/FMFILLS {
+ FrameDict begin dup
+ array /fillvals exch def
+ dict /patCache exch def
+ end
+ } def
+/FMFILL {
+ FrameDict begin
+ fillvals 3 1 roll put
+ end
+ } def
+/FMNORMALIZEGRAPHICS {
+ newpath
+ 1 setlinewidth
+ 0 setlinecap
+ 0 0 0 sethsbcolor
+ 0 setgray
+ } bind def
+/FMBEGINEPSF {
+ end
+ /FMEPSF save def
+ /showpage {} def
+% See Adobe's "PostScript Language Reference Manual, 2nd Edition", page 714.
+% "...the following operators MUST NOT be used in an EPS file:" (emphasis ours)
+ /banddevice {(banddevice) FMBADEPSF} def
+ /clear {(clear) FMBADEPSF} def
+ /cleardictstack {(cleardictstack) FMBADEPSF} def
+ /copypage {(copypage) FMBADEPSF} def
+ /erasepage {(erasepage) FMBADEPSF} def
+ /exitserver {(exitserver) FMBADEPSF} def
+ /framedevice {(framedevice) FMBADEPSF} def
+ /grestoreall {(grestoreall) FMBADEPSF} def
+ /initclip {(initclip) FMBADEPSF} def
+ /initgraphics {(initgraphics) FMBADEPSF} def
+ /quit {(quit) FMBADEPSF} def
+ /renderbands {(renderbands) FMBADEPSF} def
+ /setglobal {(setglobal) FMBADEPSF} def
+ /setpagedevice {(setpagedevice) FMBADEPSF} def
+ /setshared {(setshared) FMBADEPSF} def
+ /startjob {(startjob) FMBADEPSF} def
+ /lettertray {(lettertray) FMBADEPSF} def
+ /letter {(letter) FMBADEPSF} def
+ /lettersmall {(lettersmall) FMBADEPSF} def
+ /11x17tray {(11x17tray) FMBADEPSF} def
+ /11x17 {(11x17) FMBADEPSF} def
+ /ledgertray {(ledgertray) FMBADEPSF} def
+ /ledger {(ledger) FMBADEPSF} def
+ /legaltray {(legaltray) FMBADEPSF} def
+ /legal {(legal) FMBADEPSF} def
+ /statementtray {(statementtray) FMBADEPSF} def
+ /statement {(statement) FMBADEPSF} def
+ /executivetray {(executivetray) FMBADEPSF} def
+ /executive {(executive) FMBADEPSF} def
+ /a3tray {(a3tray) FMBADEPSF} def
+ /a3 {(a3) FMBADEPSF} def
+ /a4tray {(a4tray) FMBADEPSF} def
+ /a4 {(a4) FMBADEPSF} def
+ /a4small {(a4small) FMBADEPSF} def
+ /b4tray {(b4tray) FMBADEPSF} def
+ /b4 {(b4) FMBADEPSF} def
+ /b5tray {(b5tray) FMBADEPSF} def
+ /b5 {(b5) FMBADEPSF} def
+ FMNORMALIZEGRAPHICS
+ [/fy /fx /fh /fw /ury /urx /lly /llx] {exch def} forall
+ fx fw 2 div add fy fh 2 div add translate
+ rotate
+ fw 2 div neg fh 2 div neg translate
+ fw urx llx sub div fh ury lly sub div scale
+ llx neg lly neg translate
+ /FMdicttop countdictstack 1 add def
+ /FMoptop count def
+ } bind def
+/FMENDEPSF {
+ count -1 FMoptop {pop pop} for
+ countdictstack -1 FMdicttop {pop end} for
+ FMEPSF restore
+ FrameDict begin
+ } bind def
+FrameDict begin
+/setmanualfeed {
+%%BeginFeature *ManualFeed True
+ statusdict /manualfeed true put
+%%EndFeature
+ } bind def
+/max {2 copy lt {exch} if pop} bind def
+/min {2 copy gt {exch} if pop} bind def
+/inch {72 mul} def
+/pagedimen {
+ paperheight sub abs 16 lt exch
+ paperwidth sub abs 16 lt and
+ {/papername exch def} {pop} ifelse
+ } bind def
+/setpapername {
+ /papersizedict 14 dict def
+ papersizedict begin
+ /papername /unknown def
+ /Letter 8.5 inch 11.0 inch pagedimen
+ /LetterSmall 7.68 inch 10.16 inch pagedimen
+ /Tabloid 11.0 inch 17.0 inch pagedimen
+ /Ledger 17.0 inch 11.0 inch pagedimen
+ /Legal 8.5 inch 14.0 inch pagedimen
+ /Statement 5.5 inch 8.5 inch pagedimen
+ /Executive 7.5 inch 10.0 inch pagedimen
+ /A3 11.69 inch 16.5 inch pagedimen
+ /A4 8.26 inch 11.69 inch pagedimen
+ /A4Small 7.47 inch 10.85 inch pagedimen
+ /B4 10.125 inch 14.33 inch pagedimen
+ /B5 7.16 inch 10.125 inch pagedimen
+ end
+ } bind def
+/papersize {
+ papersizedict begin
+ /Letter {lettertray letter} def
+ /LetterSmall {lettertray lettersmall} def
+ /Tabloid {11x17tray 11x17} def
+ /Ledger {ledgertray ledger} def
+ /Legal {legaltray legal} def
+ /Statement {statementtray statement} def
+ /Executive {executivetray executive} def
+ /A3 {a3tray a3} def
+ /A4 {a4tray a4} def
+ /A4Small {a4tray a4small} def
+ /B4 {b4tray b4} def
+ /B5 {b5tray b5} def
+ /unknown {unknown} def
+ papersizedict dup papername known {papername} {/unknown} ifelse get
+ end
+ statusdict begin stopped end
+ } bind def
+/manualpapersize {
+ papersizedict begin
+ /Letter {letter} def
+ /LetterSmall {lettersmall} def
+ /Tabloid {11x17} def
+ /Ledger {ledger} def
+ /Legal {legal} def
+ /Statement {statement} def
+ /Executive {executive} def
+ /A3 {a3} def
+ /A4 {a4} def
+ /A4Small {a4small} def
+ /B4 {b4} def
+ /B5 {b5} def
+ /unknown {unknown} def
+ papersizedict dup papername known {papername} {/unknown} ifelse get
+ end
+ stopped
+ } bind def
+/desperatepapersize {
+ statusdict /setpageparams known
+ {
+ paperwidth paperheight 0 1
+ statusdict begin
+ {setpageparams} stopped
+ end
+ } {true} ifelse
+ } bind def
+/papersizefailure {
+ FMAllowPaperSizeMismatch not
+ {
+(The requested paper size is not available in any currently-installed tray)
+(Edit the PS file to "FMAllowPaperSizeMismatch true" to use default tray)
+ FMFAILURE } if
+ } def
+/DiacriticEncoding [
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /space /exclam /quotedbl
+/numbersign /dollar /percent /ampersand /quotesingle /parenleft
+/parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
+/two /three /four /five /six /seven /eight /nine /colon /semicolon
+/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K
+/L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash
+/bracketright /asciicircum /underscore /grave /a /b /c /d /e /f /g /h
+/i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar
+/braceright /asciitilde /.notdef /Adieresis /Aring /Ccedilla /Eacute
+/Ntilde /Odieresis /Udieresis /aacute /agrave /acircumflex /adieresis
+/atilde /aring /ccedilla /eacute /egrave /ecircumflex /edieresis
+/iacute /igrave /icircumflex /idieresis /ntilde /oacute /ograve
+/ocircumflex /odieresis /otilde /uacute /ugrave /ucircumflex
+/udieresis /dagger /.notdef /cent /sterling /section /bullet
+/paragraph /germandbls /registered /copyright /trademark /acute
+/dieresis /.notdef /AE /Oslash /.notdef /.notdef /.notdef /.notdef
+/yen /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/ordfeminine /ordmasculine /.notdef /ae /oslash /questiondown
+/exclamdown /logicalnot /.notdef /florin /.notdef /.notdef
+/guillemotleft /guillemotright /ellipsis /.notdef /Agrave /Atilde
+/Otilde /OE /oe /endash /emdash /quotedblleft /quotedblright
+/quoteleft /quoteright /.notdef /.notdef /ydieresis /Ydieresis
+/fraction /currency /guilsinglleft /guilsinglright /fi /fl /daggerdbl
+/periodcentered /quotesinglbase /quotedblbase /perthousand
+/Acircumflex /Ecircumflex /Aacute /Edieresis /Egrave /Iacute
+/Icircumflex /Idieresis /Igrave /Oacute /Ocircumflex /.notdef /Ograve
+/Uacute /Ucircumflex /Ugrave /dotlessi /circumflex /tilde /macron
+/breve /dotaccent /ring /cedilla /hungarumlaut /ogonek /caron
+] def
+/ReEncode {
+ dup
+ length
+ dict begin
+ {
+ 1 index /FID ne
+ {def}
+ {pop pop} ifelse
+ } forall
+ 0 eq {/Encoding DiacriticEncoding def} if
+ currentdict
+ end
+ } bind def
+FMPColor
+
+ {
+ /BEGINBITMAPCOLOR {
+ BITMAPCOLOR} def
+ /BEGINBITMAPCOLORc {
+ BITMAPCOLORc} def
+ /BEGINBITMAPTRUECOLOR {
+ BITMAPTRUECOLOR } def
+ /BEGINBITMAPTRUECOLORc {
+ BITMAPTRUECOLORc } def
+ /BEGINBITMAPCMYK {
+ BITMAPCMYK } def
+ /BEGINBITMAPCMYKc {
+ BITMAPCMYKc } def
+ }
+
+ {
+ /BEGINBITMAPCOLOR {
+ BITMAPGRAY} def
+ /BEGINBITMAPCOLORc {
+ BITMAPGRAYc} def
+ /BEGINBITMAPTRUECOLOR {
+ BITMAPTRUEGRAY } def
+ /BEGINBITMAPTRUECOLORc {
+ BITMAPTRUEGRAYc } def
+ /BEGINBITMAPCMYK {
+ BITMAPCMYKGRAY } def
+ /BEGINBITMAPCMYKc {
+ BITMAPCMYKGRAYc } def
+ }
+ifelse
+/K {
+ FMPrintAllColorsAsBlack {
+ dup 1 eq 2 index 1 eq and 3 index 1 eq and not
+ {7 {pop} repeat 0 0 0 1 0 0 0} if
+ } if
+ FrameCurColors astore
+ pop combineColor
+} bind def
+/graymode true def
+fMLevel1 {
+ /fmGetFlip {
+ fMatrix2 exch get mul 0 lt { -1 } { 1 } ifelse
+ } FmBD
+} if
+/setPatternMode {
+ fMLevel1 {
+ 2 index patScreenDict exch known {
+ pop pop
+ patScreenDict exch get aload pop
+ freq
+ mul
+ 5 2 roll
+ fMatrix2 currentmatrix 1 get 0 ne {
+ 3 -1 roll 90 add 3 1 roll
+ sflipx 1 fmGetFlip sflipy 2 fmGetFlip neg mul
+ } {
+ sflipx 0 fmGetFlip sflipy 3 fmGetFlip mul
+ } ifelse
+ 0 lt {exch pop} {pop} ifelse
+ fMNegative {
+ {neg} fmConcatProcs
+ } if
+ bind
+
+
+
+ systemdict /setscreen get exec
+ /FrameCurGray exch def
+ } {
+ /bwidth exch def
+ /bpside exch def
+ /bstring exch def
+ /onbits 0 def /offbits 0 def
+ freq sangle landscape {90 add} if
+ {/ypoint exch def
+ /xpoint exch def
+ /xindex xpoint 1 add 2 div bpside mul cvi def
+ /yindex ypoint 1 add 2 div bpside mul cvi def
+ bstring yindex bwidth mul xindex 8 idiv add get
+ 1 7 xindex 8 mod sub bitshift and 0 ne fMNegative {not} if
+ {/onbits onbits 1 add def 1}
+ {/offbits offbits 1 add def 0}
+ ifelse
+ }
+ setscreen
+ offbits offbits onbits add div fMNegative {1.0 exch sub} if
+ /FrameCurGray exch def
+ } ifelse
+ } {
+ pop pop
+ dup patCache exch known {
+ patCache exch get
+ } {
+ dup
+ patDict /bstring 3 -1 roll put
+ patDict
+ 9 PatFreq screenIndex get div dup matrix scale
+ makepattern
+ dup
+ patCache 4 -1 roll 3 -1 roll put
+ } ifelse
+ /FrameCurGray 0 def
+ /FrameCurPat exch def
+ } ifelse
+ /graymode false def
+ combineColor
+} bind def
+/setGrayScaleMode {
+ graymode not {
+ /graymode true def
+ fMLevel1 {
+ setCurrentScreen
+ } if
+ } if
+ /FrameCurGray exch def
+ combineColor
+} bind def
+/normalize {
+ transform round exch round exch itransform
+ } bind def
+/dnormalize {
+ dtransform round exch round exch idtransform
+ } bind def
+/lnormalize {
+ 0 dtransform exch cvi 2 idiv 2 mul 1 add exch idtransform pop
+ } bind def
+/H {
+ lnormalize setlinewidth
+ } bind def
+/Z {
+ setlinecap
+ } bind def
+
+/PFill {
+ graymode fMLevel1 or not {
+ gsave 1 setgray eofill grestore
+ } if
+} bind def
+/PStroke {
+ graymode fMLevel1 or not {
+ gsave 1 setgray stroke grestore
+ } if
+ stroke
+} bind def
+/X {
+ fillvals exch get
+ dup type /stringtype eq
+ {8 1 setPatternMode}
+ {setGrayScaleMode}
+ ifelse
+ } bind def
+/V {
+ PFill gsave eofill grestore
+ } bind def
+/Vclip {
+ clip
+ } bind def
+/Vstrk {
+ currentlinewidth exch setlinewidth PStroke setlinewidth
+ } bind def
+/N {
+ PStroke
+ } bind def
+/Nclip {
+ strokepath clip newpath
+ } bind def
+/Nstrk {
+ currentlinewidth exch setlinewidth PStroke setlinewidth
+ } bind def
+/M {newpath moveto} bind def
+/E {lineto} bind def
+/D {curveto} bind def
+/O {closepath} bind def
+/L {
+ /n exch def
+ newpath
+ normalize
+ moveto
+ 2 1 n {pop normalize lineto} for
+ } bind def
+/Y {
+ L
+ closepath
+ } bind def
+/R {
+ /y2 exch def
+ /x2 exch def
+ /y1 exch def
+ /x1 exch def
+ x1 y1
+ x2 y1
+ x2 y2
+ x1 y2
+ 4 Y
+ } bind def
+/rarc
+ {rad
+ arcto
+ } bind def
+/RR {
+ /rad exch def
+ normalize
+ /y2 exch def
+ /x2 exch def
+ normalize
+ /y1 exch def
+ /x1 exch def
+ mark
+ newpath
+ {
+ x1 y1 rad add moveto
+ x1 y2 x2 y2 rarc
+ x2 y2 x2 y1 rarc
+ x2 y1 x1 y1 rarc
+ x1 y1 x1 y2 rarc
+ closepath
+ } stopped {x1 y1 x2 y2 R} if
+ cleartomark
+ } bind def
+/RRR {
+ /rad exch def
+ normalize /y4 exch def /x4 exch def
+ normalize /y3 exch def /x3 exch def
+ normalize /y2 exch def /x2 exch def
+ normalize /y1 exch def /x1 exch def
+ newpath
+ normalize moveto
+ mark
+ {
+ x2 y2 x3 y3 rarc
+ x3 y3 x4 y4 rarc
+ x4 y4 x1 y1 rarc
+ x1 y1 x2 y2 rarc
+ closepath
+ } stopped
+ {x1 y1 x2 y2 x3 y3 x4 y4 newpath moveto lineto lineto lineto closepath} if
+ cleartomark
+ } bind def
+/C {
+ grestore
+ gsave
+ R
+ clip
+ setCurrentScreen
+} bind def
+/CP {
+ grestore
+ gsave
+ Y
+ clip
+ setCurrentScreen
+} bind def
+/F {
+ FMfonts exch get
+ FMpointsize scalefont
+ setfont
+ } bind def
+/Q {
+ /FMpointsize exch def
+ F
+ } bind def
+/T {
+ moveto show
+ } bind def
+/RF {
+ rotate
+ 0 ne {-1 1 scale} if
+ } bind def
+/TF {
+ gsave
+ moveto
+ RF
+ show
+ grestore
+ } bind def
+/P {
+ moveto
+ 0 32 3 2 roll widthshow
+ } bind def
+/PF {
+ gsave
+ moveto
+ RF
+ 0 32 3 2 roll widthshow
+ grestore
+ } bind def
+/S {
+ moveto
+ 0 exch ashow
+ } bind def
+/SF {
+ gsave
+ moveto
+ RF
+ 0 exch ashow
+ grestore
+ } bind def
+/B {
+ moveto
+ 0 32 4 2 roll 0 exch awidthshow
+ } bind def
+/BF {
+ gsave
+ moveto
+ RF
+ 0 32 4 2 roll 0 exch awidthshow
+ grestore
+ } bind def
+/G {
+ gsave
+ newpath
+ normalize translate 0.0 0.0 moveto
+ dnormalize scale
+ 0.0 0.0 1.0 5 3 roll arc
+ closepath
+ PFill fill
+ grestore
+ } bind def
+/Gstrk {
+ savematrix
+ newpath
+ 2 index 2 div add exch 3 index 2 div sub exch
+ normalize 2 index 2 div sub exch 3 index 2 div add exch
+ translate
+ scale
+ 0.0 0.0 1.0 5 3 roll arc
+ restorematrix
+ currentlinewidth exch setlinewidth PStroke setlinewidth
+ } bind def
+/Gclip {
+ newpath
+ savematrix
+ normalize translate 0.0 0.0 moveto
+ dnormalize scale
+ 0.0 0.0 1.0 5 3 roll arc
+ closepath
+ clip newpath
+ restorematrix
+ } bind def
+/GG {
+ gsave
+ newpath
+ normalize translate 0.0 0.0 moveto
+ rotate
+ dnormalize scale
+ 0.0 0.0 1.0 5 3 roll arc
+ closepath
+ PFill
+ fill
+ grestore
+ } bind def
+/GGclip {
+ savematrix
+ newpath
+ normalize translate 0.0 0.0 moveto
+ rotate
+ dnormalize scale
+ 0.0 0.0 1.0 5 3 roll arc
+ closepath
+ clip newpath
+ restorematrix
+ } bind def
+/GGstrk {
+ savematrix
+ newpath
+ normalize translate 0.0 0.0 moveto
+ rotate
+ dnormalize scale
+ 0.0 0.0 1.0 5 3 roll arc
+ closepath
+ restorematrix
+ currentlinewidth exch setlinewidth PStroke setlinewidth
+ } bind def
+/A {
+ gsave
+ savematrix
+ newpath
+ 2 index 2 div add exch 3 index 2 div sub exch
+ normalize 2 index 2 div sub exch 3 index 2 div add exch
+ translate
+ scale
+ 0.0 0.0 1.0 5 3 roll arc
+ restorematrix
+ PStroke
+ grestore
+ } bind def
+/Aclip {
+ newpath
+ savematrix
+ normalize translate 0.0 0.0 moveto
+ dnormalize scale
+ 0.0 0.0 1.0 5 3 roll arc
+ closepath
+ strokepath clip newpath
+ restorematrix
+} bind def
+/Astrk {
+ Gstrk
+} bind def
+/AA {
+ gsave
+ savematrix
+ newpath
+
+ 3 index 2 div add exch 4 index 2 div sub exch
+
+ normalize 3 index 2 div sub exch 4 index 2 div add exch
+ translate
+ rotate
+ scale
+ 0.0 0.0 1.0 5 3 roll arc
+ restorematrix
+ PStroke
+ grestore
+ } bind def
+/AAclip {
+ savematrix
+ newpath
+ normalize translate 0.0 0.0 moveto
+ rotate
+ dnormalize scale
+ 0.0 0.0 1.0 5 3 roll arc
+ closepath
+ strokepath clip newpath
+ restorematrix
+} bind def
+/AAstrk {
+ GGstrk
+} bind def
+/BEGINPRINTCODE {
+ /FMdicttop countdictstack 1 add def
+ /FMoptop count 7 sub def
+ /FMsaveobject save def
+ userdict begin
+ /showpage {} def
+ FMNORMALIZEGRAPHICS
+ 3 index neg 3 index neg translate
+ } bind def
+/ENDPRINTCODE {
+ count -1 FMoptop {pop pop} for
+ countdictstack -1 FMdicttop {pop end} for
+ FMsaveobject restore
+ } bind def
+/gn {
+ 0
+ { 46 mul
+ cf read pop
+ 32 sub
+ dup 46 lt {exit} if
+ 46 sub add
+ } loop
+ add
+ } bind def
+/cfs {
+ /str sl string def
+ 0 1 sl 1 sub {str exch val put} for
+ str def
+ } bind def
+/ic [
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223
+ 0
+ {0 hx} {1 hx} {2 hx} {3 hx} {4 hx} {5 hx} {6 hx} {7 hx} {8 hx} {9 hx}
+ {10 hx} {11 hx} {12 hx} {13 hx} {14 hx} {15 hx} {16 hx} {17 hx} {18 hx}
+ {19 hx} {gn hx} {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12}
+ {13} {14} {15} {16} {17} {18} {19} {gn} {0 wh} {1 wh} {2 wh} {3 wh}
+ {4 wh} {5 wh} {6 wh} {7 wh} {8 wh} {9 wh} {10 wh} {11 wh} {12 wh}
+ {13 wh} {14 wh} {gn wh} {0 bl} {1 bl} {2 bl} {3 bl} {4 bl} {5 bl} {6 bl}
+ {7 bl} {8 bl} {9 bl} {10 bl} {11 bl} {12 bl} {13 bl} {14 bl} {gn bl}
+ {0 fl} {1 fl} {2 fl} {3 fl} {4 fl} {5 fl} {6 fl} {7 fl} {8 fl} {9 fl}
+ {10 fl} {11 fl} {12 fl} {13 fl} {14 fl} {gn fl}
+ ] def
+/ms {
+ /sl exch def
+ /val 255 def
+ /ws cfs
+ /im cfs
+ /val 0 def
+ /bs cfs
+ /cs cfs
+ } bind def
+400 ms
+/ip {
+ is
+ 0
+ cf cs readline pop
+ { ic exch get exec
+ add
+ } forall
+ pop
+
+ } bind def
+/rip {
+
+
+ bis ris copy pop
+ is
+ 0
+ cf cs readline pop
+ { ic exch get exec
+ add
+ } forall
+ pop pop
+ ris gis copy pop
+ dup is exch
+
+ cf cs readline pop
+ { ic exch get exec
+ add
+ } forall
+ pop pop
+ gis bis copy pop
+ dup add is exch
+
+ cf cs readline pop
+ { ic exch get exec
+ add
+ } forall
+ pop
+
+ } bind def
+/rip4 {
+
+
+ kis cis copy pop
+ is
+ 0
+ cf cs readline pop
+ { ic exch get exec
+ add
+ } forall
+ pop pop
+ cis mis copy pop
+ dup is exch
+
+ cf cs readline pop
+ { ic exch get exec
+ add
+ } forall
+ pop pop
+ mis yis copy pop
+ dup dup add is exch
+
+ cf cs readline pop
+ { ic exch get exec
+ add
+ } forall
+ pop pop
+ yis kis copy pop
+ 3 mul is exch
+
+ cf cs readline pop
+ { ic exch get exec
+ add
+ } forall
+ pop
+
+ } bind def
+/wh {
+ /len exch def
+ /pos exch def
+ ws 0 len getinterval im pos len getinterval copy pop
+ pos len
+ } bind def
+/bl {
+ /len exch def
+ /pos exch def
+ bs 0 len getinterval im pos len getinterval copy pop
+ pos len
+ } bind def
+/s1 1 string def
+/fl {
+ /len exch def
+ /pos exch def
+ /val cf s1 readhexstring pop 0 get def
+ pos 1 pos len add 1 sub {im exch val put} for
+ pos len
+ } bind def
+/hx {
+ 3 copy getinterval
+ cf exch readhexstring pop pop
+ } bind def
+/wbytes {
+ dup dup
+ 8 gt { pop 8 idiv mul }
+ { 8 eq {pop} {1 eq {7 add 8 idiv} {3 add 4 idiv} ifelse} ifelse } ifelse
+ } bind def
+/BEGINBITMAPBWc {
+ 1 {} COMMONBITMAPc
+ } bind def
+/BEGINBITMAPGRAYc {
+ 8 {} COMMONBITMAPc
+ } bind def
+/BEGINBITMAP2BITc {
+ 2 {} COMMONBITMAPc
+ } bind def
+/COMMONBITMAPc {
+
+ /cvtProc exch def
+ /depth exch def
+ gsave
+
+ 3 index 2 div add exch
+ 4 index 2 div add exch
+ translate
+ rotate
+ 1 index 2 div neg
+ 1 index 2 div neg
+ translate
+ scale
+ /height exch def /width exch def
+ /lb width depth wbytes def
+ sl lb lt {lb ms} if
+ /bitmapsave save def
+ cvtProc
+ /is im 0 lb getinterval def
+ ws 0 lb getinterval is copy pop
+ /cf currentfile def
+ width height depth [width 0 0 height neg 0 height]
+ {ip} image
+ bitmapsave restore
+ grestore
+ } bind def
+/BEGINBITMAPBW {
+ 1 {} COMMONBITMAP
+ } bind def
+/BEGINBITMAPGRAY {
+ 8 {} COMMONBITMAP
+ } bind def
+/BEGINBITMAP2BIT {
+ 2 {} COMMONBITMAP
+ } bind def
+/COMMONBITMAP {
+ /cvtProc exch def
+ /depth exch def
+ gsave
+
+ 3 index 2 div add exch
+ 4 index 2 div add exch
+ translate
+ rotate
+ 1 index 2 div neg
+ 1 index 2 div neg
+ translate
+ scale
+ /height exch def /width exch def
+ /bitmapsave save def
+ cvtProc
+ /is width depth wbytes string def
+ /cf currentfile def
+ width height depth [width 0 0 height neg 0 height]
+ {cf is readhexstring pop} image
+ bitmapsave restore
+ grestore
+ } bind def
+/ngrayt 256 array def
+/nredt 256 array def
+/nbluet 256 array def
+/ngreent 256 array def
+fMLevel1 {
+/colorsetup {
+ currentcolortransfer
+ /gryt exch def
+ /blut exch def
+ /grnt exch def
+ /redt exch def
+ 0 1 255 {
+ /indx exch def
+ /cynu 1 red indx get 255 div sub def
+ /magu 1 green indx get 255 div sub def
+ /yelu 1 blue indx get 255 div sub def
+ /kk cynu magu min yelu min def
+ /u kk currentundercolorremoval exec def
+% /u 0 def
+ nredt indx 1 0 cynu u sub max sub redt exec put
+ ngreent indx 1 0 magu u sub max sub grnt exec put
+ nbluet indx 1 0 yelu u sub max sub blut exec put
+ ngrayt indx 1 kk currentblackgeneration exec sub gryt exec put
+ } for
+ {255 mul cvi nredt exch get}
+ {255 mul cvi ngreent exch get}
+ {255 mul cvi nbluet exch get}
+ {255 mul cvi ngrayt exch get}
+ setcolortransfer
+ {pop 0} setundercolorremoval
+ {} setblackgeneration
+ } bind def
+}
+{
+/colorSetup2 {
+ [ /Indexed /DeviceRGB 255
+ {dup red exch get 255 div
+ exch dup green exch get 255 div
+ exch blue exch get 255 div}
+ ] setcolorspace
+} bind def
+} ifelse
+/fakecolorsetup {
+ /tran 256 string def
+ 0 1 255 {/indx exch def
+ tran indx
+ red indx get 77 mul
+ green indx get 151 mul
+ blue indx get 28 mul
+ add add 256 idiv put} for
+ currenttransfer
+ {255 mul cvi tran exch get 255.0 div}
+ exch fmConcatProcs settransfer
+} bind def
+/BITMAPCOLOR {
+ /depth 8 def
+ gsave
+
+ 3 index 2 div add exch
+ 4 index 2 div add exch
+ translate
+ rotate
+ 1 index 2 div neg
+ 1 index 2 div neg
+ translate
+ scale
+ /height exch def /width exch def
+ /bitmapsave save def
+ fMLevel1 {
+ colorsetup
+ /is width depth wbytes string def
+ /cf currentfile def
+ width height depth [width 0 0 height neg 0 height]
+ {cf is readhexstring pop} {is} {is} true 3 colorimage
+ } {
+ colorSetup2
+ /is width depth wbytes string def
+ /cf currentfile def
+ 7 dict dup begin
+ /ImageType 1 def
+ /Width width def
+ /Height height def
+ /ImageMatrix [width 0 0 height neg 0 height] def
+ /DataSource {cf is readhexstring pop} bind def
+ /BitsPerComponent depth def
+ /Decode [0 255] def
+ end image
+ } ifelse
+ bitmapsave restore
+ grestore
+ } bind def
+/BITMAPCOLORc {
+ /depth 8 def
+ gsave
+
+ 3 index 2 div add exch
+ 4 index 2 div add exch
+ translate
+ rotate
+ 1 index 2 div neg
+ 1 index 2 div neg
+ translate
+ scale
+ /height exch def /width exch def
+ /lb width depth wbytes def
+ sl lb lt {lb ms} if
+ /bitmapsave save def
+ fMLevel1 {
+ colorsetup
+ /is im 0 lb getinterval def
+ ws 0 lb getinterval is copy pop
+ /cf currentfile def
+ width height depth [width 0 0 height neg 0 height]
+ {ip} {is} {is} true 3 colorimage
+ } {
+ colorSetup2
+ /is im 0 lb getinterval def
+ ws 0 lb getinterval is copy pop
+ /cf currentfile def
+ 7 dict dup begin
+ /ImageType 1 def
+ /Width width def
+ /Height height def
+ /ImageMatrix [width 0 0 height neg 0 height] def
+ /DataSource {ip} bind def
+ /BitsPerComponent depth def
+ /Decode [0 255] def
+ end image
+ } ifelse
+ bitmapsave restore
+ grestore
+ } bind def
+/BITMAPTRUECOLORc {
+ /depth 24 def
+ gsave
+
+ 3 index 2 div add exch
+ 4 index 2 div add exch
+ translate
+ rotate
+ 1 index 2 div neg
+ 1 index 2 div neg
+ translate
+ scale
+ /height exch def /width exch def
+ /lb width depth wbytes def
+ sl lb lt {lb ms} if
+ /bitmapsave save def
+
+ /is im 0 lb getinterval def
+ /ris im 0 width getinterval def
+ /gis im width width getinterval def
+ /bis im width 2 mul width getinterval def
+
+ ws 0 lb getinterval is copy pop
+ /cf currentfile def
+ width height 8 [width 0 0 height neg 0 height]
+ {width rip pop ris} {gis} {bis} true 3 colorimage
+ bitmapsave restore
+ grestore
+ } bind def
+/BITMAPCMYKc {
+ /depth 32 def
+ gsave
+
+ 3 index 2 div add exch
+ 4 index 2 div add exch
+ translate
+ rotate
+ 1 index 2 div neg
+ 1 index 2 div neg
+ translate
+ scale
+ /height exch def /width exch def
+ /lb width depth wbytes def
+ sl lb lt {lb ms} if
+ /bitmapsave save def
+
+ /is im 0 lb getinterval def
+ /cis im 0 width getinterval def
+ /mis im width width getinterval def
+ /yis im width 2 mul width getinterval def
+ /kis im width 3 mul width getinterval def
+
+ ws 0 lb getinterval is copy pop
+ /cf currentfile def
+ width height 8 [width 0 0 height neg 0 height]
+ {width rip4 pop cis} {mis} {yis} {kis} true 4 colorimage
+ bitmapsave restore
+ grestore
+ } bind def
+/BITMAPTRUECOLOR {
+ gsave
+
+ 3 index 2 div add exch
+ 4 index 2 div add exch
+ translate
+ rotate
+ 1 index 2 div neg
+ 1 index 2 div neg
+ translate
+ scale
+ /height exch def /width exch def
+ /bitmapsave save def
+ /is width string def
+ /gis width string def
+ /bis width string def
+ /cf currentfile def
+ width height 8 [width 0 0 height neg 0 height]
+ { cf is readhexstring pop }
+ { cf gis readhexstring pop }
+ { cf bis readhexstring pop }
+ true 3 colorimage
+ bitmapsave restore
+ grestore
+ } bind def
+/BITMAPCMYK {
+ gsave
+
+ 3 index 2 div add exch
+ 4 index 2 div add exch
+ translate
+ rotate
+ 1 index 2 div neg
+ 1 index 2 div neg
+ translate
+ scale
+ /height exch def /width exch def
+ /bitmapsave save def
+ /is width string def
+ /mis width string def
+ /yis width string def
+ /kis width string def
+ /cf currentfile def
+ width height 8 [width 0 0 height neg 0 height]
+ { cf is readhexstring pop }
+ { cf mis readhexstring pop }
+ { cf yis readhexstring pop }
+ { cf kis readhexstring pop }
+ true 4 colorimage
+ bitmapsave restore
+ grestore
+ } bind def
+/BITMAPTRUEGRAYc {
+ /depth 24 def
+ gsave
+
+ 3 index 2 div add exch
+ 4 index 2 div add exch
+ translate
+ rotate
+ 1 index 2 div neg
+ 1 index 2 div neg
+ translate
+ scale
+ /height exch def /width exch def
+ /lb width depth wbytes def
+ sl lb lt {lb ms} if
+ /bitmapsave save def
+
+ /is im 0 lb getinterval def
+ /ris im 0 width getinterval def
+ /gis im width width getinterval def
+ /bis im width 2 mul width getinterval def
+ ws 0 lb getinterval is copy pop
+ /cf currentfile def
+ width height 8 [width 0 0 height neg 0 height]
+ {width rip pop ris gis bis width gray} image
+ bitmapsave restore
+ grestore
+ } bind def
+/BITMAPCMYKGRAYc {
+ /depth 32 def
+ gsave
+
+ 3 index 2 div add exch
+ 4 index 2 div add exch
+ translate
+ rotate
+ 1 index 2 div neg
+ 1 index 2 div neg
+ translate
+ scale
+ /height exch def /width exch def
+ /lb width depth wbytes def
+ sl lb lt {lb ms} if
+ /bitmapsave save def
+
+ /is im 0 lb getinterval def
+ /cis im 0 width getinterval def
+ /mis im width width getinterval def
+ /yis im width 2 mul width getinterval def
+ /kis im width 3 mul width getinterval def
+ ws 0 lb getinterval is copy pop
+ /cf currentfile def
+ width height 8 [width 0 0 height neg 0 height]
+ {width rip pop cis mis yis kis width cgray} image
+ bitmapsave restore
+ grestore
+ } bind def
+/cgray {
+ /ww exch def
+ /k exch def
+ /y exch def
+ /m exch def
+ /c exch def
+ 0 1 ww 1 sub { /i exch def c i get m i get y i get k i get CMYKtoRGB
+ .144 mul 3 1 roll .587 mul 3 1 roll .299 mul add add
+ c i 3 -1 roll floor cvi put } for
+ c
+ } bind def
+/gray {
+ /ww exch def
+ /b exch def
+ /g exch def
+ /r exch def
+ 0 1 ww 1 sub { /i exch def r i get .299 mul g i get .587 mul
+ b i get .114 mul add add r i 3 -1 roll floor cvi put } for
+ r
+ } bind def
+/BITMAPTRUEGRAY {
+ gsave
+
+ 3 index 2 div add exch
+ 4 index 2 div add exch
+ translate
+ rotate
+ 1 index 2 div neg
+ 1 index 2 div neg
+ translate
+ scale
+ /height exch def /width exch def
+ /bitmapsave save def
+ /is width string def
+ /gis width string def
+ /bis width string def
+ /cf currentfile def
+ width height 8 [width 0 0 height neg 0 height]
+ { cf is readhexstring pop
+ cf gis readhexstring pop
+ cf bis readhexstring pop width gray} image
+ bitmapsave restore
+ grestore
+ } bind def
+/BITMAPCMYKGRAY {
+ gsave
+
+ 3 index 2 div add exch
+ 4 index 2 div add exch
+ translate
+ rotate
+ 1 index 2 div neg
+ 1 index 2 div neg
+ translate
+ scale
+ /height exch def /width exch def
+ /bitmapsave save def
+ /is width string def
+ /yis width string def
+ /mis width string def
+ /kis width string def
+ /cf currentfile def
+ width height 8 [width 0 0 height neg 0 height]
+ { cf is readhexstring pop
+ cf mis readhexstring pop
+ cf yis readhexstring pop
+ cf kis readhexstring pop width cgray} image
+ bitmapsave restore
+ grestore
+ } bind def
+/BITMAPGRAY {
+ 8 {fakecolorsetup} COMMONBITMAP
+ } bind def
+/BITMAPGRAYc {
+ 8 {fakecolorsetup} COMMONBITMAPc
+ } bind def
+/ENDBITMAP {
+ } bind def
+end
+ /ALDmatrix matrix def ALDmatrix currentmatrix pop
+/StartALD {
+ /ALDsave save def
+ savematrix
+ ALDmatrix setmatrix
+ } bind def
+/InALD {
+ restorematrix
+ } bind def
+/DoneALD {
+ ALDsave restore
+ } bind def
+/I { setdash } bind def
+/J { [] 0 setdash } bind def
+%%EndProlog
+%%BeginSetup
+(5.0) FMVERSION
+1 1 0 0 612 792 0 1 26 FMDOCUMENT
+0 0 /Helvetica-Bold FMFONTDEFINE
+1 0 /Times-Roman FMFONTDEFINE
+2 0 /Courier FMFONTDEFINE
+3 0 /Times-Italic FMFONTDEFINE
+4 0 /Times-Bold FMFONTDEFINE
+5 0 /Helvetica FMFONTDEFINE
+6 0 /Courier-Oblique FMFONTDEFINE
+7 0 /Courier-Bold FMFONTDEFINE
+32 FMFILLS
+0 0 FMFILL
+1 0.1 FMFILL
+2 0.3 FMFILL
+3 0.5 FMFILL
+4 0.7 FMFILL
+5 0.9 FMFILL
+6 0.97 FMFILL
+7 1 FMFILL
+8 <0f1e3c78f0e1c387> FMFILL
+9 <0f87c3e1f0783c1e> FMFILL
+10 <cccccccccccccccc> FMFILL
+11 <ffff0000ffff0000> FMFILL
+12 <8142241818244281> FMFILL
+13 <03060c183060c081> FMFILL
+14 <8040201008040201> FMFILL
+16 1 FMFILL
+17 0.9 FMFILL
+18 0.7 FMFILL
+19 0.5 FMFILL
+20 0.3 FMFILL
+21 0.1 FMFILL
+22 0.03 FMFILL
+23 0 FMFILL
+24 <f0e1c3870f1e3c78> FMFILL
+25 <f0783c1e0f87c3e1> FMFILL
+26 <3333333333333333> FMFILL
+27 <0000ffff0000ffff> FMFILL
+28 <7ebddbe7e7dbbd7e> FMFILL
+29 <fcf9f3e7cf9f3f7e> FMFILL
+30 <7fbfdfeff7fbfdfe> FMFILL
+%%EndSetup
+%%Page: "1" 1
+%%BeginPaperSize: Letter
+%%EndPaperSize
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+J
+0 0 0 1 0 0 0 K
+0 16 Q
+0 X
+0 0 0 1 0 0 0 K
+(Python Reference Manual) 221.7 709.33 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(Guido van Rossum) 273.5 672 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+(Corporation for National Research Initiatives \050CNRI\051) 201.73 656.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(1895 Preston White Drive, Reston, Va 20191, USA) 205.84 643.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(E-mail:) 170.18 630.67 T
+0 0 0 1 0 0 0 K
+2 F
+(guido@cnri.reston.va.us) 205.93 630.67 T
+0 0 0 1 0 0 0 K
+1 F
+(,) 357.73 630.67 T
+0 0 0 1 0 0 0 K
+2 F
+(guido@python.org) 363.23 630.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 12 Q
+(A) 293.56 585 T
+1 9.6 Q
+(BSTRACT) 302.23 585 T
+0 0 0 1 0 0 0 K
+1 11 Q
+0.66 (Python is a simple, yet powerful, interpreted programming language that) 156.6 563.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.27 (bridges the gap between C and shell programming, and is thus ideally suit-) 156.6 550.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.08 (ed for \322throw-away programming\323 and rapid prototyping. Its syntax is put) 156.6 537.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.29 (together from constructs borrowed from a variety of other languages; most) 156.6 524.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(prominent are influences from ABC, C, Modula-3 and Icon.) 156.6 511.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.68 (The Python interpreter is easily extended with new functions and data types) 156.6 488.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1.34 (implemented in C. Python is also suitable as an extension language for) 156.6 475.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(highly customizable C applications such as editors or window managers.) 156.6 462.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.2 (Python is available for various systems, amongst which most common fla-) 156.6 439.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1.57 (vors of UNIX \050including Linux\051, the Apple Macintosh, MS-DOS, MS-) 156.6 426.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Windows 3.1\0501\051, Windows 95, Windows NT, and OS/2.) 156.6 413.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1.18 (This reference manual describes the syntax and \322core semantics\323 of the) 156.6 390.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.01 (language. It is terse, but attempts to be exact and complete. The semantics) 156.6 377.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.46 (of non-essential built-in object types and of the built-in functions and mod-) 156.6 364.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.07 (ules are described in the) 156.6 351.67 P
+3 F
+0.07 (Python Library Reference) 265.99 351.67 P
+1 F
+0.07 (. For an informal intro-) 380.39 351.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(duction to the language, see the) 156.6 338.67 T
+3 F
+(Python Tutorial) 298.05 338.67 T
+1 F
+(.) 368.03 338.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+4 F
+(Copyright \251 1996 Corporation for National Research Initiatives.) 99 290.67 T
+(Copyright \251 1991-1995 by Stichting Mathematisch Centrum, Amsterdam, The Netherlands.) 99 277.67 T
+0 0 0 1 0 0 0 K
+1 F
+(All Rights Reserved) 274.89 258.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.18 (Permission to use, copy, modify, and distribute this software and its documentation for any purpose) 99 233.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.24 (and without fee is hereby granted, provided that the above copyright notice appear in all copies and) 99 220.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.41 0.03 (that both that copyright notice and this permission notice appear in supporting documentation, and) 99 207.67 B
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.06 (that the names of the copyright holders not be used in advertising or publicity pertaining to distribu-) 99 194.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(tion of the software without specific, written prior permission.) 99 181.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.41 0.28 (THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS) 99 156.67 B
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.41 0.22 (SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND) 99 143.67 B
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.41 0.03 (FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPE-) 99 130.67 B
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.41 0.08 (CIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER) 99 117.67 B
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.41 0.25 (RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF) 99 104.67 B
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.41 0.29 (CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN) 99 91.67 B
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.) 99 78.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "1" 1
+%%Page: "2" 2
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "2" 2
+%%Page: "i" 3
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 1 1 0 1 0 0 K
+53.79 62.85 89.79 98.85 R
+3 X
+0 1 1 0 1 0 0 K
+V
+59.44 64 86.44 83.88 R
+V
+0 0 0 0 1 1 1 K
+0 12 Q
+7 X
+0 0 0 0 1 1 1 K
+(i) 59.44 75.88 T
+0 1 1 0 1 0 0 K
+0 0 0 1 0 0 0 K
+37 98.81 614.38 98.81 2 L
+0.75 H
+2 Z
+3 X
+0 0 0 1 0 0 0 K
+N
+90.23 21.88 90.23 98.81 2 L
+N
+0 9 612 783 R
+1 H
+0 X
+N
+-83.3 458.43 132 458.43 2 L
+0.75 H
+3 X
+N
+-83.3 278.14 131.29 278.14 2 L
+N
+-84 620.73 132 620.73 2 L
+N
+0 1 1 0 1 0 0 K
+0 36 Q
+0 X
+0 1 1 0 1 0 0 K
+(T) 259.91 714 T
+(ab) 279.02 714 T
+(le of Contents) 320.68 714 T
+0 0 0 1 0 0 0 K
+5 10 Q
+0 0 0 1 0 0 0 K
+(CHAPTER) 144 628.3 T
+0 1 1 0 1 0 0 K
+4 36 Q
+0 1 1 0 1 0 0 K
+(1) 194.56 628.3 T
+0 0 0 1 0 0 0 K
+1 1 0 0 0 0 1 K
+3 14 Q
+1 1 0 0 0 0 1 K
+(Introduction) 216 628.3 T
+0 0 0 1 0 0 0 K
+1 1 0 0 0 0 1 K
+( . . . . . . . . . . . . . . . . . . . . . .) 301 628.3 T
+0 0 0 1 0 0 0 K
+1 1 0 0 0 0 1 K
+(1) 534.01 628.3 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 12 Q
+0 0 0 1 0 0 0 K
+(Notation) 216 611.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 258 611.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(1) 535.01 611.63 T
+0 0 0 1 0 0 0 K
+5 10 Q
+(CHAPTER) 144 578.3 T
+0 1 1 0 1 0 0 K
+4 36 Q
+0 1 1 0 1 0 0 K
+(2) 194.56 578.3 T
+0 0 0 1 0 0 0 K
+1 1 0 0 0 0 1 K
+3 14 Q
+1 1 0 0 0 0 1 K
+(Lexical analysis) 216 578.3 T
+0 0 0 1 0 0 0 K
+1 1 0 0 0 0 1 K
+( . . . . . . . . . . . . . . . . . . . .) 322 578.3 T
+0 0 0 1 0 0 0 K
+1 1 0 0 0 0 1 K
+(3) 534.01 578.3 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 12 Q
+0 0 0 1 0 0 0 K
+(Line structure) 216 561.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 285 561.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(3) 535.01 561.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Logical lines) 216 546.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 279 546.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(3) 535.01 546.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Physical lines) 216 531.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 285 531.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(3) 535.01 531.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Comments) 216 516.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 270 516.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(3) 535.01 516.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Explicit line joining) 216 501.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . . . .) 315 501.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(3) 535.01 501.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Implicit line joining) 216 486.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . . . .) 315 486.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(4) 535.01 486.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Blank lines) 216 471.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 273 471.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(4) 535.01 471.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Indentation) 216 456.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 273 456.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(4) 535.01 456.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Whitespace between tokens) 216 441.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . .) 351 441.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(5) 535.01 441.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Other tokens) 216 426.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 279 426.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(5) 535.01 426.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Identifiers and keywords) 216 411.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . .) 336 411.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(5) 535.01 411.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Keywords) 216 396.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 267 396.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(5) 535.01 396.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Reserved classes of identifiers) 216 381.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . .) 363 381.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(6) 535.01 381.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Literals) 216 366.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 255 366.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(6) 535.01 366.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(String literals) 216 351.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 282 351.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(6) 535.01 351.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(String literal concatenation) 235.01 336.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . .) 369 336.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(7) 535.01 336.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Numeric literals) 216 322.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . . . . .) 294 322.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(8) 535.01 322.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Integer and long integer literals) 235.01 307.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . .) 390 307.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(8) 535.01 307.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Floating point literals) 235.01 293.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . .) 342 293.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(8) 535.01 293.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Imaginary literals) 235.01 279.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . . .) 324 279.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(8) 535.01 279.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Operators) 216 265.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 264 265.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(9) 535.01 265.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Delimiters) 216 250.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 267 250.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(9) 535.01 250.63 T
+0 0 0 1 0 0 0 K
+5 10 Q
+(CHAPTER) 144 217.3 T
+0 1 1 0 1 0 0 K
+4 36 Q
+0 1 1 0 1 0 0 K
+(3) 194.56 217.3 T
+0 0 0 1 0 0 0 K
+1 1 0 0 0 0 1 K
+3 14 Q
+1 1 0 0 0 0 1 K
+(Data model) 216 217.3 T
+0 0 0 1 0 0 0 K
+1 1 0 0 0 0 1 K
+( . . . . . . . . . . . . . . . . . . . . .) 297.5 217.3 T
+0 0 0 1 0 0 0 K
+1 1 0 0 0 0 1 K
+(11) 527.01 217.3 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 12 Q
+0 0 0 1 0 0 0 K
+(Objects, values and types) 216 200.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . .) 339 200.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(11) 529.01 200.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(The standard type hierarchy) 216 185.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . .) 351 185.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(12) 529.01 185.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Special method names) 216 170.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . .) 324 170.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(18) 529.01 170.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Basic customization) 216 155.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . . .) 315 155.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(18) 529.01 155.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Customizing attribute access) 216 140.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . .) 354 140.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(19) 529.01 140.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Emulating callable objects) 216 125.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . .) 345 125.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(20) 529.01 125.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "i" 3
+%%Page: "ii" 4
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 1 1 0 1 0 0 K
+486 63 522 99 R
+3 X
+0 1 1 0 1 0 0 K
+V
+491.65 64.15 518.65 84.03 R
+V
+0 0 0 0 1 1 1 K
+0 12 Q
+7 X
+0 0 0 0 1 1 1 K
+(ii) 491.65 76.03 T
+0 1 1 0 1 0 0 K
+0 0 0 1 0 0 0 K
+55.04 98.81 614.38 98.81 2 L
+0.75 H
+2 Z
+3 X
+0 0 0 1 0 0 0 K
+N
+486 -97.92 486 99 2 L
+N
+0 9 612 783 R
+1 H
+0 X
+N
+531.54 458.43 696 458.43 2 L
+0.75 H
+3 X
+N
+531.54 278.14 695.46 278.14 2 L
+N
+531 620.73 696 620.73 2 L
+N
+0 1 1 0 1 0 0 K
+0 36 Q
+0 X
+0 1 1 0 1 0 0 K
+(T) 221.22 714 T
+(ab) 240.34 714 T
+(le of Contents) 281.99 714 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 12 Q
+0 0 0 1 0 0 0 K
+(Emulating sequence and mapping types) 178.99 629.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . .) 372 629.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(20) 492 629.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Additional methods for emulation of sequence types) 198 614.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . .) 453 614.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(20) 492 614.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Emulating numeric types) 178.99 600.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . .) 300 600.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(21) 492 600.63 T
+0 0 0 1 0 0 0 K
+5 10 Q
+(CHAPTER) 106.99 567.3 T
+0 1 1 0 1 0 0 K
+4 36 Q
+0 1 1 0 1 0 0 K
+(4) 157.55 567.3 T
+0 0 0 1 0 0 0 K
+1 1 0 0 0 0 1 K
+3 14 Q
+1 1 0 0 0 0 1 K
+(Execution model) 178.99 567.3 T
+0 0 0 1 0 0 0 K
+1 1 0 0 0 0 1 K
+( . . . . . . . . . . . . . . . . . . .) 287 567.3 T
+0 0 0 1 0 0 0 K
+1 1 0 0 0 0 1 K
+(23) 490 567.3 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 12 Q
+0 0 0 1 0 0 0 K
+(Code blocks, execution frames, and name spaces) 178.99 550.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . .) 414 550.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(23) 492 550.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Exceptions) 178.99 535.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 234 535.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(25) 492 535.63 T
+0 0 0 1 0 0 0 K
+5 10 Q
+(CHAPTER) 106.99 502.3 T
+0 1 1 0 1 0 0 K
+4 36 Q
+0 1 1 0 1 0 0 K
+(5) 157.55 502.3 T
+0 0 0 1 0 0 0 K
+1 1 0 0 0 0 1 K
+3 14 Q
+1 1 0 0 0 0 1 K
+(Expressions) 178.99 502.3 T
+0 0 0 1 0 0 0 K
+1 1 0 0 0 0 1 K
+(. . . . . . . . . . . . . . . . . . . . . .) 262.5 502.3 T
+0 0 0 1 0 0 0 K
+1 1 0 0 0 0 1 K
+(27) 490 502.3 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 12 Q
+0 0 0 1 0 0 0 K
+(Arithmetic conversions) 178.99 485.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . .) 294 485.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(27) 492 485.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Atoms) 178.99 470.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 213 470.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(27) 492 470.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Identifiers \050Names\051) 178.99 455.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . .) 273 455.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(27) 492 455.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Literals) 178.99 440.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 216 440.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(27) 492 440.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Parenthesized forms) 178.99 425.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . . .) 279 425.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(28) 492 425.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(List displays) 178.99 410.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 240 410.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(28) 492 410.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Dictionary displays) 178.99 395.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . .) 273 395.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(28) 492 395.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(String conversions) 178.99 380.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . . . .) 270 380.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(29) 492 380.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Primaries) 178.99 365.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 225 365.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(29) 492 365.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Attribute references) 178.99 350.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . .) 276 350.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(29) 492 350.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Subscriptions) 178.99 335.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . . . . .) 246 335.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(29) 492 335.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Slicings) 178.99 320.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 219 320.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(30) 492 320.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Calls) 178.99 305.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 204 305.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(31) 492 305.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(The power operator) 178.99 290.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . .) 276 290.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(32) 492 290.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Unary arithmetic operations) 178.99 275.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . .) 315 275.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(32) 492 275.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Binary arithmetic operations) 178.99 260.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . .) 318 260.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(32) 492 260.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Shifting operations) 178.99 245.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . .) 273 245.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(33) 492 245.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Binary bit-wise operations) 178.99 230.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . .) 309 230.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(33) 492 230.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Comparisons) 178.99 215.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . . . . . . .) 243 215.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(34) 492 215.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Boolean operations) 178.99 200.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . .) 273 200.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(35) 492 200.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Expression lists) 178.99 185.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . . . .) 255 185.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(36) 492 185.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Summary) 178.99 170.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 228 170.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(37) 492 170.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "ii" 4
+%%Page: "iii" 5
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 1 1 0 1 0 0 K
+53.79 62.85 89.79 98.85 R
+3 X
+0 1 1 0 1 0 0 K
+V
+59.44 64 86.44 83.88 R
+V
+0 0 0 0 1 1 1 K
+0 12 Q
+7 X
+0 0 0 0 1 1 1 K
+(iii) 59.44 75.88 T
+0 1 1 0 1 0 0 K
+0 0 0 1 0 0 0 K
+37 98.81 614.38 98.81 2 L
+0.75 H
+2 Z
+3 X
+0 0 0 1 0 0 0 K
+N
+90.23 21.88 90.23 98.81 2 L
+N
+0 9 612 783 R
+1 H
+0 X
+N
+-83.3 458.43 132 458.43 2 L
+0.75 H
+3 X
+N
+-83.3 278.14 131.29 278.14 2 L
+N
+-84 620.73 132 620.73 2 L
+N
+0 1 1 0 1 0 0 K
+0 36 Q
+0 X
+0 1 1 0 1 0 0 K
+(T) 259.91 714 T
+(ab) 279.02 714 T
+(le of Contents) 320.68 714 T
+0 0 0 1 0 0 0 K
+5 10 Q
+0 0 0 1 0 0 0 K
+(CHAPTER) 144 628.3 T
+0 1 1 0 1 0 0 K
+4 36 Q
+0 1 1 0 1 0 0 K
+(6) 194.56 628.3 T
+0 0 0 1 0 0 0 K
+1 1 0 0 0 0 1 K
+3 14 Q
+1 1 0 0 0 0 1 K
+(Simple statements) 216 628.3 T
+0 0 0 1 0 0 0 K
+1 1 0 0 0 0 1 K
+( . . . . . . . . . . . . . . . . . .) 332.5 628.3 T
+0 0 0 1 0 0 0 K
+1 1 0 0 0 0 1 K
+(39) 527.01 628.3 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 12 Q
+0 0 0 1 0 0 0 K
+(Expression statements) 216 611.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . .) 324 611.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(39) 529.01 611.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Assignment statements) 216 596.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . .) 327 596.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(39) 529.01 596.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(The pass statement) 216 581.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . .) 309 581.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(41) 529.01 581.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(The del statement) 216 566.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . . .) 303 566.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(41) 529.01 566.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(The print statement) 216 551.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . .) 312 551.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(41) 529.01 551.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(The return statement) 216 536.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . .) 318 536.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(42) 529.01 536.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(The raise statement) 216 521.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . .) 312 521.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(42) 529.01 521.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(The break statement) 216 506.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . . .) 315 506.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(42) 529.01 506.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(The continue statement) 216 491.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . .) 330 491.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(43) 529.01 491.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(The import statement) 216 476.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . .) 321 476.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(43) 529.01 476.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(The global statement) 216 461.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . .) 318 461.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(44) 529.01 461.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(The exec statement) 216 446.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . .) 309 446.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(44) 529.01 446.63 T
+0 0 0 1 0 0 0 K
+5 10 Q
+(CHAPTER) 144 413.3 T
+0 1 1 0 1 0 0 K
+4 36 Q
+0 1 1 0 1 0 0 K
+(7) 194.56 413.3 T
+0 0 0 1 0 0 0 K
+1 1 0 0 0 0 1 K
+3 14 Q
+1 1 0 0 0 0 1 K
+(Compound statements) 216 413.3 T
+0 0 0 1 0 0 0 K
+1 1 0 0 0 0 1 K
+(. . . . . . . . . . . . . . . .) 357 413.3 T
+0 0 0 1 0 0 0 K
+1 1 0 0 0 0 1 K
+(45) 527.01 413.3 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 12 Q
+0 0 0 1 0 0 0 K
+(The if statement) 216 396.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . . . .) 294 396.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(45) 529.01 396.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(The) 216 381.63 T
+0 0 0 1 0 0 0 K
+2 F
+(while) 237.66 381.63 T
+0 0 0 1 0 0 0 K
+1 F
+( statement) 273.66 381.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . .) 324 381.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(46) 529.01 381.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(The) 216 366.63 T
+0 0 0 1 0 0 0 K
+2 F
+(for) 237.66 366.63 T
+0 0 0 1 0 0 0 K
+1 F
+( statement) 259.26 366.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . .) 309 366.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(46) 529.01 366.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(The) 216 351.63 T
+0 0 0 1 0 0 0 K
+2 F
+(try) 237.66 351.63 T
+0 0 0 1 0 0 0 K
+1 F
+( statement) 259.26 351.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . .) 309 351.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(47) 529.01 351.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Function definitions) 216 336.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . . .) 315 336.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(48) 529.01 336.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Class definitions) 216 321.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . . . . .) 297 321.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(49) 529.01 321.63 T
+0 0 0 1 0 0 0 K
+5 10 Q
+(CHAPTER) 144 288.3 T
+0 1 1 0 1 0 0 K
+4 36 Q
+0 1 1 0 1 0 0 K
+(8) 194.56 288.3 T
+0 0 0 1 0 0 0 K
+1 1 0 0 0 0 1 K
+3 14 Q
+1 1 0 0 0 0 1 K
+(Top-level components) 216 288.3 T
+0 0 0 1 0 0 0 K
+1 1 0 0 0 0 1 K
+( . . . . . . . . . . . . . . . .) 353.5 288.3 T
+0 0 0 1 0 0 0 K
+1 1 0 0 0 0 1 K
+(51) 527.01 288.3 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 12 Q
+0 0 0 1 0 0 0 K
+(Complete Python programs) 216 271.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . .) 348 271.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(51) 529.01 271.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(File input) 216 256.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 264 256.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(51) 529.01 256.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Interactive input) 216 241.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . . . . .) 297 241.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(51) 529.01 241.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Expression input) 216 226.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . . . . .) 297 226.63 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(52) 529.01 226.63 T
+0 0 0 1 0 0 0 K
+1 1 0 0 0 0 1 K
+0 0 0 1 0 0 0 K
+1 1 0 0 0 0 1 K
+3 14 Q
+1 1 0 0 0 0 1 K
+(Index) 216 193.3 T
+0 0 0 1 0 0 0 K
+1 1 0 0 0 0 1 K
+( . . . . . . . . . . . . . . . . . . . . . . . . . .) 248.5 193.3 T
+0 0 0 1 0 0 0 K
+1 1 0 0 0 0 1 K
+(53) 527.01 193.3 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "iii" 5
+%%Page: "iv" 6
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "iv" 6
+%%Page: "1" 7
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(1) 535 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+585 292.5 598.5 720 R
+5 9 Q
+(\245) 0 -90 592.5 720 TF
+(Introduction) 0 -90 592.5 711 TF
+585 292.5 598.5 720 R
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 16 Q
+(C) 99 709.33 T
+0 12.8 Q
+(HAPTER) 110.55 709.33 T
+0 16 Q
+(1:) 167.62 709.33 T
+(I) 198 709.33 T
+0 12.8 Q
+(NTRODUCTION) 202.45 709.33 T
+1 11 Q
+(This reference manual describes the Python programming language. It is not intended as a tutorial.) 99 672.67 T
+-0.04 (While I am trying to be as precise as possible, I have chosen to use English rather than formal speci-) 99 653.67 P
+-0.21 (fications for everything except syntax and lexical analysis. This should make the document more un-) 99 640.67 P
+0.58 (derstandable to the average reader, but will leave room for ambiguities. Consequently, if you were) 99 627.67 P
+0.6 (coming from Mars and tried to re-implement Python from this document alone, you might have to) 99 614.67 P
+-0.03 (guess things and in fact you would probably end up implementing quite a different language. On the) 99 601.67 P
+0.25 (other hand, if you are using Python and wonder what the precise rules about a particular area of the) 99 588.67 P
+-0.06 (language are, you should definitely be able to find them here. If you would like to see a more formal) 99 575.67 P
+(definitition of the language, maybe you could volunteer your time \321 or invent a cloning machine.) 99 562.67 T
+-0.01 (It is dangerous to add too many implementation details to a language reference document \321 the im-) 99 543.67 P
+-0.46 (plementation may change, and other implementations of the same language may work differently. On) 99 530.67 P
+-0.28 (the other hand, there is currently only one Python implementation, and its particular quirks are some-) 99 517.67 P
+0.71 (times worth being mentioned, especially where the implementation imposes additional limitations.) 99 504.67 P
+(Therefore, you\325ll find short \322implementation notes\323 sprinkled throughout the text.) 99 491.67 T
+0.1 (Every Python implementation comes with a number of built-in and standard modules. These are not) 99 472.67 P
+-0.53 (documented here, but in the separate) 99 459.67 P
+3 F
+-0.53 (Python Library Reference) 259.84 459.67 P
+1 F
+-0.53 ( document. A few built-in modules are) 373.03 459.67 P
+(mentioned when they interact in a significant way with the language definition.) 99 446.67 T
+0 14 Q
+(1.1) 99 419.67 T
+(Notation) 135 419.67 T
+1 11 Q
+-0.01 (The descriptions of lexical analysis and syntax use a modified BNF grammar notation. This uses the) 99 394.67 P
+(following style of definition:) 99 381.67 T
+2 10 Q
+(name: lc_letter \050lc_letter | "_"\051*) 99 363.33 T
+(lc_letter: "a"..."z") 99 351.33 T
+1 11 Q
+0.41 0.43 (The first line says that a) 99 326.67 B
+2 F
+0.99 0.43 (name) 221.35 326.67 B
+1 F
+0.41 0.43 ( is an) 249.48 326.67 B
+2 F
+0.99 0.43 (lc_letter) 279.73 326.67 B
+1 F
+0.41 0.43 ( followed by a sequence of zero or more) 343.04 326.67 B
+2 F
+0.93 (lc_letter) 99 313.67 P
+1 F
+0.39 (s and underscores. An) 158.4 313.67 P
+2 F
+0.93 (lc_letter) 259.84 313.67 P
+1 F
+0.39 ( in turn is any of the single characters \324a\325 through) 319.24 313.67 P
+0.41 0.04 (\324z\325. \050This rule is actually adhered to for the names used in lexical and grammar rules in this docu-) 99 300.67 B
+(ment.\051) 99 287.67 T
+-0.01 (Each rule begins with a name \050which is the name defined by the rule\051 and a colon. A vertical bar \050) 99 262.67 P
+2 F
+-0.04 (|) 529.74 262.67 P
+1 F
+-0.01 (\051) 536.34 262.67 P
+0.01 (is used to separate alternatives; it is the least binding operator in this notation. A star \050) 99 249.67 P
+2 F
+0.04 (*) 477.17 249.67 P
+1 F
+0.01 (\051 means zero) 483.77 249.67 P
+0.3 (or more repetitions of the preceding item; likewise, a plus \050) 99 236.67 P
+2 F
+0.73 (+) 362.64 236.67 P
+1 F
+0.3 (\051 means one or more repetitions, and a) 369.24 236.67 P
+-0.55 (phrase enclosed in square brackets \050) 99 223.67 P
+2 F
+-1.31 ([ ]) 254.8 223.67 P
+1 F
+-0.55 (\051 means zero or one occurrences \050in other words, the enclosed) 273.29 223.67 P
+-0.25 (phrase is optional\051. The) 99 210.67 P
+2 F
+-0.59 (*) 204.64 210.67 P
+1 F
+-0.25 ( and) 211.24 210.67 P
+2 F
+-0.59 (+) 232.13 210.67 P
+1 F
+-0.25 ( operators bind as tightly as possible; parentheses are used for group-) 238.73 210.67 P
+0.19 (ing. Literal strings are enclosed in quotes. White space is only meaningful to separate tokens. Rules) 99 197.67 P
+0.12 (are normally contained on a single line; rules with many alternatives may be formatted alternatively) 99 184.67 P
+(with each line after the first beginning with a vertical bar.) 99 171.67 T
+0.16 (In lexical definitions \050as in the example above\051, two more conventions are used: Two literal charac-) 99 146.67 P
+0.41 0.02 (ters separated by three dots mean a choice of any single character in the given \050inclusive\051 range of) 99 133.67 B
+0.23 (ASCII characters. A phrase between angular brackets \050) 99 120.67 P
+2 F
+0.54 (<...>) 342.5 120.67 P
+1 F
+0.23 (\051 gives an informal description of the) 375.5 120.67 P
+-0.18 (symbol defined; e.g. this could be used to describe the notion of \324control character\325 if needed.) 99 107.67 P
+0 1 1 0 1 0 0 K
+0 1 1 0 1 0 0 K
+540 106.57 510.67 106.57 2 L
+0 1 1 0 1 0 0 K
+V
+0.55 H
+0 Z
+N
+0 0 0 1 0 0 0 K
+0 1 1 0 1 0 0 K
+-0.18 (lexical) 510.67 107.67 P
+0 0 0 1 0 0 0 K
+0 1 1 0 1 0 0 K
+0 1 1 0 1 0 0 K
+148.81 93.57 99 93.57 2 L
+V
+N
+0 0 0 1 0 0 0 K
+0 1 1 0 1 0 0 K
+(definitions) 99 94.67 T
+0 0 0 1 0 0 0 K
+0 1 1 0 1 0 0 K
+0 1 1 0 1 0 0 K
+183.03 93.57 151.56 93.57 2 L
+V
+N
+0 0 0 1 0 0 0 K
+0 1 1 0 1 0 0 K
+(ASCII) 151.56 94.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "1" 7
+%%Page: "2" 8
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(2) 76.5 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+0.35 (Even though the notation used is almost the same, there is a big difference between the meaning of) 76.5 712.67 P
+-0.32 (lexical and syntactic definitions: a lexical definition operates on the individual characters of the input) 76.5 699.67 P
+0.3 (source, while a syntax definition operates on the stream of tokens generated by the lexical analysis.) 76.5 686.67 P
+0.34 (All uses of BNF in the next chapter \050\322Lexical Analysis\323\051 are lexical definitions; uses in subsequent) 76.5 673.67 P
+(chapters are syntactic definitions.) 76.5 660.67 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "2" 8
+%%Page: "3" 9
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(3) 535 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+585 292.5 598.5 720 R
+5 9 Q
+(\245) 0 -90 592.5 720 TF
+(Lexical analysis) 0 -90 592.5 711 TF
+585 292.5 598.5 720 R
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 16 Q
+(C) 99 709.33 T
+0 12.8 Q
+(HAPTER) 110.55 709.33 T
+0 16 Q
+(2:) 167.62 709.33 T
+(L) 198 709.33 T
+0 12.8 Q
+(EXICAL) 207.78 709.33 T
+(ANALYSIS) 259.16 709.33 T
+1 11 Q
+-0.07 (A Python program is read by a) 99 672.67 P
+3 F
+-0.07 (parser) 236.31 672.67 P
+1 F
+-0.07 (. Input to the parser is a stream of) 265.03 672.67 P
+3 F
+-0.07 (tokens) 414.73 672.67 P
+1 F
+-0.07 (, generated by the) 442.83 672.67 P
+3 F
+-0.07 (lex-) 523.51 672.67 P
+(ical analyzer) 99 659.67 T
+1 F
+(. This chapter describes how the lexical analyzer breaks a file into tokens.) 156.13 659.67 T
+0.15 (Python uses the \0507-bit\051 ASCII character set for program text and string literals. 8-bit characters may) 99 634.67 P
+-0.19 (be used in string literals and comments but their interpretation is platform dependent; the proper way) 99 621.67 P
+(to insert 8-bit characters in string literals is by using octal or hexadecimal escape sequences.) 99 608.67 T
+-0.35 (The run-time character set depends on the I/O devices connected to the program but is generally a su-) 99 583.67 P
+(perset of ASCII.) 99 570.67 T
+0 14 Q
+(2.1) 99 543.67 T
+(Line structure) 135 543.67 T
+1 11 Q
+(A Python program is divided in a number of) 99 518.67 T
+3 F
+(logical lines) 296.68 518.67 T
+1 F
+(.) 350.77 518.67 T
+0 12 Q
+(2.1.1) 99 493 T
+(Logical lines) 144 493 T
+1 11 Q
+0.07 (The end of each logical line is represented by the token NEWLINE. Statements cannot cross logical) 99 473.67 P
+0.21 (line boundaries except where NEWLINE is allowed by the syntax \050e.g. between statements in com-) 99 460.67 P
+-0.22 (pound statements\051. A logical line is constructed from one or more) 99 447.67 P
+3 F
+-0.22 (physical lines) 388.64 447.67 P
+1 F
+-0.22 ( by following the ex-) 448.61 447.67 P
+(plicit or implicit) 99 434.67 T
+3 F
+(line joining) 173.26 434.67 T
+1 F
+( rules.) 223.68 434.67 T
+0 12 Q
+(2.1.2) 99 409 T
+(Physical lines) 144 409 T
+1 11 Q
+-0.52 (A physical line ends in whatever the current platform\325s convention is for terminating lines. On UNIX,) 99 389.67 P
+-0.24 (this is the ASCII LF \050linefeed\051 character. On DOS/Windows, it is the ASCII sequence CR LF \050return) 99 376.67 P
+(followed by linefeed\051. On Macintosh, it is the ASCII CR \050return\051 character.) 99 363.67 T
+0 12 Q
+(2.1.3) 99 338 T
+(Comments) 144 338 T
+1 11 Q
+0.35 (A comment starts with a hash character \050) 99 318.67 P
+2 F
+0.84 (#) 281.36 318.67 P
+1 F
+0.35 (\051 that is not part of a string literal, and ends at the end of) 287.96 318.67 P
+-0.23 (the physical line. A comment signifies the end of the logical line unless the implicit line joining rules) 99 305.67 P
+(are invoked. Comments are ignored by the syntax\255\255; they are not tokens.) 99 292.67 T
+0 12 Q
+(2.1.4) 99 267 T
+(Explicit line joining) 144 267 T
+1 11 Q
+-0.63 (Two or more physical lines may be joined into logical lines using backslash characters \050) 99 247.67 P
+2 F
+-1.52 (\134) 477.53 247.67 P
+1 F
+-0.63 (\051, as follows:) 484.13 247.67 P
+-0.39 (when a physical line ends in a backslash that is not part of a string literal or comment, it is joined with) 99 234.67 P
+-0.34 (the following forming a single logical line, deleting the backslash and the following end-of-line char-) 99 221.67 P
+(acter. For example:) 99 208.67 T
+2 10 Q
+(if 1900 < year < 2100 and 1 <= month <= 12 \134) 99 190.33 T
+( and 1 <= day <= 31 and 0 <= hour < 24 \134) 99 178.33 T
+-0.13 ( and 0 <= minute < 60 and 0 <= second < 60: # Looks like a valid date) 99 166.33 P
+( return 1) 99 154.33 T
+1 11 Q
+0.22 (A line ending in a backslash cannot carry a comment. A backslash does not continue a comment. A) 99 129.67 P
+-0.49 (backslash does not continue a token except for string literals \050i.e., tokens other than string literals can-) 99 116.67 P
+-0.33 (not be split across physical lines using a backslash\051. A backslash is illegal elsewhere on a line outside) 99 103.67 P
+(a string literal.) 99 90.67 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "3" 9
+%%Page: "4" 10
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(4) 76.5 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 12 Q
+(2.1.5) 72 712 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Implicit line joining) 117 712 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+0.51 (Expressions in parentheses, square brackets or curly braces can be split over more than one physical line) 72 692.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(without using backslashes. For example:) 72 679.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 10 Q
+(month_names = [\325Januari\325, \325Februari\325, \325Maart\325, # These are the) 72 661.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( \325April\325, \325Mei\325, \325Juni\325, # Dutch names) 72 649.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( \325Juli\325, \325Augustus\325, \325September\325, # for the months) 72 637.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( \325Oktober\325, \325November\325, \325December\325] # of the year) 72 625.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+0.3 (Implicitly continued lines can carry comments. The indentation of the continuation lines is not important.) 72 600.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.53 (Blank continuation lines are allowed. There is no NEWLINE token between implicit continuation lines. Im-) 72 587.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.04 (plicit continued lines can also occur within triple-quoted strings \050see below\051; in that case they cannot carry) 72 574.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(comments.) 72 561.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 12 Q
+(2.1.6) 72 536 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Blank lines) 117 536 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+-0.4 (A logical line that contains only spaces, tabs, formfeeds, and possibly a comment, is ignored \050i.e., no NEW-) 72 516.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.3 (LINE token is generated\051, except that during interactive input of statements, an entirely blank logical line) 72 503.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(\050i.e. one containing not even whitespace or a comment\051 terminates a multi-line statement.) 72 490.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 12 Q
+(2.1.7) 72 465 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Indentation) 117 465 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+0.23 (Leading whitespace \050spaces and tabs\051 at the beginning of a logical line is used to compute the indentation) 72 445.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(level of the line, which in turn is used to determine the grouping of statements.) 72 432.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.26 (First, tabs are replaced \050from left to right\051 by one to eight spaces such that the total number of characters up) 72 407.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.29 (to there is a multiple of eight \050this is intended to be the same rule as used by UNIX\051. The total number of) 72 394.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.24 (spaces preceding the first non-blank character then determines the line\325s indentation. Indentation cannot be) 72 381.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.15 (split over multiple physical lines using backslashes; the whitespace up to the first backslash determines the) 72 368.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(indentation.) 72 355.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.23 (A formfeed character may be present at the start of the line; formfeed characters occurring elsewhere in the) 72 330.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(leading whitespace have an undefined effect \050for instance, they may reset the space count to zero\051.) 72 317.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.41 0.06 (The indentation levels of consecutive lines are used to generate INDENT and DEDENT tokens, using a) 72 292.67 B
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(stack, as follows.) 72 279.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.41 0.03 (Before the first line of the file is read, a single zero is pushed on the stack; this will never be popped off) 72 254.67 B
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.31 (again. The numbers pushed on the stack will always be strictly increasing from bottom to top. At the begin-) 72 241.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.09 (ning of each logical line, the line\325s indentation level is compared to the top of the stack. If it is equal, noth-) 72 228.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.04 (ing happens. If it is larger, it is pushed on the stack, and one INDENT token is generated. If it is smaller, it) 72 215.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+3 F
+0.01 (must) 72 202.67 P
+1 F
+0.01 ( be one of the numbers occurring on the stack; all numbers on the stack that are larger are popped off,) 92.78 202.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.09 (and for each number popped off a DEDENT token is generated. At the end of the file, a DEDENT token is) 72 189.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(generated for each number remaining on the stack that is larger than zero.) 72 176.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Here is an example of a correctly \050though confusingly\051 indented piece of Python code:) 72 157.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 10 Q
+(def perm\050l\051:) 72 139.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( # Compute the list of all permutations of l) 72 127.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( if len\050l\051 <= 1:) 72 115.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( return [l]) 72 103.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( r = []) 72 91.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( for i in range\050len\050l\051\051:) 72 79.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "4" 10
+%%Page: "5" 11
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(5) 535 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+585 292.5 598.5 720 R
+5 9 Q
+(\245) 0 -90 592.5 720 TF
+(Lexical analysis) 0 -90 592.5 711 TF
+585 292.5 598.5 720 R
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 10 Q
+( s = l[:i] + l[i+1:]) 99 713.33 T
+( p = perm\050s\051) 99 701.33 T
+( for x in p:) 99 689.33 T
+( r.append\050l[i:i+1] + x\051) 99 677.33 T
+( return r) 99 665.33 T
+1 11 Q
+(The following example shows various indentation errors:) 99 640.67 T
+2 10 Q
+( def perm\050l\051: # error: first line indented) 99 622.33 T
+( for i in range\050len\050l\051\051: # error: not indented) 99 610.33 T
+( s = l[:i] + l[i+1:]) 99 598.33 T
+( p = perm\050l[:i] + l[i+1:]\051 # error: unexpected indent) 99 586.33 T
+( for x in p:) 99 574.33 T
+( r.append\050l[i:i+1] + x\051) 99 562.33 T
+( return r # error: inconsistent dedent) 99 550.33 T
+1 11 Q
+-0.49 (\050Actually, the first three errors are detected by the parser; only the last error is found by the lexical an-) 99 525.67 P
+(alyzer \321 the indentation of) 99 512.67 T
+2 F
+(return r) 222.73 512.67 T
+1 F
+( does not match a level popped off the stack.\051) 275.53 512.67 T
+0 12 Q
+(2.1.8) 99 487 T
+(Whitespace between tokens) 144 487 T
+1 11 Q
+-0.06 (Except at the beginning of a logical line or in string literals, the whitespace characters space, tab and) 99 461.67 P
+0.09 (formfeed can be used interchangeably to separate tokens. Whitespace is needed between two tokens) 99 448.67 P
+0.12 (only if their concatenation could otherwise be interpreted as a different token \050e.g.,) 99 435.67 P
+2 F
+0.29 (ab) 467.77 435.67 P
+1 F
+0.12 ( is one token,) 480.97 435.67 P
+(but) 99 422.67 T
+2 F
+(a) 115.81 422.67 T
+(b) 125.16 422.67 T
+1 F
+( is two tokens\051.) 131.76 422.67 T
+0 14 Q
+(2.2) 99 395.67 T
+(Other tokens) 135 395.67 T
+1 11 Q
+0.93 (Besides NEWLINE, INDENT and DEDENT, the following categories of tokens exist:) 99 370.67 P
+3 F
+0.93 (identifiers) 492.63 370.67 P
+1 F
+0.93 (,) 537.25 370.67 P
+3 F
+-0.24 (keywords) 99 357.67 P
+1 F
+-0.24 (,) 140.55 357.67 P
+3 F
+-0.24 (literals) 145.81 357.67 P
+1 F
+-0.24 (,) 176.99 357.67 P
+3 F
+-0.24 (operators) 182.25 357.67 P
+1 F
+-0.24 (, and) 225.03 357.67 P
+3 F
+-0.24 (delimiters) 248.69 357.67 P
+1 F
+-0.24 (. Whitespace characters \050other than line terminators, dis-) 292.69 357.67 P
+-0.3 (cussed earlier\051 are not tokens, but serve to delimit tokens. Where ambiguity exists, a token comprises) 99 344.67 P
+(the longest possible string that forms a legal token when read from left to right.) 99 331.67 T
+0 14 Q
+(2.3) 99 304.67 T
+(Identifiers and keywords) 135 304.67 T
+1 11 Q
+(Identifiers \050also referred to as) 99 279.67 T
+3 F
+(names) 231.87 279.67 T
+1 F
+(\051 are described by the following lexical definitions:) 259.97 279.67 T
+2 10 Q
+(identifier: \050letter|"_"\051 \050letter|digit|"_"\051*) 99 261.33 T
+(letter: lowercase | uppercase) 99 249.33 T
+(lowercase: "a"..."z") 99 237.33 T
+(uppercase: "A"..."Z") 99 225.33 T
+(digit: "0"..."9") 99 213.33 T
+1 11 Q
+(Identifiers are unlimited in length. Case is significant.) 99 188.67 T
+0 12 Q
+(2.3.1) 99 163 T
+(Keywords) 144 163 T
+1 11 Q
+-0.54 (The following identifiers are used as reserved words, or) 99 143.67 P
+3 F
+-0.54 (keywords) 342.17 143.67 P
+1 F
+-0.54 ( of the language, and cannot be used) 383.72 143.67 P
+(as ordinary identifiers. They must be spelled exactly as written here:) 99 130.67 T
+2 10 Q
+(and elif global not try) 99 112.33 T
+(break else if or while) 99 100.33 T
+(class except import pass) 99 88.33 T
+(continue finally in print) 99 76.33 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "5" 11
+%%Page: "6" 12
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(6) 76.5 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 F
+(def for is raise) 72 713.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(del from lambda return) 72 701.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 12 Q
+(2.3.2) 72 676 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Reserved classes of identifiers) 117 676 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+(Certain classes of identifiers \050besides keywords\051 have special meanings. These are:) 72 650 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(\050XXX need section references here.\051) 72 502.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 14 Q
+(2.4) 72 475.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Literals) 108 475.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+(Literals are notations for constant values of some built-in types) 72 450.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 12 Q
+(2.4.1) 72 425 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(String literals) 117 425 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+(String literals are described by the following lexical definitions:) 72 405.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 10 Q
+(stringliteral: shortstring | longstring) 72 387.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(shortstring: "\325" shortstringitem* "\325" | \325"\325 shortstringitem* \325"\325) 72 375.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(longstring: "\325\325\325" longstringitem* "\325\325\325" | \325"""\325 longstringitem* \325"""\325) 72 363.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(shortstringitem: shortstringchar | escapeseq) 72 351.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(longstringitem: longstringchar | escapeseq) 72 339.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(shortstringchar: <any ASCII character except "\134" or newline or the quote>) 72 327.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(longstringchar: <any ASCII character except "\134">) 72 315.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(escapeseq: "\134" <any ASCII character>) 72 303.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+0.21 (In plain English: String literals can be enclosed in single quotes \050\325\051 or double quotes \050"\051. They can also be) 72 278.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.33 (enclosed in groups of three single or double quotes \050these are generally referred to as) 72 265.67 P
+3 F
+-0.33 (triple-quoted strings) 443.77 265.67 P
+1 F
+-0.33 (\051.) 533.59 265.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.39 (The backslash \050\134\051 character is used to escape characters that otherwise have a special meaning, such as new-) 72 252.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(line, backslash itself, or the quote character.) 72 239.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.32 (In \322long strings\323 \050strings surrounded by sets of three quotes\051, unescaped newlines and quotes are allowed) 72 214.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.03 (\050and are retained\051, except that three unescaped quotes in a row terminate the string. \050A \322quote\323 is the char-) 72 201.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(acter used to open the string, i.e. either) 72 188.67 T
+2 F
+(\325) 245.22 188.67 T
+1 F
+( or) 251.82 188.67 T
+2 F
+(") 266.48 188.67 T
+1 F
+(.\051) 273.08 188.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+4 12 Q
+(T) 132.71 626 T
+(able 1: Special Meanings of Identi\336ers) 139.61 626 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 F
+(F) 95.09 600 T
+(orm) 101.58 600 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Meaning) 248.67 600 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 10 Q
+( _*) 78 577.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 12 Q
+(Not imported by) 150 576 T
+2 F
+(from) 232.33 576 T
+3 F
+( module) 261.13 576 T
+2 F
+(import) 302.46 576 T
+(*) 348.66 576 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( __*__) 78 554 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 F
+(System-de\336ned name) 150 554 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 F
+( __*) 78 532 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 F
+(Class-pri) 150 532 T
+(v) 193.03 532 T
+(ate name mangling) 198.73 532 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 615.75 72 524.25 2 L
+V
+0.5 H
+0 Z
+N
+144 616.25 144 523.75 2 L
+V
+N
+396 615.75 396 524.25 2 L
+V
+N
+71.75 616 396.25 616 2 L
+V
+N
+72.25 591.25 395.75 591.25 2 L
+V
+N
+72.25 588.75 395.75 588.75 2 L
+V
+N
+71.75 568 396.25 568 2 L
+V
+N
+71.75 546 396.25 546 2 L
+V
+N
+71.75 524 396.25 524 2 L
+V
+N
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "6" 12
+%%Page: "7" 13
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(7) 535 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+585 292.5 598.5 720 R
+5 9 Q
+(\245) 0 -90 592.5 720 TF
+(Lexical analysis) 0 -90 592.5 711 TF
+585 292.5 598.5 720 R
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+0.41 0.03 (Escape sequences in strings are interpreted according to rules similar to those used by Standard C.) 99 712.67 B
+(The recognized escape sequences are:) 99 699.67 T
+-0.24 (In strict compatibility with Standard C, up to three octal digits are accepted, but an unlimited number) 99 332.67 P
+-0.12 (of hex digits is taken to be part of the hex escape \050and then the lower 8 bits of the resulting hex num-) 99 319.67 P
+(ber are used in all current implementations...\051.) 99 306.67 T
+-0.21 (Unlike Standard C, all unrecognized escape sequences are left in the string unchanged, i.e.,) 99 281.67 P
+3 F
+-0.21 (the back-) 499.59 281.67 P
+-0.39 (slash is left in the string.) 99 268.67 P
+1 F
+-0.39 ( \050This behavior is useful when debugging: if an escape sequence is mistyped,) 205.24 268.67 P
+0.41 0 (the resulting output is more easily recognized as broken. It also helps a great deal for string literals) 99 255.67 B
+-0.17 (used as regular expressions or otherwise passed to other modules that do their own escape handling.\051) 99 242.67 P
+0 F
+(2.4.1.1) 99 220.67 T
+(String literal concatenation) 144 220.67 T
+1 F
+0.21 (Multiple adjacent string literals \050delimited by whitespace\051, possibly using different quoting conven-) 99 195.67 P
+-0.02 (tions, are allowed, and their meaning is the same as their concatenation. Thus,) 99 182.67 P
+2 F
+-0.05 ("hello") 444.87 182.67 P
+-0.05 (\325world\325) 493.8 182.67 P
+1 F
+0.41 0.12 (is equivalent to) 99 169.67 B
+2 F
+0.99 0.12 ("helloworld") 172.31 169.67 B
+1 F
+0.41 0.12 (. This feature can be used to reduce the number of backslashes) 252.99 169.67 B
+0.41 0.15 (needed, to split long strings conveniently across long lines, or even to add comments to parts of) 99 156.67 B
+(strings, for example:) 99 143.67 T
+2 10 Q
+(regex.compile\050"[A-Za-z_]" # letter or underscore) 99 125.33 T
+( "[A-Za-z0-9_]*" # letter, digit or underscore) 99 113.33 T
+( \051) 99 101.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+4 12 Q
+(T) 188.55 676 T
+(able 2: Escape Sequences) 195.45 676 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 F
+(Escape Sequence) 109.27 650 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Meaning) 286.92 650 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 F
+(\134) 105 626 T
+3 F
+(ne) 112.2 626 T
+(wline) 123.35 626 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 F
+( Ignored) 208.5 626 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 F
+(\134\134) 105 604 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 F
+( Backslash \050) 208.5 604 T
+2 F
+(\134) 267.16 604 T
+1 F
+(\051) 274.36 604 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 F
+(\134\325) 105 582 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 F
+( Single quote \050) 208.5 582 T
+2 F
+(\325) 278.83 582 T
+1 F
+(\051) 286.03 582 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 F
+(\134") 105 560 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 F
+( Double quote \050) 208.5 560 T
+2 F
+(") 283.49 560 T
+1 F
+(\051) 290.69 560 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 F
+(\134a) 105 538 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 F
+( ASCII Bell \050BEL\051) 208.5 538 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 F
+(\134b) 105 516 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 F
+( ASCII Backspace \050BS\051) 208.5 516 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 F
+(\134f) 105 494 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 F
+( ASCII F) 208.5 494 T
+(ormfeed \050FF\051) 252.32 494 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 F
+(\134n) 105 472 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 F
+( ASCII Linefeed \050LF\051) 208.5 472 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 F
+(\134r) 105 450 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 F
+( ASCII Carriage Return \050CR\051) 208.5 450 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 F
+(\134t) 105 428 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 F
+( ASCII Horizontal T) 208.5 428 T
+(ab \050T) 306.53 428 T
+(AB\051) 331.07 428 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 F
+(\134v) 105 406 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 F
+( ASCII V) 208.5 406 T
+(ertical T) 253.16 406 T
+(ab \050VT\051) 292.52 406 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 F
+(\134) 105 384 T
+3 F
+(ooo) 112.2 384 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 F
+( ASCII character with octal v) 208.5 384 T
+(alue) 349.16 384 T
+3 F
+(ooo) 372.16 384 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 F
+(\134x) 105 362 T
+3 F
+(xx...) 119.4 362 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 F
+( ASCII character with he) 208.5 362 T
+(x v) 328.28 362 T
+(alue) 342.98 362 T
+3 F
+(xx...) 365.98 362 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+99 665.75 99 354.25 2 L
+V
+0.5 H
+0 Z
+N
+202.5 666.25 202.5 353.75 2 L
+V
+N
+414 665.75 414 354.25 2 L
+V
+N
+98.75 666 414.25 666 2 L
+V
+N
+99.25 641.25 413.75 641.25 2 L
+V
+N
+99.25 638.75 413.75 638.75 2 L
+V
+N
+98.75 618 414.25 618 2 L
+V
+N
+98.75 596 414.25 596 2 L
+V
+N
+98.75 574 414.25 574 2 L
+V
+N
+98.75 552 414.25 552 2 L
+V
+N
+98.75 530 414.25 530 2 L
+V
+N
+98.75 508 414.25 508 2 L
+V
+N
+98.75 486 414.25 486 2 L
+V
+N
+98.75 464 414.25 464 2 L
+V
+N
+98.75 442 414.25 442 2 L
+V
+N
+98.75 420 414.25 420 2 L
+V
+N
+98.75 398 414.25 398 2 L
+V
+N
+98.75 376 414.25 376 2 L
+V
+N
+98.75 354 414.25 354 2 L
+V
+N
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "7" 13
+%%Page: "8" 14
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(8) 76.5 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+-0.32 (Note that this feature is defined at the syntactical level, but implemented at compile time. The \324+\325 op-) 76.5 712.67 P
+(erator must be used to concatenate string expressions at run time.) 76.5 699.67 T
+0 12 Q
+(2.4.2) 76.5 674 T
+(Numeric literals) 121.5 674 T
+1 11 Q
+0.97 (There are four types of numeric literals: plain integers, long integers, floating point numbers, and) 76.5 654.67 P
+(imaginary numbers.) 76.5 641.67 T
+0 F
+(2.4.2.1) 76.5 619.67 T
+(Integer and long integer literals) 121.5 619.67 T
+1 F
+(Integer and long integer literals are described by the following lexical definitions:) 76.5 594.67 T
+2 10 Q
+(longinteger: integer \050"l"|"L"\051) 76.5 576.33 T
+(integer: decimalinteger | octinteger | hexinteger) 76.5 564.33 T
+(decimalinteger: nonzerodigit digit* | "0") 76.5 552.33 T
+(octinteger: "0" octdigit+) 76.5 540.33 T
+(hexinteger: "0" \050"x"|"X"\051 hexdigit+) 76.5 528.33 T
+(nonzerodigit: "1"..."9") 76.5 516.33 T
+(octdigit: "0"..."7") 76.5 504.33 T
+(hexdigit: digit|"a"..."f"|"A"..."F") 76.5 492.33 T
+1 11 Q
+-0.03 (Although both lower case \324l\325 and upper case \324L\325 are allowed as suffix for long integers, it is strongly) 76.5 467.67 P
+(recommended to always use \324L\325, since the letter \324l\325 looks too much like the digit \3241\325.) 76.5 454.67 T
+-0.24 (Plain integer decimal literals must be at most 2147483647 \050i.e., the largest positive integer, using 32-) 76.5 429.67 P
+-0.23 (bit arithmetic\051. Plain octal and hexadecimal literals may be as large as 4294967295, but values larger) 76.5 416.67 P
+-0.05 (than 2147483647 are converted to a negative value by subtracting 4294967296. There is no limit for) 76.5 403.67 P
+(long integer literals apart from what can be stored in available memory.) 76.5 390.67 T
+(Some examples of plain and long integer literals:) 76.5 365.67 T
+2 10 Q
+(7 2147483647 0177 0x80000000) 76.5 347.33 T
+(3L 79228162514264337593543950336L 0377L 0x100000000L) 76.5 335.33 T
+0 11 Q
+(2.4.2.2) 76.5 313.67 T
+(Floating point literals) 121.5 313.67 T
+1 F
+(Floating point literals are described by the following lexical definitions:) 76.5 288.67 T
+2 10 Q
+(floatnumber: pointfloat | exponentfloat) 76.5 270.33 T
+(pointfloat: [intpart] fraction | intpart ".") 76.5 258.33 T
+(exponentfloat: \050intpart | pointfloat\051 exponent) 76.5 246.33 T
+(intpart: digit+) 76.5 234.33 T
+(fraction: "." digit+) 76.5 222.33 T
+(exponent: \050"e"|"E"\051 ["+"|"-"] digit+) 76.5 210.33 T
+1 11 Q
+-0.39 (The allowed range of floating point literals is implementation-dependent. Some examples of floating) 76.5 185.67 P
+(point literals:) 76.5 172.67 T
+2 10 Q
+(3.14 10. .001 1e100 3.14e-10) 76.5 154.33 T
+0 11 Q
+(2.4.2.3) 76.5 132.67 T
+(Imaginary literals) 121.5 132.67 T
+1 F
+(Imaginary literals are described by the following lexical definitions:) 76.5 107.67 T
+2 10 Q
+(imagnumber: \050floatnumber | intpart\051 \050"j"|"J"\051) 76.5 89.33 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "8" 14
+%%Page: "9" 15
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(9) 535 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+585 292.5 598.5 720 R
+5 9 Q
+(\245) 0 -90 592.5 720 TF
+(Lexical analysis) 0 -90 592.5 711 TF
+585 292.5 598.5 720 R
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+0.3 (An imaginary literals yields a complex number with a real part of 0.0. Complex numbers are repre-) 99 712.67 P
+0.28 (sented as a pair of floating point numbers and have the same restrictions on their range. To create a) 99 699.67 P
+-0.19 (complex number with a nonzero real part, add a floating point number to it, e.g.) 99 686.67 P
+2 F
+-0.46 (\0503+4j\051.) 449.58 686.67 P
+1 F
+-0.19 ( Some ex-) 495.78 686.67 P
+(amples of imaginary literals:) 99 673.67 T
+2 10 Q
+(3.14j 10.j 10 j .001j 1e100j 3.14e-10j) 99 655.33 T
+1 11 Q
+-0.05 (Note that numeric literals do not include a sign; a phrase like) 99 630.67 P
+2 F
+-0.12 (-1) 369.1 630.67 P
+1 F
+-0.05 ( is actually an expression composed) 382.3 630.67 P
+(of the unary operator \324) 99 617.67 T
+2 F
+(-) 197.97 617.67 T
+1 F
+(\325 and the literal) 204.57 617.67 T
+2 F
+(1) 274.22 617.67 T
+1 F
+(.) 280.82 617.67 T
+0 14 Q
+(2.5) 99 590.67 T
+(Operators) 135 590.67 T
+1 11 Q
+(The following tokens are operators:) 99 565.67 T
+2 10 Q
+(+ - * ** / %) 99 547.33 T
+(<< >> & | ^ ~) 99 535.33 T
+(< > <= >= == != <>) 99 523.33 T
+1 11 Q
+-0.06 (The comparison operators) 99 498.67 P
+2 F
+-0.14 (<>) 216.44 498.67 P
+1 F
+-0.06 ( and) 229.64 498.67 P
+2 F
+-0.14 (!=) 250.9 498.67 P
+1 F
+-0.06 ( are alternate spellings of the same operator; != is the preferred) 264.1 498.67 P
+(spelling, <> is obsolescent.) 99 485.67 T
+0 14 Q
+(2.6) 99 458.67 T
+(Delimiters) 135 458.67 T
+1 11 Q
+(The following tokens serve as delimiters in the grammar:) 99 433.67 T
+2 10 Q
+(\050 \051 [ ] { }) 99 415.33 T
+(, : . \324 = ;) 99 403.33 T
+1 11 Q
+0.05 (The period can also occur in floating-point and imaginary literals. A sequence of three periods has a) 99 378.67 P
+(special meaning as ellipses in slices.) 99 365.67 T
+0.41 0.01 (The following printing ASCII characters have special meaning as part of other tokens or are other-) 99 340.67 B
+(wise significant to the lexical analyzer:) 99 327.67 T
+2 10 Q
+(\325 " # \134) 99 309.33 T
+1 11 Q
+0.19 (The following printing ASCII characters are not used in Python. Their occurrence outside string lit-) 99 284.67 P
+(erals and comments is an unconditional error:) 99 271.67 T
+2 10 Q
+(@ $ ?) 99 253.33 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "9" 15
+%%Page: "10" 16
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(10) 76.5 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "10" 16
+%%Page: "11" 17
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(11) 530 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+585 292.5 598.5 720 R
+5 9 Q
+(\245) 0 -90 592.5 720 TF
+(Data model) 0 -90 592.5 711 TF
+585 292.5 598.5 720 R
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 16 Q
+(C) 99 709.33 T
+0 12.8 Q
+(HAPTER) 110.55 709.33 T
+0 16 Q
+(3:) 167.62 709.33 T
+(D) 198 709.33 T
+0 12.8 Q
+(ATA) 209.55 709.33 T
+(MODEL) 240.3 709.33 T
+0 14 Q
+(3.1) 99 670.67 T
+(Objects, values and types) 135 670.67 T
+3 11 Q
+0.32 (Objects) 99 645.67 P
+1 F
+0.32 ( are Python\325s abstraction for data. All data in a Python program is represented by objects or) 132.6 645.67 P
+0.1 (by relations between objects. \050In conformance to Von Neumann\325s model of a \322stored program com-) 99 632.67 P
+(puter\323, code is also represented by objects.\051) 99 619.67 T
+0.13 (Every object has an identity, a type and a value. An object\325s) 99 594.67 P
+3 F
+0.13 (identity) 367.55 594.67 P
+1 F
+0.13 ( never changes once it has been) 400.55 594.67 P
+-0.28 (created; you may think of it as the object\325s address in memory. The \324) 99 581.67 P
+2 F
+-0.67 (is) 398.41 581.67 P
+1 F
+-0.28 (\325 operator compares the iden-) 411.61 581.67 P
+0.15 (tity of two objects; the \324) 99 568.67 P
+2 F
+0.37 (id\050\051) 205.18 568.67 P
+1 F
+0.15 (\325 function returns an integer representing its identity \050currently imple-) 231.58 568.67 P
+0.41 0.06 (mented as its address\051. An object\325s) 99 555.67 B
+3 F
+0.41 0.06 (type) 259.84 555.67 B
+1 F
+0.41 0.06 ( is also unchangeable. It determines the operations that an) 278.42 555.67 B
+0.01 (object supports \050e.g. \322does it have a length?\323\051 and also defines the possible values for objects of that) 99 542.67 P
+0.19 (type. The \324) 99 529.67 P
+2 F
+0.46 (type\050\051) 147.34 529.67 P
+1 F
+0.19 (\325 function returns an object\325s type \050which is an object itself\051. The) 186.94 529.67 P
+3 F
+0.19 (value) 477.91 529.67 P
+1 F
+0.19 ( of some) 501.74 529.67 P
+0.36 (objects can change. The \324) 99 516.67 P
+2 F
+0.85 (==) 212.52 516.67 P
+1 F
+0.36 (\325 operator compares the value of two objects. Objects whose value can) 225.72 516.67 P
+0.11 (change are said to be) 99 503.67 P
+3 F
+0.11 (mutable) 194.54 503.67 P
+1 F
+0.11 (; objects whose value is unchangeable once they are created are called) 229.98 503.67 P
+3 F
+0.41 0.01 (immutable) 99 490.67 B
+1 F
+0.41 0.01 (. An object\325s \050im\051mutability is determined by its type; for instance, numbers, strings and) 145.49 490.67 B
+(tuples are immutable, while dictionaries and lists are mutable.) 99 477.67 T
+0.41 0.05 (Objects are never explicitly destroyed; however, when they become unreachable they may be gar-) 99 452.67 B
+-0.25 (bage-collected. An implementation is allowed to postpone garbage collection or omit it altogether \321) 99 439.67 P
+-0.18 (it is a matter of implementation quality how garbage collection is implemented, as long as no objects) 99 426.67 P
+0.27 (are collected that are still reachable. \050Implementation note: the current implementation uses a refer-) 99 413.67 P
+0.41 0.05 (ence-counting scheme which collects most objects as soon as they become unreachable, but never) 99 400.67 B
+(collects garbage containing circular references.\051) 99 387.67 T
+0.09 (Note that the use of the implementation\325s tracing or debugging facilities may keep objects alive that) 99 362.67 P
+-0.32 (would normally be collectable. Also note that catching an exception with a \324) 99 349.67 P
+2 F
+-0.77 (try...except) 430.88 349.67 P
+1 F
+-0.32 (\325 state-) 510.08 349.67 P
+(ment may keep objects alive.) 99 336.67 T
+0.41 0 (Some objects contain references to \322external\323 resources such as open files or windows. It is under-) 99 311.67 B
+-0.38 (stood that these resources are freed when the object is garbage-collected, but since garbage collection) 99 298.67 P
+-0.5 (is not guaranteed to happen, such objects also provide an explicit way to release the external resource,) 99 285.67 P
+-0.42 (usually a) 99 272.67 P
+2 F
+-1 (close\050\051) 140.33 272.67 P
+1 F
+-0.42 ( method. Programs are strongly recommended to always explicitly close such ob-) 186.53 272.67 P
+(jects. The \324) 99 259.67 T
+2 F
+(try...finally) 148.18 259.67 T
+1 F
+(\325 statement provides a convenient way to do this.) 233.98 259.67 T
+-0.25 (Some objects contain references to other objects; these are called) 99 234.67 P
+3 F
+-0.25 (containers) 385.54 234.67 P
+1 F
+-0.25 (. Examples of containers) 431.98 234.67 P
+0.26 (are tuples, lists and dictionaries. The references are part of a container\325s value. In most cases, when) 99 221.67 P
+-0.42 (we talk about the value of a container, we imply the values, not the identities of the contained objects;) 99 208.67 P
+-0.32 (however, when we talk about the \050im\051mutability of a container, only the identities of the immediately) 99 195.67 P
+0.41 0.01 (contained objects are implied. So, if an immutable container \050like a tuple\051 contains a reference to a) 99 182.67 B
+(mutable object, its value changes if that mutable object is changed.) 99 169.67 T
+0.03 (Types affect almost all aspects of object behavior. Even the importance of object identity is affected) 99 144.67 P
+-0.05 (in some sense: for immutable types, operations that compute new values may actually return a refer-) 99 131.67 P
+0.41 0.08 (ence to any existing object with the same type and value, while for mutable objects this is not al-) 99 118.67 B
+-0.36 (lowed. E.g. after \324\324) 99 105.67 P
+2 F
+-0.86 (a = 1; b =) 181.01 105.67 P
+1 F
+-0.36 (1\325\325,) 249.3 105.67 P
+2 F
+-0.86 (a) 267.26 105.67 P
+1 F
+-0.36 ( and) 273.86 105.67 P
+2 F
+-0.86 (b) 294.53 105.67 P
+1 F
+-0.36 ( may or may not refer to the same object with the value) 301.13 105.67 P
+-0.1 (one, depending on the implementation, but after \324\324) 99 92.67 P
+2 F
+-0.24 (c = []; d = []) 319.79 92.67 P
+1 F
+-0.1 (\325\325,) 410.99 92.67 P
+2 F
+-0.24 (c) 423.71 92.67 P
+1 F
+-0.1 ( and) 430.31 92.67 P
+2 F
+-0.24 (d) 451.5 92.67 P
+1 F
+-0.1 (are guaranteed to) 464.45 92.67 P
+0.41 0.03 (refer to two different, unique, newly created empty lists. \050Note that \324\324) 99 79.67 B
+2 F
+0.99 0.03 (c = d = []) 410.5 79.67 B
+1 F
+0.41 0.03 (\325\325 assigns the) 480.75 79.67 B
+(same object to both) 99 66.67 T
+2 F
+(c) 187.6 66.67 T
+1 F
+( and) 194.21 66.67 T
+2 F
+(d) 215.59 66.67 T
+1 F
+(.\051) 222.19 66.67 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "11" 17
+%%Page: "12" 18
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(12) 76.5 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 14 Q
+(3.2) 76.5 710.67 T
+(The standard type hierarchy) 112.5 710.67 T
+1 11 Q
+0.12 (Below is a list of the types that are built into Python. Extension modules written in C can define ad-) 76.5 685.67 P
+0.01 (ditional types. Future versions of Python may add types to the type hierarchy \050e.g. rational numbers,) 76.5 672.67 P
+(efficiently stored arrays of integers, etc.\051.) 76.5 659.67 T
+1.02 (Some of the type descriptions below contain a paragraph listing \324special attributes\325. These are at-) 76.5 640.67 P
+0.03 (tributes that provide access to the implementation and are not intended for general use. Their defini-) 76.5 627.67 P
+0.87 (tion may change in the future. There are also some \324generic\325 special attributes, not listed with the) 76.5 614.67 P
+0.38 (individual objects:) 76.5 601.67 P
+2 F
+0.92 (__methods__) 161.6 601.67 P
+1 F
+0.38 (is a list of the method names of a built-in object, if it has any;) 241.73 601.67 P
+2 F
+(__members__) 76.5 588.67 T
+1 F
+( is a list of the data attribute names of a built-in object, if it has any.) 149.1 588.67 T
+4 F
+(None) 76.5 569.67 T
+1 F
+0.12 (This type has a single value. There is a single object with this value. This object is accessed) 112.5 569.67 P
+0.49 (through the built-in name) 112.5 556.67 P
+2 F
+1.17 (None) 229.34 556.67 P
+1 F
+0.49 (. It is used to signify the absence of a value in many situa-) 255.74 556.67 P
+-0.03 (tions, e.g. it is returned from functions that don\325t explicitly return anything. Its truth value is) 112.5 543.67 P
+(false.) 112.5 530.67 T
+4 F
+(Ellipsis) 76.5 511.67 T
+1 F
+0.06 (This type has a single value. There is a single object with this value. This object is accessed) 113.49 511.67 P
+0.04 (through the built-in name) 112.5 498.67 P
+2 F
+0.09 (Ellipsis) 227.53 498.67 P
+1 F
+0.04 (. It is used to indicate the presence of the \324\324...\325\325 syntax) 280.33 498.67 P
+(in a slice. Its truth value is true.) 112.5 485.67 T
+4 F
+(Numbers) 76.5 466.67 T
+1 F
+0.6 (These are created by numeric literals and returned as results by arithmetic operators and) 122.63 466.67 P
+-0.01 (arithmetic built-in functions. Numeric objects are immutable; once created their value never) 112.5 453.67 P
+-0.52 (changes. Python numbers are of course strongly related to mathematical numbers, but subject) 112.5 440.67 P
+(to the limitations of numerical representation in computers.) 112.5 427.67 T
+(Python distinguishes between integers and floating point numbers:) 112.5 410.67 T
+4 F
+(Integers) 112.5 391.67 T
+1 F
+(These represent elements from the mathematical set of whole numbers) 153.74 391.67 T
+(There are two types of integers:) 130.5 374.67 T
+4 F
+(Plain integers) 130.5 355.67 T
+1 F
+-0.47 (These represent numbers in the range -2147483648 through 2147483647.) 197.72 355.67 P
+0.61 (\050The range may be larger on machines with a larger natural word size, but not) 166.5 342.67 P
+0.33 (smaller.\051 When the result of an operation falls outside this range, the exception) 166.5 329.67 P
+2 F
+-0.33 (OverflowError) 166.5 316.67 P
+1 F
+-0.14 ( is raised. For the purpose of shift and mask operations, inte-) 252.3 316.67 P
+0.69 0.01 (gers are assumed to have a binary, 2\325s complement notation using 32 or more) 166.5 303.67 B
+0.18 (bits, and hiding no bits from the user \050i.e., all 4294967296 different bit patterns) 166.5 290.67 P
+(correspond to different values\051.) 166.5 277.67 T
+4 F
+(Long integers) 130.5 258.67 T
+1 F
+0.05 (These represent numbers in an unlimited range, subject to available \050vir-) 197.72 258.67 P
+-0.24 (tual\051 memory only. For the purpose of shift and mask operations, a binary repre-) 166.5 245.67 P
+0.69 0 (sentation is assumed, and negative numbers are represented in a variant of 2\325s) 166.5 232.67 B
+0.32 (complement which gives the illusion of an infinite string of sign bits extending) 166.5 219.67 P
+(to the left.) 166.5 206.67 T
+0.02 (The rules for integer representation are intended to give the most meaningful interpreta-) 130.5 189.67 P
+-0.48 (tion of shift and mask operations involving negative integers and the least surprises when) 130.5 176.67 P
+-0.62 (switching between the plain and long integer domains. For any operation except left shift,) 130.5 163.67 P
+-0.08 (if it yields a result in the plain integer domain without causing overflow, it will yield the) 130.5 150.67 P
+(same result in the long integer domain or when using mixed operands.) 130.5 137.67 T
+4 F
+(Floating point numbers) 112.5 118.67 T
+1 F
+-0.98 (These represent machine-level double precision floating point num-) 225.88 118.67 P
+-0.22 (bers. You are at the mercy of the underlying machine architecture and C implementation) 130.5 105.67 P
+0.4 (for the accepted range and handling of overflow. Python does not support single-preci-) 130.5 92.67 P
+0.23 (sion floating point numbers; the savings in CPU and memory usage that are usually the) 130.5 79.67 P
+0.07 (reason for using these is dwarfed by the overhead of using objects in Python, so there is) 130.5 66.67 P
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "12" 18
+%%Page: "13" 19
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(13) 530 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+585 292.5 598.5 720 R
+5 9 Q
+(\245) 0 -90 592.5 720 TF
+(Data model) 0 -90 592.5 711 TF
+585 292.5 598.5 720 R
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+(no reason to complicate the language with two kinds of floating point numbers.) 153 712.67 T
+4 F
+(Complex numbers) 135 693.67 T
+1 F
+-0.44 (These represent complex numbers as a pair of machine-level double pre-) 224.22 693.67 P
+-0.43 (cision floating point numbers. The same caveats apply as for floating point numbers. The) 153 680.67 P
+0.16 (real and imaginary value of a complex number) 153 667.67 P
+2 F
+0.38 (z) 362.6 667.67 P
+1 F
+0.16 ( can be retrieved through the attributes) 369.2 667.67 P
+2 F
+(z.real) 153 654.67 T
+1 F
+( and) 192.6 654.67 T
+2 F
+(z.imag) 213.98 654.67 T
+1 F
+(.) 253.58 654.67 T
+4 F
+(Sequences) 99 635.67 T
+1 F
+1.51 (These represent finite ordered sets indexed by natural numbers. The built-in function) 150.03 635.67 P
+2 F
+0.82 (len\050\051) 135 622.67 P
+1 F
+0.34 ( returns the number of items of a sequence. When the length of a sequence is) 168 622.67 P
+2 F
+0.82 (n) 514.11 622.67 P
+1 F
+0.34 (, the) 520.71 622.67 P
+(index set contains the numbers 0, 1, ...,) 135 609.67 T
+2 F
+(n) 309.15 609.67 T
+1 F
+(. Item) 315.75 609.67 T
+2 F
+(i) 344.17 609.67 T
+1 F
+( of sequence) 350.77 609.67 T
+2 F
+(a) 408.49 609.67 T
+1 F
+( is selected by) 415.09 609.67 T
+2 F
+(a[i]) 479.86 609.67 T
+1 F
+(.) 506.26 609.67 T
+4.29 (Sequences also support slicing:) 135 592.67 P
+2 F
+10.28 (a[i:j]) 292.69 592.67 P
+1 F
+4.29 ( selects all items with index) 332.29 592.67 P
+2 F
+10.28 (k) 482.67 592.67 P
+1 F
+4.29 ( such that) 489.27 592.67 P
+2 F
+1.18 (i) 135 579.67 P
+1.18 (<=) 148.2 579.67 P
+1.18 (k) 168 579.67 P
+1.18 (<) 181.2 579.67 P
+1.18 (j) 194.4 579.67 P
+1 F
+0.49 (. When used as an expression, a slice is a sequence of the same type \321 this) 201 579.67 P
+(implies that the index set is renumbered so that it starts at 0 again.) 135 566.67 T
+(Sequences are distinguished according to their mutability:) 135 549.67 T
+4 F
+(Immutable sequences) 135 530.67 T
+1 F
+-0.82 (An object of an immutable sequence type cannot change once it is cre-) 238.88 530.67 P
+-0.16 (ated. \050If the object contains references to other objects, these other objects may be muta-) 153 517.67 P
+2.87 (ble and may be changed; however the array of objects directly referenced by an) 153 504.67 P
+(immutable object cannot change.\051) 153 491.67 T
+(The following types are immutable sequences:) 153 474.67 T
+4 F
+(Strings) 153 455.67 T
+1 F
+0.13 (The items of a string are characters. There is no separate character type; a char-) 189 455.67 P
+0.31 (acter is represented by a string of one item. Characters represent \050at least\051 8-bit) 189 442.67 P
+-0.49 (bytes. The built-in functions) 189 429.67 P
+2 F
+-1.18 (chr\050\051) 314.45 429.67 P
+1 F
+-0.49 ( and) 347.45 429.67 P
+2 F
+-1.18 (ord\050\051) 367.85 429.67 P
+1 F
+-0.49 ( convert between characters and) 400.85 429.67 P
+0.55 (nonnegative integers representing the byte values. Bytes with the values 0-127) 189 416.67 P
+0.24 (usually represent the corresponding ASCII values, but the interpretation of val-) 189 403.67 P
+0.15 (ues is up to the program. The string data type is also used to represent arrays of) 189 390.67 P
+(bytes, e.g. to hold data read from a file.) 189 377.67 T
+(\050What should be done on systems whose native character set is not ASCII???\051) 189 360.67 T
+4 F
+(Tuples) 153 341.67 T
+1 F
+0.56 (The items of a tuple are arbitrary Python objects. Tuples of two or more items) 189 341.67 P
+-0.21 (are formed by comma-separated lists of expressions. A tuple of one item \050a \324sin-) 189 328.67 P
+0.14 (gleton\325\051 can be formed by affixing a comma to an expression \050an expression by) 189 315.67 P
+0.59 (itself does not create a tuple, since parentheses must be usable for grouping of) 189 302.67 P
+-0.14 (expressions\051. An empty tuple can be formed by enclosing \324nothing\325 in parenthe-) 189 289.67 P
+(ses: \324\324) 189 276.67 T
+2 F
+(\050\051) 215.58 276.67 T
+1 F
+(\325\325.) 228.78 276.67 T
+4 F
+(Mutable sequences) 135 257.67 T
+1 F
+-0.22 (Mutable sequences can be changed after they are created. The subscrip-) 226.66 257.67 P
+-0.14 (tion and slicing notations can be used as the target of assignment and) 153 244.67 P
+2 F
+-0.34 (del) 457.57 244.67 P
+1 F
+-0.14 ( \050delete\051 state-) 477.37 244.67 P
+(ments.) 153 231.67 T
+(There is currently a single mutable sequence type:) 153 214.67 T
+4 F
+(Lists) 153 195.67 T
+1 F
+0.69 0.04 (The items of a list are arbitrary Python objects. Lists are formed by placing a) 189 195.67 B
+0.42 (comma-separated list of expressions in square brackets. \050Note that there are no) 189 182.67 P
+(special cases needed to form lists of length 0 or 1.\051) 189 169.67 T
+-0.52 (The optional module) 153 150.67 P
+2 F
+-1.24 (array) 245.86 150.67 P
+1 F
+-0.52 ( provides an additional example of a mutable sequence type.) 278.86 150.67 P
+4 F
+(Mappings) 99 131.67 T
+1 F
+-0.88 (These represent finite sets of objects indexed by arbitrary index sets. The subscript notation) 148.82 131.67 P
+2 F
+-0.47 (a[k]) 135 118.67 P
+1 F
+-0.2 ( selects the item indexed by) 161.4 118.67 P
+2 F
+-0.47 (k) 284.86 118.67 P
+1 F
+-0.2 ( from the mapping) 291.46 118.67 P
+2 F
+-0.47 (a) 375 118.67 P
+1 F
+-0.2 (; this can be used in expressions and) 381.6 118.67 P
+-0.62 (as the target of assignments or) 135 105.67 P
+2 F
+-1.48 (del) 267.56 105.67 P
+1 F
+-0.62 ( statements. The built-in function) 287.36 105.67 P
+2 F
+-1.48 (len\050\051) 433.39 105.67 P
+1 F
+-0.62 ( returns the num-) 466.39 105.67 P
+(ber of items in a mapping.) 135 92.67 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "13" 19
+%%Page: "14" 20
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(14) 76.5 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+(There is currently a single intrinsic mapping type:) 112.5 712.67 T
+4 F
+(Dictionaries) 112.5 693.67 T
+1 F
+0.85 (These represent finite sets of objects indexed by nearly arbitrary values. The) 172.08 693.67 P
+0.23 (only types of values not acceptable as keys are values containing lists or dictionaries or) 130.5 680.67 P
+-0.09 (other mutable types that are compared by value rather than by object identity \321 the rea-) 130.5 667.67 P
+0.51 (son being that the efficient implementation of dictionaries requires a key\325s value to re-) 130.5 654.67 P
+3.46 (main constant. Numeric types used for keys obey the normal rules for numeric) 130.5 641.67 P
+0.18 (comparison: if two numbers compare equal \050e.g. 1 and 1.0\051 then they can be used inter-) 130.5 628.67 P
+(changeably to index the same dictionary entry.) 130.5 615.67 T
+-0.29 (Dictionaries are mutable; they are created by the) 130.5 598.67 P
+2 F
+-0.7 ({...}) 344.44 598.67 P
+1 F
+-0.29 (notation. \050See \322Dictionary dis-) 383.34 598.67 P
+(plays\323 on page) 130.5 585.67 T
+(28.\051) 198.62 585.67 T
+0.29 (The optional library modules) 112.5 568.67 P
+2 F
+0.7 (dbm) 244.43 568.67 P
+1 F
+0.29 (,) 264.23 568.67 P
+2 F
+0.7 (gdbm) 270.02 568.67 P
+1 F
+0.29 ( and) 296.42 568.67 P
+2 F
+0.7 (bsddb) 318.38 568.67 P
+1 F
+0.29 ( provide additional examples of map-) 351.38 568.67 P
+(ping types.) 112.5 555.67 T
+4 F
+(Callable types) 76.5 536.67 T
+1 F
+0.22 (These are the types to which the function call operation \050for invocation, See \322Calls\323) 145.56 536.67 P
+(on page) 112.5 523.67 T
+(31.\051 is applied:) 149.77 523.67 T
+4 F
+(User-defined functions) 112.5 504.67 T
+1 F
+0.8 (A user-defined function object is created by a function definition.) 221.88 504.67 P
+(\050See \322Function definitions\323 on page) 130.5 491.67 T
+(48.\051) 291.51 491.67 T
+0.53 (Special read-only attributes:) 130.5 474.67 P
+2 F
+1.27 (func_doc) 258.88 474.67 P
+1 F
+0.53 ( or) 311.68 474.67 P
+2 F
+1.27 (__doc__) 327.41 474.67 P
+1 F
+0.53 ( is the function\325s documentation) 373.61 474.67 P
+1.75 (string, or) 130.5 461.67 P
+2 F
+4.2 (None) 176.47 461.67 P
+1 F
+1.75 ( if unavailable;) 202.87 461.67 P
+2 F
+4.2 (func_name) 276.86 461.67 P
+1 F
+1.75 ( or) 336.26 461.67 P
+2 F
+4.2 (__name__) 354.43 461.67 P
+1 F
+1.75 ( is the function\325s name;) 407.23 461.67 P
+2 F
+2.63 (func_defaults) 130.5 448.67 P
+1 F
+1.1 ( is a tuple containing default argument values for those arguments) 216.3 448.67 P
+0.81 (that have defaults, or) 130.5 435.67 P
+2 F
+1.93 (None) 228.73 435.67 P
+1 F
+0.81 ( if no arguments have a default value;) 255.13 435.67 P
+2 F
+1.93 (func_code) 430.21 435.67 P
+1 F
+0.81 ( is the) 489.61 435.67 P
+0.54 (code object representing the compiled function body;) 130.5 422.67 P
+2 F
+1.29 (func_globals) 371.64 422.67 P
+1 F
+0.54 ( is \050a reference) 450.84 422.67 P
+-0.07 (to\051 the dictionary that holds the function\325s global variables \321 it defines the global name) 130.5 409.67 P
+0.35 (space of the module in which the function was defined. Additional information about a) 130.5 396.67 P
+-0.19 (function\325s definition can be retrieved from its code object; see the description of internal) 130.5 383.67 P
+(types below.) 130.5 370.67 T
+4 F
+(User-defined methods) 112.5 351.67 T
+1 F
+2.17 (A user-defined method object \050a.k.a.) 218.21 351.67 P
+3 F
+2.17 (object closure) 392.77 351.67 P
+1 F
+2.17 (\051 combines a) 456.96 351.67 P
+(class, a class instance \050or) 130.5 338.67 T
+2 F
+(None) 243.52 338.67 T
+1 F
+(\051 and a user-defined function.) 269.92 338.67 T
+0.15 (Special read-only attributes:) 130.5 325.67 P
+2 F
+0.35 (im_self) 257.72 325.67 P
+1 F
+0.15 ( is the instance object;) 303.92 325.67 P
+2 F
+0.35 (im_func) 405.17 325.67 P
+1 F
+0.15 ( is the function) 451.37 325.67 P
+-0.38 (object;) 130.5 312.67 P
+2 F
+-0.92 (im_class) 162.81 312.67 P
+1 F
+-0.38 ( is the class that defined the method \050which may be a base class of the) 215.61 312.67 P
+1.76 (class of which) 130.5 299.67 P
+2 F
+4.22 (im_self) 201.45 299.67 P
+1 F
+1.76 ( is an instance\051;) 247.65 299.67 P
+2 F
+4.22 (__doc__) 326.17 299.67 P
+1 F
+1.76 ( is the method\325s documentation) 372.37 299.67 P
+6.14 (\050same as) 130.5 286.67 P
+2 F
+14.74 (im_func.__doc__) 183.71 286.67 P
+1 F
+6.14 (\051;) 282.71 286.67 P
+2 F
+14.74 (__name__) 298.32 286.67 P
+1 F
+6.14 ( is the method name \050same as) 351.12 286.67 P
+2 F
+(im_func.__name__) 130.5 273.67 T
+1 F
+(\051.) 236.1 273.67 T
+-0.42 (User-defined method objects are created in two ways: when getting an attribute of a class) 130.5 256.67 P
+-0.47 (that is a user-defined function object, or when getting an attributes of a class instance that) 130.5 243.67 P
+0.53 (is a user-defined function object. In the former case \050class attribute\051, the) 130.5 230.67 P
+2 F
+1.28 (im_self) 456.41 230.67 P
+1 F
+0.53 ( at-) 502.61 230.67 P
+-0.01 (tribute is) 130.5 217.67 P
+2 F
+-0.03 (None) 172.03 217.67 P
+1 F
+-0.01 (, and the method object is said to be) 198.43 217.67 P
+3 F
+-0.01 (unbound) 359.02 217.67 P
+1 F
+-0.01 (; in the latter case \050instance) 397.52 217.67 P
+0.4 (attribute\051,) 130.5 204.67 P
+2 F
+0.95 (im_self) 176.72 204.67 P
+1 F
+0.4 ( is the instance, and the method object is said to be) 222.92 204.67 P
+3 F
+0.4 (bound) 453.46 204.67 P
+1 F
+0.4 (. For in-) 480.96 204.67 P
+-0.29 (stance, when) 130.5 191.67 P
+2 F
+-0.7 (C) 189.48 191.67 P
+1 F
+-0.29 ( is a class which contains a definition for a function) 196.08 191.67 P
+2 F
+-0.7 (f) 422.3 191.67 P
+1 F
+-0.29 (,) 428.9 191.67 P
+2 F
+-0.7 (C.f) 434.11 191.67 P
+1 F
+-0.29 ( does not yield) 453.91 191.67 P
+-0.49 (the function object) 130.5 178.67 P
+2 F
+-1.18 (f) 214.26 178.67 P
+1 F
+-0.49 (; rather, it yields an unbound method object m where) 220.86 178.67 P
+2 F
+-1.18 (m.im_class) 451.5 178.67 P
+1 F
+0.17 (is) 130.5 165.67 P
+2 F
+0.41 (C) 140.76 165.67 P
+1 F
+0.17 (,) 147.36 165.67 P
+2 F
+0.41 (m.im_function) 153.03 165.67 P
+1 F
+0.17 ( is) 238.83 165.67 P
+2 F
+0.41 (f) 252.01 165.67 P
+1 F
+0.17 (, and m) 258.61 165.67 P
+2 F
+0.41 (.im_self) 291.64 165.67 P
+1 F
+0.17 ( is) 344.44 165.67 P
+2 F
+0.41 (None) 357.62 165.67 P
+1 F
+0.17 (. When) 384.02 165.67 P
+2 F
+0.41 (x) 418.88 165.67 P
+1 F
+0.17 ( is a) 425.48 165.67 P
+2 F
+0.41 (C) 446.46 165.67 P
+1 F
+0.17 ( instance,) 453.06 165.67 P
+2 F
+0.41 (x.f) 497.7 165.67 P
+1 F
+-0.44 (yields a bound method object) 130.5 152.67 P
+2 F
+-1.05 (m) 260.61 152.67 P
+1 F
+-0.44 ( where) 267.21 152.67 P
+2 F
+-1.05 (m.im_class) 298.71 152.67 P
+1 F
+-0.44 ( is) 364.71 152.67 P
+2 F
+-1.05 (C) 376.68 152.67 P
+1 F
+-0.44 (,) 383.28 152.67 P
+2 F
+-1.05 (m.im_function) 388.34 152.67 P
+1 F
+-0.44 ( is) 474.14 152.67 P
+2 F
+-1.05 (f,) 486.1 152.67 P
+1 F
+-0.44 ( and) 499.3 152.67 P
+2 F
+(m.im_self) 130.5 139.67 T
+1 F
+( is) 189.9 139.67 T
+2 F
+(x) 202.74 139.67 T
+1 F
+(.) 209.34 139.67 T
+3.54 (When an unbound user-defined method object is called, the underlying function) 130.5 122.67 P
+0.32 (\050) 130.5 109.67 P
+2 F
+0.76 (im_func) 134.16 109.67 P
+1 F
+0.32 (\051 is called, with the restriction that the first argument must be an instance of) 180.36 109.67 P
+(the proper class \050) 130.5 96.67 T
+2 F
+(im_class) 205.95 96.67 T
+1 F
+(\051 or of a derived class thereof.) 258.75 96.67 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "14" 20
+%%Page: "15" 21
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(15) 530 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+585 292.5 598.5 720 R
+5 9 Q
+(\245) 0 -90 592.5 720 TF
+(Data model) 0 -90 592.5 711 TF
+585 292.5 598.5 720 R
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+-0.4 (When a bound user-defined method object is called, the underlying function \050) 153 712.67 P
+2 F
+-0.96 (im_func) 490.14 712.67 P
+1 F
+-0.4 (\051) 536.34 712.67 P
+0.82 (is called, inserting the class instance \050) 153 699.67 P
+2 F
+1.96 (im_self) 323.8 699.67 P
+1 F
+0.82 (\051 in front of the argument list. For in-) 370 699.67 P
+-0.44 (stance, when) 153 686.67 P
+2 F
+-1.06 (C) 211.68 686.67 P
+1 F
+-0.44 ( is a class which contains a definition for a function) 218.28 686.67 P
+2 F
+-1.06 (f) 442.86 686.67 P
+1 F
+-0.44 (, and) 449.46 686.67 P
+2 F
+-1.06 (x) 472.71 686.67 P
+1 F
+-0.44 ( is an instance) 479.31 686.67 P
+(of) 153 673.67 T
+2 F
+(C) 164.91 673.67 T
+1 F
+(, calling) 171.51 673.67 T
+2 F
+(x.f\0501\051) 209.71 673.67 T
+1 F
+( is equivalent to calling) 249.3 673.67 T
+2 F
+(C.f\050x, 1\051) 354.72 673.67 T
+1 F
+(.) 414.12 673.67 T
+0.17 (Note that the transformation from function object to \050unbound or bound\051 method object) 153 656.67 P
+0.4 (happens each time the attribute is retrieved from the class or instance. In some cases, a) 153 643.67 P
+0.32 (fruitful optimization is to assign the attribute to a local variable and call that local vari-) 153 630.67 P
+0.08 (able. Also notice that this transformation only happens for user-defined functions; other) 153 617.67 P
+(callable objects \050and all non-callable objects\051 are retrieved without transformation.) 153 604.67 T
+4 F
+(Built-in functions) 135 585.67 T
+1 F
+0.01 (A built-in function object is a wrapper around a C function. Examples of) 219.96 585.67 P
+0.86 (built-in functions are) 153 572.67 P
+2 F
+2.06 (len) 250.59 572.67 P
+1 F
+0.86 ( and) 270.39 572.67 P
+2 F
+2.06 (math.sin) 293.49 572.67 P
+1 F
+0.86 ( \050) 346.29 572.67 P
+2 F
+2.06 (math) 353.56 572.67 P
+1 F
+0.86 ( is a standard built-in module\051. The) 379.96 572.67 P
+0.44 (number and type of the arguments are determined by the C function. Special read-only) 153 559.67 P
+1.47 (attributes:) 153 546.67 P
+2 F
+3.52 (__doc__) 201.22 546.67 P
+1 F
+1.47 ( is the function\325s documentation string, or) 247.42 546.67 P
+2 F
+3.52 (None) 444.68 546.67 P
+1 F
+1.47 ( if unavailable;) 471.08 546.67 P
+2 F
+1.61 (__name__) 153 533.67 P
+1 F
+0.67 ( is the function\325s name;) 205.8 533.67 P
+2 F
+1.61 (__self__) 315.16 533.67 P
+1 F
+0.67 ( is set to) 367.96 533.67 P
+2 F
+1.61 (None) 409.76 533.67 P
+1 F
+0.67 ( \050but see the next para-) 436.16 533.67 P
+(graph\051.) 153 520.67 T
+4 F
+(Built-in methods) 135 501.67 T
+1 F
+-0.65 (This is really a different disguise of a built-in function, this time containing) 216.29 501.67 P
+0.11 (an object passed to the C function as an implicit extra argument. An example of a built-) 153 488.67 P
+0.73 (in method is) 153 475.67 P
+2 F
+1.76 (list.append) 212.34 475.67 P
+1 F
+0.73 (, assuming) 284.94 475.67 P
+2 F
+1.76 (list) 336.22 475.67 P
+1 F
+0.73 ( is a list object. In this case, the special) 362.62 475.67 P
+(read-only attribute) 153 462.67 T
+2 F
+(__self__) 237.32 462.67 T
+1 F
+( is set to the object denoted by) 290.11 462.67 T
+2 F
+(list) 426.38 462.67 T
+1 F
+(.) 452.78 462.67 T
+4 F
+(Classes) 135 443.67 T
+1 F
+-0.51 (Class objects are described below. When a class object is called, a new class instance) 171.97 443.67 P
+2.98 (\050also described below\051 is created and returned. This implies a call to the class\325s) 153 430.67 P
+2 F
+-0.98 (__init__) 153 417.67 P
+1 F
+-0.41 ( method if it has one. Any arguments are passed on to the) 205.8 417.67 P
+2 F
+-0.98 (__init__) 455.91 417.67 P
+1 F
+-0.41 (meth-) 514.34 417.67 P
+(od \321 if there is no) 153 404.67 T
+2 F
+(__init__) 238.55 404.67 T
+1 F
+( method, the class must be called without arguments.) 291.35 404.67 T
+4 F
+(Class instances) 135 385.67 T
+1 F
+-0.34 (Class instances are described below. Class instances can be called as a func-) 208.34 385.67 P
+0.51 (tion only when the class has a) 153 372.67 P
+2 F
+1.24 (__call__) 290.73 372.67 P
+1 F
+0.51 ( method; in this case,) 343.53 372.67 P
+2 F
+1.24 (x\050arguments\051) 442.05 372.67 P
+1 F
+0.51 ( is a) 521.25 372.67 P
+(shorthand for) 153 359.67 T
+2 F
+(x.__call__\050arguments\051) 214.71 359.67 T
+1 F
+(.) 353.31 359.67 T
+4 F
+(Modules) 99 340.67 T
+1 F
+-0.46 (Modules are imported by the) 142.09 340.67 P
+2 F
+-1.11 (import) 269.62 340.67 P
+1 F
+-0.46 ( statement. \050See \322The import statement\323 on page) 309.22 340.67 P
+-0.46 (43.\051) 522.59 340.67 P
+-0.11 (A module object has a name space implemented by a dictionary object \050this is the dictionary) 135 327.67 P
+0.35 (referenced by the) 135 314.67 P
+2 F
+0.83 (func_globals) 215.14 314.67 P
+1 F
+0.35 ( attribute of functions defined in the module\051. Attribute) 294.34 314.67 P
+4.83 (references are translated to lookups in this dictionary, e.g.) 135 301.67 P
+2 F
+11.6 (m.x) 435.73 301.67 P
+1 F
+4.83 ( is equivalent to) 455.53 301.67 P
+2 F
+1.5 (m.__dict__["x"]) 135 288.67 P
+1 F
+0.62 (. A module object does not contain the code object used to initialize) 234 288.67 P
+(the module \050since it isn\325t needed once the initialization is done\051.) 135 275.67 T
+-0.54 (Attribute assignment update the module\325s name space dictionary, e.g. \324\324) 135 258.67 P
+2 F
+-1.3 (m.x) 446.62 258.67 P
+-1.3 (=) 473.02 258.67 P
+-1.3 (1) 486.22 258.67 P
+1 F
+-0.54 (\325\325 is equiv-) 492.82 258.67 P
+(alent to \324\324) 135 245.67 T
+2 F
+(m.__dict__["x"] = 1) 177.77 245.67 T
+1 F
+(\325\325.) 303.17 245.67 T
+0.89 (Special read-only attribute:) 135 228.67 P
+2 F
+2.13 (__dict__) 260.16 228.67 P
+1 F
+0.89 ( is the dictionary object that is the module\325s name) 312.96 228.67 P
+(space.) 135 215.67 T
+-0.44 (Predefined \050writable\051 attributes:) 135 198.67 P
+2 F
+-1.07 (__name__) 276.94 198.67 P
+1 F
+-0.44 (is the module name;) 335.28 198.67 P
+2 F
+-1.07 (__doc__) 425.16 198.67 P
+1 F
+-0.44 ( is the module\325s) 471.36 198.67 P
+0.38 (documentation string, or) 135 185.67 P
+2 F
+0.92 (None) 246.76 185.67 P
+1 F
+0.38 ( if unavailable;) 273.16 185.67 P
+2 F
+0.92 (__file__) 343.05 185.67 P
+1 F
+0.38 ( is the pathname of the file from) 395.86 185.67 P
+0.47 (which the module was loaded, if it was loaded from a file. The) 135 172.67 P
+2 F
+1.14 (__file__) 419.47 172.67 P
+1 F
+0.47 ( attribute is not) 472.27 172.67 P
+0.86 (present for C modules that are statically linked into the interpreter; for extension modules) 135 159.67 P
+(loaded dynamically from a shared library, it is the pathname of the shared library file.) 135 146.67 T
+4 F
+(Classes) 99 127.67 T
+1 F
+0.34 (Class objects are created by class definitions \050See \322Class definitions\323 on page) 135.97 127.67 P
+0.34 (49.\051. A class) 484.33 127.67 P
+-0.62 (has a name space implemented by a dictionary object. Class attribute references are translated) 135 114.67 P
+0.72 (to lookups in this dictionary, e.g. \324\324) 135 101.67 P
+2 F
+1.72 (C.x) 294.21 101.67 P
+1 F
+0.72 (\325\325 is translated to \324\324) 314.01 101.67 P
+2 F
+1.72 (C.__dict__["x"]) 401.19 101.67 P
+1 F
+0.72 (\325\325. When) 500.19 101.67 P
+0.38 (the attribute name is not found there, the attribute search continues in the base classes. The) 135 88.67 P
+0.02 (search is depth-first, left-to-right in the order of their occurrence in the base class list. When) 135 75.67 P
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "15" 21
+%%Page: "16" 22
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(16) 76.5 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+0.46 (a class attribute reference would yield a user-defined function object, it is transformed into) 112.5 712.67 P
+-0.56 (an unbound user-defined method object \050see above\051. The) 112.5 699.67 P
+2 F
+-1.35 (im_class) 361.23 699.67 P
+1 F
+-0.56 ( attribute of this method) 414.03 699.67 P
+-0.22 (object is the class in which the function object was found, not necessarily the class for which) 112.5 686.67 P
+(the attribute reference was initiated.) 112.5 673.67 T
+-0.53 (Class attribute assignments update the class\325s dictionary, never the dictionary of a base class.) 112.5 656.67 P
+(A class object can be called as a function \050see above\051 to yield a class instance \050see below\051.) 112.5 639.67 T
+1.45 (Special read-only attributes:) 112.5 622.67 P
+2 F
+3.47 (__dict__) 243.63 622.67 P
+1 F
+1.45 ( is the dictionary that is the class\325s name space;) 296.43 622.67 P
+2 F
+0.96 (__name__) 112.5 609.67 P
+1 F
+0.4 ( is the class name;) 165.3 609.67 P
+2 F
+0.96 (__bases__) 250.1 609.67 P
+1 F
+0.4 ( is a tuple \050possibly empty or a singleton\051 con-) 309.5 609.67 P
+(taining the base classes, in the order of their occurrence in the base class list.) 112.5 596.67 T
+-0.43 (Predefined \050writable\051 attribute:) 112.5 579.67 P
+2 F
+-1.04 (__doc__) 250.2 579.67 P
+1 F
+-0.43 ( is the class\325s documentation string, or) 296.4 579.67 P
+2 F
+-1.04 (None) 465.08 579.67 P
+1 F
+-0.43 ( if un-) 491.48 579.67 P
+(defined.) 112.5 566.67 T
+4 F
+(Class instances) 76.5 547.67 T
+1 F
+-0.33 (A class instance is created by calling a class object as a function \050see above\051. A class) 149.84 547.67 P
+0.89 (instance has a name space implemented as a dictionary, which is the first place where in-) 112.5 534.67 P
+-0.35 (stance attributes are searched. When an attribute is not found there, the search continues with) 112.5 521.67 P
+0.24 (the class attributes. If a class attribute is found that is a user-defined function object \050and in) 112.5 508.67 P
+-0.53 (no other case\051, it is transformed into an unbound user-defined method object \050see above\051. The) 112.5 495.67 P
+2 F
+3.5 (im_class) 112.5 482.67 P
+1 F
+1.46 ( attribute of this method object is the class in which the function object was) 165.3 482.67 P
+-0.35 (found, not necessarily the class of the instance for which the attribute reference was initiated.) 112.5 469.67 P
+0.96 (If no class attribute is found, and the object\325s class has a) 112.5 456.67 P
+2 F
+2.3 (__getattr__) 374.19 456.67 P
+1 F
+0.96 ( method, that is) 446.79 456.67 P
+(called to satisfy the lookup.) 112.5 443.67 T
+0.38 (Attribute assignments and deletions update the instance\325s dictionary, never a class\325s dictio-) 112.5 426.67 P
+0.18 (nary. If the class has a) 112.5 413.67 P
+2 F
+0.44 (__setattr__) 214.1 413.67 P
+1 F
+0.18 ( or) 286.7 413.67 P
+2 F
+0.44 (__delattr__) 301.72 413.67 P
+1 F
+0.18 ( method, this is called instead of) 374.32 413.67 P
+(updating the instance dictionary directly.) 112.5 400.67 T
+1.16 (Class instances can pretend to be numbers, sequences, mappings, or callable objects, and) 112.5 383.67 P
+0.55 (override various other special operations, if they have methods with certain special names.) 112.5 370.67 P
+(See \322Special method names\323 on page) 112.5 357.67 T
+(18.) 279.91 357.67 T
+-0.09 (Special read-only attributes:) 112.5 340.67 P
+2 F
+-0.22 (__dict__) 239.01 340.67 P
+1 F
+-0.09 ( yields the attribute dictionary;) 291.82 340.67 P
+2 F
+-0.22 (__class__) 429.16 340.67 P
+1 F
+-0.09 ( yields) 488.56 340.67 P
+(the instance\325s class.) 112.5 327.67 T
+4 F
+(Files) 76.5 308.67 T
+1 F
+-0.4 (A file object represents an open file. It is a wrapper around a C standard I/O \050) 112.5 308.67 P
+3 F
+-0.4 (stdio) 446.79 308.67 P
+1 F
+-0.4 (\051 file point-) 468.18 308.67 P
+-0.35 (er. File objects are created by the) 112.5 295.67 P
+2 F
+-0.83 (open\050\051) 258.52 295.67 P
+1 F
+-0.35 ( built-in function, and also by) 298.12 295.67 P
+2 F
+-0.83 (posix.popen\050\051) 428.95 295.67 P
+1 F
+-0.35 (,) 514.75 295.67 P
+2 F
+1.04 (posix.fdopen\050\051) 112.5 282.67 P
+1 F
+0.43 ( and the) 204.9 282.67 P
+2 F
+1.04 (makefile) 243.77 282.67 P
+1 F
+0.43 ( method of socket objects. The objects) 296.57 282.67 P
+2 F
+1.04 (sys.st-) 471.3 282.67 P
+-1.48 (din) 112.5 269.67 P
+1 F
+-0.62 (,) 132.3 269.67 P
+2 F
+-1.48 (sys.stdout) 137.18 269.67 P
+1 F
+-0.62 ( and) 203.18 269.67 P
+2 F
+-1.48 (sys.stderr) 223.33 269.67 P
+1 F
+-0.62 ( are initialized to file objects corresponding to the in-) 289.33 269.67 P
+0.96 (terpreter\325s standard input, output and error streams. See the Python Library Reference for) 112.5 256.67 P
+(methods of file objects and other details.) 112.5 243.67 T
+4 F
+(Internal types) 76.5 224.67 T
+1 F
+-0.69 (A few types used internally by the interpreter are exposed to the user. Their definitions) 144.94 224.67 P
+-0.42 (may change with future versions of the interpreter, but they are mentioned here for complete-) 112.5 211.67 P
+(ness.) 112.5 198.67 T
+4 F
+(Code objects) 112.5 179.67 T
+1 F
+-0.45 (Code objects represent) 175.43 179.67 P
+3 F
+-0.45 (byte-compile) 277.04 179.67 P
+1 F
+-0.45 ( executable Python code, or) 333.85 179.67 P
+3 F
+-0.45 (bytecode) 456.25 179.67 P
+1 F
+-0.45 (. The) 495.34 179.67 P
+-0.5 (difference between a code object and a function object is that the function object contains) 130.5 166.67 P
+0.23 (an explicit reference to the function\325s globals \050the name space dictionary of the module) 130.5 153.67 P
+0.18 (in which it was defined\051, while a code object contains no context; also the default argu-) 130.5 140.67 P
+-0.02 (ment values are stored in the function object, not in the code object \050because they repre-) 130.5 127.67 P
+0.1 (sent values calculated at run-time\051. Unlike function objects, code objects are immutable) 130.5 114.67 P
+(and contain no references \050directly or indirectly\051 to mutable objects.) 130.5 101.67 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "16" 22
+%%Page: "17" 23
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(17) 530 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+585 292.5 598.5 720 R
+5 9 Q
+(\245) 0 -90 592.5 720 TF
+(Data model) 0 -90 592.5 711 TF
+585 292.5 598.5 720 R
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+-0.03 (Special read-only attributes:) 153 712.67 P
+2 F
+-0.07 (co_argcount) 279.7 712.67 P
+1 F
+-0.03 ( is the number of positional arguments \050in-) 352.3 712.67 P
+0.21 (cluding arguments with default values\051;) 153 699.67 P
+2 F
+0.51 (co_nlocals) 331.58 699.67 P
+1 F
+0.21 ( is the number of local variables) 397.58 699.67 P
+1 (used by the function \050including arguments\051;) 153 686.67 P
+2 F
+2.4 (co_varnames) 354.54 686.67 P
+1 F
+1 ( is a tuple containing the) 427.14 686.67 P
+0.76 (names of the local variables \050starting with the argument names\051;) 153 673.67 P
+2 F
+1.83 (co_code) 445.98 673.67 P
+1 F
+0.76 ( is a string) 492.18 673.67 P
+0.8 (representing the sequence of bytecode instructions;) 153 660.67 P
+2 F
+1.93 (co_consts) 385.72 660.67 P
+1 F
+0.8 ( is a tuple containing) 445.12 660.67 P
+-0.31 (the literals used by the bytecode;) 153 647.67 P
+2 F
+-0.74 (co_names) 298.41 647.67 P
+1 F
+-0.31 ( is a tuple containing the names used by the) 351.21 647.67 P
+4.13 (bytecode;) 153 634.67 P
+2 F
+9.91 (co_filename) 202.65 634.67 P
+1 F
+4.13 ( is the filename from which the code was compiled;) 275.25 634.67 P
+2 F
+1.13 (co_flags) 153 621.67 P
+1 F
+0.47 ( is an integer encoding a number of flags for the interpreter. The following) 205.8 621.67 P
+-0.56 (flag bits are defined: bit 2 is set if the function uses the \322) 153 608.67 P
+2 F
+-1.34 (*arguments) 394.73 608.67 P
+1 F
+-0.56 (\325\325 syntax to accept) 460.73 608.67 P
+2.81 (an arbitrary number of positional arguments; bit 3 is set if the function uses the) 153 595.67 P
+0.11 (\324\324) 153 582.67 P
+2 F
+0.25 (**keywords) 160.33 582.67 P
+1 F
+0.11 (\325\325 syntax to accept arbitrary keyword arguments; other bits are used in-) 226.33 582.67 P
+0.48 (ternally or reserved for future use. The first item in) 153 569.67 P
+2 F
+1.15 (co_consts) 384.75 569.67 P
+1 F
+0.48 ( is the documentation) 444.15 569.67 P
+0.1 (string of the function, or) 153 556.67 P
+2 F
+0.23 (None) 263.47 556.67 P
+1 F
+0.1 ( if undefined. To find out the first line number of a func-) 289.87 556.67 P
+1.57 (tion, you have to disassemble the bytecode instructions; the standard library module) 153 543.67 P
+2 F
+2.59 (codehack) 153 530.67 P
+1 F
+1.08 ( defines a function) 205.8 530.67 P
+2 F
+2.59 (getlineno\050\051) 294.42 530.67 P
+1 F
+1.08 ( that returns the first line number of a) 367.02 530.67 P
+(code object.) 153 517.67 T
+4 F
+(Frame objects) 135 498.67 T
+1 F
+0.15 (Frame objects represent execution frames. They may occur in traceback ob-) 204.64 498.67 P
+(jects \050see below\051.) 153 485.67 T
+-0.2 (Special read-only attributes:) 153 468.67 P
+2 F
+-0.48 (f_back) 279.19 468.67 P
+1 F
+-0.2 ( is to the previous stack frame \050towards the caller\051,) 318.79 468.67 P
+0.09 (or) 153 455.67 P
+2 F
+0.21 (None) 165 455.67 P
+1 F
+0.09 ( if this is the bottom stack frame;) 191.4 455.67 P
+2 F
+0.21 (f_code) 340 455.67 P
+1 F
+0.09 ( is the code object being executed in) 379.6 455.67 P
+0.34 (this frame;) 153 442.67 P
+2 F
+0.82 (f_locals) 203.79 442.67 P
+1 F
+0.34 ( is the dictionary used to look up locals variables;) 256.59 442.67 P
+2 F
+0.82 (f_globals) 480.6 442.67 P
+1 F
+2.99 (is used for global variables;) 153 429.67 P
+2 F
+7.18 (f_builtins) 292.29 429.67 P
+1 F
+2.99 ( is used for built-in \050intrinsic\051 names;) 358.29 429.67 P
+2 F
+0.46 (f_restricted) 153 416.67 P
+1 F
+0.19 ( is a flag indicating whether the function is executing in restricted ex-) 232.2 416.67 P
+-0.49 (ecution mode;) 153 403.67 P
+2 F
+-1.17 (f_owner) 217.41 403.67 P
+1 F
+-0.49 ( is the class or module that defined the code, if any;) 263.61 403.67 P
+2 F
+-1.17 (f_lineno) 487.2 403.67 P
+1 F
+-0.58 (gives the current line number and) 153 390.67 P
+2 F
+-1.39 (f_lasti) 299.83 390.67 P
+1 F
+-0.58 ( gives the precise instruction \050this is an index) 346.03 390.67 P
+(into the instruction string of the code object\051.) 153 377.67 T
+0.9 (Special writable attributes:) 153 360.67 P
+2 F
+2.15 (f_trace) 276.37 360.67 P
+1 F
+0.9 (, if not) 322.57 360.67 P
+2 F
+2.15 (None) 357.04 360.67 P
+1 F
+0.9 (, is a function called at the start of) 383.44 360.67 P
+(each source code line \050this is used by the debugger\051.) 153 347.67 T
+4 F
+(Traceback objects) 135 328.67 T
+1 F
+0.44 ( Traceback objects represent a stack trace of an exception. A traceback) 223.59 328.67 P
+-0.52 (object is created when an exception occurs. When the search for an exception handler un-) 153 315.67 P
+0.3 (winds the execution stack, at each unwound level a traceback object is inserted in front) 153 302.67 P
+-0.24 (of the current traceback. When an exception handler is entered, \050See \322The try statement\323) 153 289.67 P
+9.58 (on page) 153 276.67 P
+9.58 (47.\051, the stack trace is made available to the program as) 199.85 276.67 P
+2 F
+4.44 (sys.exc_traceback) 153 263.67 P
+1 F
+1.85 (. When the program contains no suitable handler, the stack) 265.2 263.67 P
+0.11 (trace is written \050nicely formatted\051 to the standard error stream; if the interpreter is inter-) 153 250.67 P
+(active, it is also made available to the user as) 153 237.67 T
+2 F
+(sys.last_traceback) 353.72 237.67 T
+1 F
+(.) 472.52 237.67 T
+-0.21 (Special read-only attributes:) 135 218.67 P
+2 F
+-0.5 (tb_next) 261.16 218.67 P
+1 F
+-0.21 ( is the next level in the stack trace \050towards the frame) 307.36 218.67 P
+0.45 (where the exception occurred\051, or) 153 205.67 P
+2 F
+1.08 (None) 306.13 205.67 P
+1 F
+0.45 ( if there is no next level;) 332.53 205.67 P
+2 F
+1.08 (tb_frame) 445.35 205.67 P
+1 F
+0.45 ( points to) 498.15 205.67 P
+0.36 (the execution frame of the current level;) 153 192.67 P
+2 F
+0.87 (tb_lineno) 334.85 192.67 P
+1 F
+0.36 ( gives the line number where the) 394.24 192.67 P
+0.58 (exception occurred;) 153 179.67 P
+2 F
+1.39 (tb_lasti) 243.96 179.67 P
+1 F
+0.58 ( indicates the precise instruction. The line number and) 296.76 179.67 P
+-0.25 (last instruction in the traceback may differ from the line number of its frame object if the) 153 166.67 P
+1.72 (exception occurred in a) 153 153.67 P
+2 F
+4.14 (try) 265.58 153.67 P
+1 F
+1.72 ( statement with no matching) 285.38 153.67 P
+2 F
+4.14 (except) 421.41 153.67 P
+1 F
+1.72 ( clause or with a) 461.01 153.67 P
+2 F
+(finally) 153 140.67 T
+1 F
+( clause.) 199.2 140.67 T
+4 F
+(Slice objects) 135 121.67 T
+1 F
+-0.74 (Slice objects are used to represent slices when) 195.49 121.67 P
+3 F
+-0.74 (extended slice syntax) 395.51 121.67 P
+1 F
+-0.74 ( is used \050this) 486.9 121.67 P
+1.72 (is a slice using two colons, or multiple slices or ellipses separated by commas, e.g.) 153 108.67 P
+2 F
+3.58 (a[i:j:step]) 153 95.67 P
+1 F
+1.49 (,) 225.6 95.67 P
+2 F
+3.58 (a[i:j,) 232.59 95.67 P
+3.58 (k:l]) 278.79 95.67 P
+1 F
+1.49 (, or) 305.19 95.67 P
+2 F
+3.58 (a[...,) 325.58 95.67 P
+3.58 (i:j]) 371.79 95.67 P
+1 F
+1.49 (\051. They are also created by the) 398.18 95.67 P
+(built-in) 153 82.67 T
+2 F
+(slice\050\051) 188.15 82.67 T
+1 F
+( function.) 234.35 82.67 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "17" 23
+%%Page: "18" 24
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(18) 76.5 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+-0.03 (Special read-only attributes:) 130.5 712.67 P
+2 F
+-0.08 (start) 257.19 712.67 P
+1 F
+-0.03 ( is the lowerbound;) 290.19 712.67 P
+2 F
+-0.08 (stop) 377.44 712.67 P
+1 F
+-0.03 ( is the upperbound;) 403.84 712.67 P
+2 F
+-0.08 (step) 491.1 712.67 P
+1 F
+(is the step value; each is) 130.5 699.67 T
+2 F
+(None) 239.87 699.67 T
+1 F
+( if omitted. These attributes can have any type.) 266.27 699.67 T
+0 14 Q
+(3.3) 76.5 672.67 T
+(Special method names) 112.5 672.67 T
+1 11 Q
+-0.41 (This section describes how user-defined classes can customize their behavior or emulate the behavior) 76.5 643.67 P
+0.14 (of other object types. In the following, if a class defines a particular method, any class derived from) 76.5 630.67 P
+(it is also understood to define that method \050implicitly\051.) 76.5 617.67 T
+-0.27 (A class can implement certain operations that are invoked by special syntax \050such as arithmetic oper-) 76.5 592.67 P
+-0.51 (ations or subscripting and slicing\051 by defining methods with special names. For instance, if a class de-) 76.5 579.67 P
+-0.13 (fines a method named) 76.5 566.67 P
+2 F
+-0.31 (__getitem__) 175.58 566.67 P
+1 F
+-0.13 (, and) 248.18 566.67 P
+2 F
+-0.31 (x) 272.05 566.67 P
+1 F
+-0.13 ( is an instance of this class, then) 278.65 566.67 P
+2 F
+-0.31 (x[i]) 421.52 566.67 P
+1 F
+-0.13 ( is equivalent to) 447.92 566.67 P
+2 F
+0.45 (x.__getitem__\050i\051) 76.5 553.67 P
+1 F
+0.19 (. \050The reverse is not true; e.g. if) 182.1 553.67 P
+2 F
+0.45 (x) 325.03 553.67 P
+1 F
+0.19 ( is a list object,) 331.63 553.67 P
+2 F
+0.45 (x.__getitem__\050i\051) 401.63 553.67 P
+1 F
+0.19 ( is) 507.23 553.67 P
+0.2 (not equivalent to) 76.5 540.67 P
+2 F
+0.48 (x[i]) 153.79 540.67 P
+1 F
+0.2 (.\051 Except where mentioned, attempts to execute an operation raise an excep-) 180.19 540.67 P
+(tion when no appropriate method is defined.) 76.5 527.67 T
+0 12 Q
+(3.3.1) 76.5 502 T
+(Basic customization) 121.5 502 T
+2 11 Q
+(__init__\050self, [args...]\051) 76.5 482.67 T
+1 F
+0.13 (Called when the instance is created. The arguments are those) 248.1 482.67 P
+-0.67 (that were passed to the class constructor expression. If a base class has an) 112.5 469.67 P
+2 F
+-1.62 (__init__) 429.62 469.67 P
+1 F
+-0.67 ( method) 482.42 469.67 P
+0.32 (the derived class\325s) 112.5 456.67 P
+2 F
+0.78 (__init__) 197.48 456.67 P
+1 F
+0.32 ( method must explicitly call it to ensure proper initialization) 250.28 456.67 P
+(of the base class part of the instance, e.g.) 112.5 443.67 T
+(\324\324) 112.5 430.67 T
+2 F
+(BaseClass.__init__\050self,) 119.83 430.67 T
+([args...]\051) 284.83 430.67 T
+1 F
+(\325\325.) 350.83 430.67 T
+2 F
+(__del__\050self\051) 76.5 411.67 T
+1 F
+-0.65 (Called when the instance is about to be destroyed. If a base class has a) 168.9 411.67 P
+2 F
+-1.57 (__del__) 471.3 411.67 P
+1 F
+-0.39 (method the derived class\325s) 112.5 398.67 P
+2 F
+-0.94 (__del__) 230.69 398.67 P
+1 F
+-0.39 ( method must explicitly call it to ensure proper deletion) 276.89 398.67 P
+0.07 (of the base class part of the instance. e.g. \324\324) 112.5 385.67 P
+2 F
+0.17 (BaseClass.__del__\050self\051) 303.16 385.67 P
+1 F
+0.07 (\325\325. Note that it) 454.96 385.67 P
+-0.09 (is possible \050though not recommended!\051 for the) 112.5 372.67 P
+2 F
+-0.22 (__del__) 318.69 372.67 P
+1 F
+-0.09 ( method to postpone destruction of) 364.89 372.67 P
+0.12 (the instance by creating a new reference to it. It may then be called at a later time when this) 112.5 359.67 P
+0.38 (new reference is deleted. It is not guaranteed that) 112.5 346.67 P
+2 F
+0.92 (__del__) 334.67 346.67 P
+1 F
+0.38 ( methods are called for objects) 380.86 346.67 P
+(that still exist when the interpreter exits.) 112.5 333.67 T
+0.16 (Note that \324\324) 112.5 316.67 P
+2 F
+0.38 (del) 163.53 316.67 P
+0.38 (x) 186.24 316.67 P
+1 F
+0.16 (\325\325 doesn\325t directly call) 192.84 316.67 P
+2 F
+0.38 (x.__del__\050\051) 293.67 316.67 P
+1 F
+0.16 ( \321 the former decrements the ref-) 366.27 316.67 P
+-0.19 (erence count for) 112.5 303.67 P
+2 F
+-0.46 (x) 186.14 303.67 P
+1 F
+-0.19 ( by one, and the latter is only called when its reference count reaches zero.) 192.74 303.67 P
+0.15 (Some common situations that may prevent the reference count of an object to go to zero in-) 112.5 290.67 P
+0.68 (clude: circular references between objects \050e.g. a doubly-linked list or a tree data structure) 112.5 277.67 P
+-0.2 (with parent and child pointers\051; a reference to the object on the stack frame of a function that) 112.5 264.67 P
+-0.12 (caught an exception \050the traceback stored in) 112.5 251.67 P
+2 F
+-0.3 (sys.exc_traceback) 308.05 251.67 P
+1 F
+-0.12 ( keeps the stack frame) 420.25 251.67 P
+0.38 (alive\051; or a reference to the object on the stack frame that raised an unhandled exception in) 112.5 238.67 P
+0.64 (interactive mode \050the traceback stored in) 112.5 225.67 P
+2 F
+1.53 (sys.last_traceback) 298.4 225.67 P
+1 F
+0.64 ( keeps the stack frame) 417.2 225.67 P
+0.63 (alive\051. The first situation can only be remedied by explicitly breaking the cycles; the latter) 112.5 212.67 P
+5.8 (two situations can be resolved by storing) 112.5 199.67 P
+2 F
+13.93 (None) 335.52 199.67 P
+1 F
+5.8 ( in) 361.92 199.67 P
+2 F
+13.93 (sys.exc_traceback) 387.58 199.67 P
+1 F
+5.8 ( or) 499.78 199.67 P
+2 F
+(sys.last_traceback) 112.5 186.67 T
+1 F
+(.) 231.3 186.67 T
+3 F
+0.01 (Warning) 112.5 169.67 P
+1 F
+0.01 (: due to the precarious circumstances under which) 151 169.67 P
+2 F
+0.03 (__del__) 374.11 169.67 P
+1 F
+0.01 ( methods are invoked,) 420.31 169.67 P
+2.72 (exceptions that occur during their execution are) 112.5 156.67 P
+3 F
+2.72 (ignored) 343.84 156.67 P
+1 F
+2.72 (, and a warning is printed to) 378.06 156.67 P
+2 F
+0.41 (sys.stderr) 112.5 143.67 P
+1 F
+0.17 ( instead. Also, when) 178.5 143.67 P
+2 F
+0.41 (__del__) 271.46 143.67 P
+1 F
+0.17 ( is invoked is response to a module being de-) 317.66 143.67 P
+-0.53 (leted \050e.g. when execution of the program is done\051, other globals referenced by the) 112.5 130.67 P
+2 F
+-1.28 (__del__) 471.3 130.67 P
+1 F
+-0.56 (method may already have been deleted. For this reason,) 112.5 117.67 P
+2 F
+-1.34 (__del__) 355.23 117.67 P
+1 F
+-0.56 ( methods should do the ab-) 401.43 117.67 P
+(solute minimum needed to maintain external invariants.) 112.5 104.67 T
+2 F
+(__repr__\050self\051) 76.5 85.67 T
+1 F
+1.28 (Called by the) 175.5 85.67 P
+2 F
+3.07 (repr\050\051) 240.74 85.67 P
+1 F
+1.28 ( built-in function and by string conversions \050reverse) 280.34 85.67 P
+1.09 (quotes\051 to compute the \322official\323 string representation of an object. This should normally) 112.5 72.67 P
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "18" 24
+%%Page: "19" 25
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(19) 530 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+585 292.5 598.5 720 R
+5 9 Q
+(\245) 0 -90 592.5 720 TF
+(Data model) 0 -90 592.5 711 TF
+585 292.5 598.5 720 R
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+-0.6 (look like a valid Python expression that can be used to recreate an object with the same value.) 135 712.67 P
+2 F
+(__str__\050self\051) 99 693.67 T
+1 F
+-0.77 (Called by the) 191.4 693.67 P
+2 F
+-1.84 (str\050\051) 250.51 693.67 P
+1 F
+-0.77 ( built-in function and by the) 283.51 693.67 P
+2 F
+-1.84 (print) 404.79 693.67 P
+1 F
+-0.77 (statement compute the) 442.55 693.67 P
+-0.45 (\324\324informal\325\325 string representation of an object. This differs from) 135 680.67 P
+2 F
+-1.08 (__repr__) 414.44 680.67 P
+1 F
+-0.45 ( in that it doesn\325t) 467.24 680.67 P
+-0.44 (have to look like a valid Python expression: a more convenient or concise representation may) 135 667.67 P
+(be used instead.) 135 654.67 T
+2 F
+(__cmp__\050self, other\051) 99 635.67 T
+1 F
+-0.35 (Called by all comparison operations. Should return a negative integer) 237.6 635.67 P
+1.61 (if) 135 622.67 P
+2 F
+3.86 (self) 146.08 622.67 P
+3.86 (<) 175.23 622.67 P
+3.86 (other) 184.58 622.67 P
+1 F
+1.61 (, zero if) 217.58 622.67 P
+2 F
+3.86 (self) 259.06 622.67 P
+3.86 (==) 288.21 622.67 P
+3.86 (other) 304.16 622.67 P
+1 F
+1.61 (, a positive integer if) 337.16 622.67 P
+2 F
+3.86 (self) 438.7 622.67 P
+3.86 (>) 467.85 622.67 P
+3.86 (other) 477.2 622.67 P
+1 F
+1.61 (. If no) 510.2 622.67 P
+2 F
+2.1 (__cmp__) 135 609.67 P
+1 F
+0.88 ( method is defined, class instances are compared by object identity \050\322address\323\051.) 181.2 609.67 P
+-0.23 (\050Implementation note: due to limitations in the interpreter, exceptions raised by comparisons) 135 596.67 P
+(are) 135 583.67 T
+3 F
+(ignored) 151.18 583.67 T
+1 F
+(, and the outcome will be random in this case.\051) 185.4 583.67 T
+2 F
+(__hash__\050self\051) 99 564.67 T
+1 F
+-0.35 (Called for the key object for dictionary operations, and by the built-in function) 198 564.67 P
+2 F
+-0.73 (hash\050\051) 135 551.67 P
+1 F
+-0.3 (. Should return a 32-bit integer usable as a hash value for dictionary operations. The) 174.6 551.67 P
+0.62 (only required property is that objects which compare equal have the same hash value; it is) 135 538.67 P
+0.69 (advised to somehow mix together \050e.g. using exclusive or\051 the hash values for the compo-) 135 525.67 P
+-0.24 (nents of the object that also play a part in comparison of objects. If no) 135 512.67 P
+2 F
+-0.57 (__hash__) 441.84 512.67 P
+1 F
+-0.24 ( method is) 494.64 512.67 P
+0.04 (defined, class instances are hashed by object identity \050\324\324address\325\325\051. If a class does not define) 135 499.67 P
+-0.3 (a) 135 486.67 P
+2 F
+-0.72 (__cmp__) 142.34 486.67 P
+1 F
+-0.3 ( method it should not define a) 188.54 486.67 P
+2 F
+-0.72 (__hash__) 320.58 486.67 P
+1 F
+-0.3 ( method either; if it defines) 373.38 486.67 P
+2 F
+-0.72 (__cmp__) 493.8 486.67 P
+1 F
+-0 (but not) 135 473.67 P
+2 F
+-0.01 (__hash__) 168.61 473.67 P
+1 F
+-0 ( its instances will not be usable as dictionary keys. If a class defines mu-) 221.41 473.67 P
+-0.32 (table objects and implements a) 135 460.67 P
+2 F
+-0.76 (__cmp__) 271.81 460.67 P
+1 F
+-0.32 ( method it should not implement) 318.01 460.67 P
+2 F
+-0.76 (__hash__) 462.16 460.67 P
+1 F
+-0.32 ( since) 514.96 460.67 P
+0.34 (the dictionary implementation requires that a key\325s hash value is immutable \050if the object\325s) 135 447.67 P
+(hash value changes, it will be in the wrong hash bucket\051.) 135 434.67 T
+2 F
+(__nonzero__\050self\051) 384.29 434.67 T
+1 F
+-3.12 (Called to) 503.09 434.67 P
+2.26 (implement truth value testing; should return 0 or 1. When this method is not defined,) 135 421.67 P
+2 F
+3.24 (__len__) 135 408.67 P
+1 F
+1.35 ( is called, if it is defined \050see below\051. If a class defines neither) 181.2 408.67 P
+2 F
+3.24 (__len__) 475.04 408.67 P
+1 F
+1.35 ( nor) 521.24 408.67 P
+2 F
+(__nonzero__) 135 395.67 T
+1 F
+(, all its instances are considered true.) 207.6 395.67 T
+0 12 Q
+(3.3.2) 99 370 T
+(Customizing attribute access) 144 370 T
+1 11 Q
+0.28 (The following methods can be defined to customize the meaning of attribute access \050use of, assign-) 99 344.67 P
+0.41 0.12 (ment to, or deletion of) 99 331.67 B
+2 F
+0.99 0.12 (x.) 204.89 331.67 B
+3 F
+0.41 0.12 (name) 218.34 331.67 B
+1 F
+0.41 0.12 (\051 for class instances. For performance reasons, these methods are) 242.67 331.67 B
+0.41 0.02 (cached in the class object at class definition time; therefore, they cannot be changed after the class) 99 318.67 B
+(definition is executed.) 99 305.67 T
+2 F
+(__getattr__\050self, name\051) 99 286.67 T
+1 F
+-0.39 (Called when an attribute lookup has not found the attribute in the) 257.4 286.67 P
+-0.6 (usual places \050i.e. it is not an instance attribute nor is it found in the class tree for) 135 273.67 P
+2 F
+-1.43 (self) 478.63 273.67 P
+1 F
+-0.6 (\051.) 505.03 273.67 P
+2 F
+-1.43 (name) 513.6 273.67 P
+1 F
+0.67 (is the attribute name. This method should return the \050computed\051 attribute value or raise an) 135 260.67 P
+2 F
+(AttributeError) 135 247.67 T
+1 F
+( exception.) 227.4 247.67 T
+1.22 (Note that if the attribute is found through the normal mechanism,) 135 230.67 P
+2 F
+2.93 (__getattr__) 438.06 230.67 P
+1 F
+1.22 ( is not) 510.66 230.67 P
+0.32 (called. \050This is an asymmetry between) 135 217.67 P
+2 F
+0.76 (__getattr__) 308.89 217.67 P
+1 F
+0.32 ( and) 381.49 217.67 P
+2 F
+0.76 (__setattr__) 403.51 217.67 P
+1 F
+0.32 (.\051 This is done) 476.11 217.67 P
+-0.44 (both for efficiency reasons and because otherwise) 135 204.67 P
+2 F
+-1.06 (__setattr__) 353.97 204.67 P
+1 F
+-0.44 ( would have no way to ac-) 426.57 204.67 P
+-0.62 (cess other attributes of the instance. Note that at least for instance variables, you can fake total) 135 191.67 P
+0.29 (control by not inserting any values in the instance attribute dictionary \050but instead inserting) 135 178.67 P
+(them in another object\051.) 135 165.67 T
+2 F
+(__setattr__\050self, name, value\051) 99 146.67 T
+1 F
+-0.27 (Called whenever an attribute assignment is attempted.) 303.6 146.67 P
+-0.66 (This is called instead of the normal mechanism \050i.e. instead of storing the value in the instance) 135 133.67 P
+(dictionary\051.) 135 120.67 T
+2 F
+(name) 188.77 120.67 T
+1 F
+( is the attribute name,) 215.17 120.67 T
+2 F
+(value) 312.94 120.67 T
+1 F
+( is the value to be assigned to it.) 345.94 120.67 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "19" 25
+%%Page: "20" 26
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(20) 76.5 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+1.55 (If) 112.5 712.67 P
+2 F
+3.72 (__setattr__) 124.12 712.67 P
+1 F
+1.55 ( wants to assign to an instance attribute, it should) 196.73 712.67 P
+3 F
+1.55 (not) 431.3 712.67 P
+1 F
+1.55 ( simply execute) 445.35 712.67 P
+0.27 (\324\324) 112.5 699.67 P
+2 F
+0.65 (self.) 119.83 699.67 P
+3 F
+0.27 (name) 152.83 699.67 P
+2 F
+0.65 ( = value) 176.65 699.67 P
+1 F
+0.27 (\325\325 \321 this would cause a recursive call to itself. Instead, it should) 230.75 699.67 P
+(insert the value in the dictionary of instance attributes, e.g.) 112.5 686.67 T
+(\324\324) 112.5 673.67 T
+2 F
+(self.__dict__[name]) 119.83 673.67 T
+(=) 251.83 673.67 T
+(value) 265.03 673.67 T
+1 F
+(\325\325.) 298.03 673.67 T
+2 F
+(__delattr__\050self, name\051) 76.5 654.67 T
+1 F
+-0.33 (Like) 234.9 654.67 P
+2 F
+-0.79 (__setattr__) 257.48 654.67 P
+1 F
+-0.33 ( but for attribute deletion instead of assign-) 330.08 654.67 P
+(ment.) 112.5 641.67 T
+0 12 Q
+(3.3.3) 76.5 616 T
+(Emulating callable objects) 121.5 616 T
+2 11 Q
+(__call__\050self, [args...]\051) 76.5 596.67 T
+1 F
+-0.75 (Called when the instance is \322called\323 as a function; if this meth-) 248.1 596.67 P
+-0.23 (od is defined,) 112.5 583.67 P
+2 F
+-0.55 (x\050arg1, arg2, ...\051) 174.13 583.67 P
+1 F
+-0.23 ( is a shorthand for) 291.83 583.67 P
+2 F
+-0.55 (x.__call__\050arg1, arg2,) 372.85 583.67 P
+(...\051) 112.5 570.67 T
+1 F
+(.) 138.9 570.67 T
+0 12 Q
+(3.3.4) 76.5 545 T
+(Emulating sequence and mapping types) 121.5 545 T
+1 11 Q
+-0.37 (The following methods can be defined to emulate sequence or mapping objects. The first set of meth-) 76.5 519.67 P
+-0.49 (ods is used either to emulate a sequence or to emulate a mapping; the difference is that for a sequence,) 76.5 506.67 P
+0.41 0.07 (the allowable keys should be the integers) 76.5 493.67 B
+3 F
+0.41 0.07 (k) 266.11 493.67 B
+1 F
+0.41 0.07 ( for which 0) 271.06 493.67 B
+2 F
+0.99 0.07 (<=) 329.89 493.67 B
+3 F
+0.41 0.07 (k) 346.47 493.67 B
+2 F
+0.99 0.07 (<) 354.66 493.67 B
+3 F
+0.41 0.07 (N) 364.58 493.67 B
+1 F
+0.41 0.07 ( where) 371.99 493.67 B
+3 F
+0.41 0.07 (N) 405.7 493.67 B
+1 F
+0.41 0.07 ( is the length of the se-) 413.11 493.67 B
+-0.52 (quence, and the method) 76.5 480.67 P
+2 F
+-1.24 (__getslice__) 181.66 480.67 P
+1 F
+-0.52 ( \050see below\051 should be defined. It is also recommended that) 260.86 480.67 P
+-0.16 (mappings provide methods) 76.5 467.67 P
+2 F
+-0.38 (keys) 197.94 467.67 P
+1 F
+-0.16 (,) 224.34 467.67 P
+2 F
+-0.38 (values) 229.69 467.67 P
+1 F
+-0.16 ( and) 269.29 467.67 P
+2 F
+-0.38 (items) 290.36 467.67 P
+1 F
+-0.16 ( behaving similar to those for Python\325s stan-) 323.36 467.67 P
+0.41 0.2 (dard dictionary objects; mutable sequences should provide methods) 76.5 454.67 B
+2 F
+0.99 0.2 (append) 393.4 454.67 B
+1 F
+0.41 0.2 (,) 434.17 454.67 B
+2 F
+0.99 0.2 (count) 440.48 454.67 B
+1 F
+0.41 0.2 (,) 474.46 454.67 B
+2 F
+0.99 0.2 (index) 480.77 454.67 B
+1 F
+0.41 0.2 (,) 514.75 454.67 B
+2 F
+0.99 0 (insert) 76.5 441.67 B
+1 F
+0.41 0 (,) 116.11 441.67 B
+2 F
+0.99 0 (sort) 122.02 441.67 B
+1 F
+0.41 0 (,) 148.43 441.67 B
+2 F
+0.99 0 (remove) 154.34 441.67 B
+1 F
+0.41 0 ( and) 193.95 441.67 B
+2 F
+0.99 0 (reverse) 216.16 441.67 B
+1 F
+0.41 0 ( like Python standard list objects. Finally, sequence types) 262.37 441.67 B
+0.41 0.01 (should implement addition \050meaning concatenation\051 and multiplication \050meaning repetition\051 by de-) 76.5 428.67 B
+-0.55 (fining the methods) 76.5 415.67 P
+2 F
+-1.31 (__add__) 160.11 415.67 P
+1 F
+-0.55 (,) 206.31 415.67 P
+2 F
+-1.31 (__radd__) 211.27 415.67 P
+1 F
+-0.55 (,) 264.07 415.67 P
+2 F
+-1.31 (__mul__) 269.02 415.67 P
+1 F
+-0.55 ( and) 315.22 415.67 P
+2 F
+-1.31 (__rmul__) 335.51 415.67 P
+1 F
+-0.55 ( described below; they should) 388.31 415.67 P
+(not define) 76.5 402.67 T
+2 F
+(__coerce__) 123.55 402.67 T
+1 F
+( or other numerical operators.) 189.55 402.67 T
+2 F
+(__len__\050self\051) 76.5 383.67 T
+1 F
+-0.67 (Called to implement the built-in function) 168.9 383.67 P
+2 F
+-1.6 (len\050\051) 348.25 383.67 P
+1 F
+-0.67 (. Should return the length of the) 381.25 383.67 P
+-0.16 (object, an integer) 112.5 370.67 P
+2 F
+-0.39 (>=) 190.83 370.67 P
+1 F
+-0.16 ( 0. Also, an object that doesn\325t define a) 204.03 370.67 P
+2 F
+-0.39 (__nonzero__\050\051) 377.64 370.67 P
+1 F
+-0.16 ( method and) 463.44 370.67 P
+(whose) 112.5 357.67 T
+2 F
+(__len__\050\051) 143.35 357.67 T
+1 F
+( method returns zero is considered to be false in a Boolean context.) 202.76 357.67 T
+2 F
+(__getitem__\050self, key\051) 76.5 338.67 T
+1 F
+-0.74 (Called to implement evaluation of) 228.3 338.67 P
+2 F
+-1.78 (self[key]) 377.67 338.67 P
+1 F
+-0.74 (. Note that the spe-) 437.07 338.67 P
+0.38 (cial interpretation of negative keys \050if the class wishes to emulate a sequence type\051 is up to) 112.5 325.67 P
+(the) 112.5 312.67 T
+2 F
+(__getitem__) 128.69 312.67 T
+1 F
+( method.) 201.29 312.67 T
+2 F
+(__setitem__\050self, key, value\051) 76.5 293.67 T
+1 F
+-0.41 (Called to implement assignment to) 274.5 293.67 P
+2 F
+-1 (self[key]) 428.57 293.67 P
+1 F
+-0.41 (. Same) 487.97 293.67 P
+(note as for) 112.5 280.67 T
+2 F
+(__getitem__) 161.68 280.67 T
+1 F
+(.) 234.28 280.67 T
+2 F
+(__delitem__\050self, key\051) 76.5 261.67 T
+1 F
+0.89 (Called to implement deletion of) 228.3 261.67 P
+2 F
+2.13 (self[key]) 375.43 261.67 P
+1 F
+0.89 (. Same note as for) 434.83 261.67 P
+2 F
+(__getitem__) 112.5 248.67 T
+1 F
+(.) 185.1 248.67 T
+0 F
+(3.3.4.1) 76.5 226.67 T
+(Additional methods for emulation of sequence types) 121.5 226.67 T
+1 F
+-0.39 (The following methods can be defined to further emulate sequence objects. For immutable sequences) 76.5 201.67 P
+-0.15 (methods, only) 76.5 188.67 P
+2 F
+-0.35 (__getslice__) 141.29 188.67 P
+1 F
+-0.15 ( should be defined; for mutable sequences, all three methods should) 220.49 188.67 P
+(be defined.) 76.5 175.67 T
+2 F
+(__getslice__\050self, i, j\051) 76.5 156.67 T
+1 F
+0.22 (Called to implement evaluation of) 241.5 156.67 P
+2 F
+0.52 (self[i:j]) 395.66 156.67 P
+1 F
+0.22 (. The returned) 455.06 156.67 P
+0.15 (object should be of the same type as) 112.5 143.67 P
+2 F
+0.37 (self) 275.64 143.67 P
+1 F
+0.15 (. Note that missing) 302.04 143.67 P
+2 F
+0.37 (i) 388.51 143.67 P
+1 F
+0.15 ( or) 395.11 143.67 P
+2 F
+0.37 (j) 410.08 143.67 P
+1 F
+0.15 ( in the slice expression) 416.68 143.67 P
+0.09 (are replaced by 0 or) 112.5 130.67 P
+2 F
+0.22 (len\050self\051) 203.07 130.67 P
+1 F
+0.09 (, respectively, and) 262.47 130.67 P
+2 F
+0.22 (len\050self\051) 345.53 130.67 P
+1 F
+0.09 ( has been added \050once\051 to) 404.93 130.67 P
+(originally negative) 112.5 117.67 T
+2 F
+(i) 198.05 117.67 T
+1 F
+( or) 204.65 117.67 T
+2 F
+(j) 219.31 117.67 T
+1 F
+( by the time this function is called \050unlike for) 225.91 117.67 T
+2 F
+(__getitem__) 427.56 117.67 T
+1 F
+(\051.) 500.16 117.67 T
+2 F
+(__setslice__\050self, i, j, sequence\051) 76.5 98.67 T
+1 F
+-1.66 (Called to implement assignment to) 307.5 98.67 P
+2 F
+-3.98 (self[i:j]) 455.35 98.67 P
+1 F
+-1.66 (.) 514.75 98.67 P
+-0.16 (The) 112.5 85.67 P
+2 F
+-0.39 (sequence) 132.19 85.67 P
+1 F
+-0.16 ( argument can have any type. The return value should be) 184.99 85.67 P
+2 F
+-0.39 (None) 435.52 85.67 P
+1 F
+-0.16 (. Same notes) 461.92 85.67 P
+(for) 112.5 72.67 T
+2 F
+(i) 128.08 72.67 T
+1 F
+( and) 134.68 72.67 T
+2 F
+(j) 156.06 72.67 T
+1 F
+( as for) 162.66 72.67 T
+2 F
+(__getslice__) 192.9 72.67 T
+1 F
+(.) 272.1 72.67 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "20" 26
+%%Page: "21" 27
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(21) 530 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+585 292.5 598.5 720 R
+5 9 Q
+(\245) 0 -90 592.5 720 TF
+(Data model) 0 -90 592.5 711 TF
+585 292.5 598.5 720 R
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 11 Q
+(__delslice__\050self, i, j\051) 99 712.67 T
+1 F
+-0.77 (Called to implement deletion of) 264 712.67 P
+2 F
+-1.85 (self[i:j]) 402.84 712.67 P
+1 F
+-0.77 (. Same notes for) 462.24 712.67 P
+2 F
+-1.85 (i) 533.4 712.67 P
+1 F
+(and) 135 699.67 T
+2 F
+(j) 153.63 699.67 T
+1 F
+( as for) 160.23 699.67 T
+2 F
+(__getslice__) 190.47 699.67 T
+1 F
+(.) 269.67 699.67 T
+0.08 (Notice that these methods are only invoked when a single slice with a single colon is used. For slice) 99 674.67 P
+0.33 (operations involving) 99 661.67 P
+3 F
+0.33 (extended slice notation) 193.15 661.67 P
+1 F
+0.33 (,) 295.23 661.67 P
+2 F
+0.78 (__getitem__) 301.06 661.67 P
+1 F
+0.33 (,) 373.66 661.67 P
+2 F
+0.78 (__setitem__) 379.49 661.67 P
+1 F
+0.33 ( or) 452.08 661.67 P
+2 F
+0.78 (__delitem__) 467.4 661.67 P
+1 F
+(is called.) 99 648.67 T
+0 12 Q
+(3.3.5) 99 623 T
+(Emulating numeric types) 144 623 T
+1 11 Q
+-0.15 (The following methods can be defined to emulate numeric objects. Methods corresponding to opera-) 99 597.67 P
+-0.54 (tions that are not supported by the particular kind of number implemented \050e.g., bitwise operations for) 99 584.67 P
+(non-integral numbers\051 should be left undefined.) 99 571.67 T
+2 F
+(__add__\050self, right\051) 99 552.67 T
+(__sub__\050self, right\051) 99 539.67 T
+(__mul__\050self, right\051) 99 526.67 T
+(__div__\050self, right\051) 99 513.67 T
+(__mod__\050self, right\051) 99 500.67 T
+(__divmod__\050self, right\051) 99 487.67 T
+(__pow__\050self, right\051) 99 474.67 T
+(__lshift__\050self, right\051) 99 461.67 T
+(__rshift__\050self, right\051) 99 448.67 T
+(__and__\050self, right\051) 99 435.67 T
+(__xor__\050self, right\051) 99 422.67 T
+(__or__\050self, right\051) 99 409.67 T
+1 F
+0.44 (These functions are called to implement the binary arithmetic operations \050+, -, *, /, %, div-) 135 396.67 P
+0.67 (mod\050\051, pow\050\051, <<, >>, &, ^, |\051. For instance: to evaluate the expression x+y, where x is an) 135 383.67 P
+(instance of a class that has an __add__ method, x.__add__\050y\051 is called.) 135 370.67 T
+2 F
+(__radd__\050self, left\051) 99 351.67 T
+(__rsub__\050self, left\051) 99 338.67 T
+(__rmul__\050self, left\051) 99 325.67 T
+(__rdiv__\050self, left\051) 99 312.67 T
+(__rmod__\050self, left\051) 99 299.67 T
+(__rdivmod__\050self, left\051) 99 286.67 T
+(__rpow__\050self, left\051) 99 273.67 T
+(__rlshift__\050self, left\051) 99 260.67 T
+(__rrshift__\050self, left\051) 99 247.67 T
+(__rand__\050self, left\051) 99 234.67 T
+(__rxor__\050self, left\051) 99 221.67 T
+(__ror__\050self, left\051) 99 208.67 T
+1 F
+-1.3 ( These functions are called to implement the binary arithmetic operations) 231 208.67 P
+-0.5 (\050) 135 195.67 P
+2 F
+-1.21 (+) 138.66 195.67 P
+1 F
+-0.5 (,) 145.26 195.67 P
+2 F
+-1.21 (-) 150.26 195.67 P
+1 F
+-0.5 (,) 156.86 195.67 P
+2 F
+-1.21 (*) 161.85 195.67 P
+1 F
+-0.5 (,) 168.46 195.67 P
+2 F
+-1.21 (/) 173.45 195.67 P
+1 F
+-0.5 (,) 180.05 195.67 P
+2 F
+-1.21 (%) 185.05 195.67 P
+1 F
+-0.5 (,) 191.65 195.67 P
+2 F
+-1.21 (divmod\050\051) 196.64 195.67 P
+1 F
+-0.5 (,) 249.44 195.67 P
+2 F
+-1.21 (pow\050\051) 254.44 195.67 P
+1 F
+-0.5 (,) 287.44 195.67 P
+2 F
+-1.21 (<<) 292.44 195.67 P
+1 F
+-0.5 (,) 305.64 195.67 P
+2 F
+-1.21 (>>) 310.63 195.67 P
+1 F
+-0.5 (,) 323.83 195.67 P
+2 F
+-1.21 (&) 328.83 195.67 P
+1 F
+-0.5 (,) 335.43 195.67 P
+2 F
+-1.21 (^) 340.42 195.67 P
+1 F
+-0.5 (,) 347.02 195.67 P
+2 F
+-1.21 (|) 352.02 195.67 P
+1 F
+-0.5 (\051 with reversed operands. These functions) 358.62 195.67 P
+-0.62 (are only called if the left operand does not support the corresponding operation \050possibly after) 135 182.67 P
+-0.09 (coercion\051. For instance: to evaluate the expression x+y, where x is an instance of a class that) 135 169.67 P
+2.63 (does not have an) 135 156.67 P
+2 F
+6.31 (__add__) 221.89 156.67 P
+1 F
+2.63 ( method,) 268.09 156.67 P
+2 F
+6.31 (y.__radd\050x\051) 314.59 156.67 P
+1 F
+2.63 ( is called. If the class defines a) 387.19 156.67 P
+0.37 (__coerce__ method that coerces its arguments to a common type, these methods will never) 135 143.67 P
+0.54 (be called and thus needn\325t be defined. They are useful for classes that implement semi-nu-) 135 130.67 P
+-0.53 (merical data types \050types that have some numerical behavior but don\325t adhere to all invariants) 135 117.67 P
+(usually assumed about numbers\051.) 135 104.67 T
+2 F
+(__neg__\050self\051) 99 85.67 T
+(__pos__\050self\051) 99 72.67 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "21" 27
+%%Page: "22" 28
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(22) 76.5 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 11 Q
+(__abs__\050self\051) 76.5 712.67 T
+(__invert__\050self\051) 76.5 699.67 T
+1 F
+-0.14 ( Called to implement the unary arithmetic operations \050) 188.7 699.67 P
+2 F
+-0.34 (-) 426.48 699.67 P
+1 F
+-0.14 (,) 433.08 699.67 P
+2 F
+-0.34 (+) 438.43 699.67 P
+1 F
+-0.14 (,) 445.03 699.67 P
+2 F
+-0.34 (abs\050\051) 450.39 699.67 P
+1 F
+-0.14 ( and) 483.39 699.67 P
+2 F
+-0.34 (~) 504.49 699.67 P
+1 F
+-0.14 (\051.) 511.09 699.67 P
+2 F
+(__int__\050self\051) 76.5 680.67 T
+(__long__\050self\051) 76.5 667.67 T
+(__float__\050self\051) 76.5 654.67 T
+1 F
+-0.34 ( Called to implement the built-in functions) 182.1 654.67 P
+2 F
+-0.82 (int\050\051) 370.09 654.67 P
+1 F
+-0.34 (,) 403.09 654.67 P
+2 F
+-0.82 (long\050\051) 408.25 654.67 P
+1 F
+-0.34 ( and) 447.85 654.67 P
+2 F
+-0.82 (float\050\051) 468.55 654.67 P
+1 F
+-0.34 (.) 514.75 654.67 P
+(Should return a value of the appropriate type.) 112.5 641.67 T
+2 F
+(__oct__\050self\051) 76.5 622.67 T
+(__hex__\050self\051) 76.5 609.67 T
+1 F
+-0.21 ( Called to implement the built-in functions) 168.9 609.67 P
+2 F
+-0.5 (oct\050\051) 357.82 609.67 P
+1 F
+-0.21 ( and) 390.82 609.67 P
+2 F
+-0.5 (hex\050\051) 411.79 609.67 P
+1 F
+-0.21 (. Should return a) 444.79 609.67 P
+(string value.) 112.5 596.67 T
+2 F
+(__coerce__\050self, other\051) 76.5 577.67 T
+1 F
+0.3 (Called to implement \322mixed-mode\323 numeric arithmetic. Should) 234.9 577.67 P
+-0.34 (either return a 2-tuple containing) 112.5 564.67 P
+2 F
+-0.82 (self) 258.34 564.67 P
+1 F
+-0.34 ( and) 284.74 564.67 P
+2 F
+-0.82 (other) 305.43 564.67 P
+1 F
+-0.34 ( converted to a common numeric type, or) 338.43 564.67 P
+2 F
+0.6 (None) 112.5 551.67 P
+1 F
+0.25 ( if no conversion is possible. When the common type would be the type of) 138.9 551.67 P
+2 F
+0.6 (other) 472.63 551.67 P
+1 F
+0.25 (, it) 505.63 551.67 P
+0.46 (is sufficient to return) 112.5 538.67 P
+2 F
+1.11 (None) 209.06 538.67 P
+1 F
+0.46 (, since the interpreter will also ask the other object to attempt a) 235.46 538.67 P
+-0.39 (coercion \050but sometimes, if the implementation of the other type cannot be changed, it is use-) 112.5 525.67 P
+(ful to do the conversion to the other type here\051.) 112.5 512.67 T
+4 F
+1.86 (Coercion rules) 112.5 495.67 P
+1 F
+1.86 (: to evaluate x) 183.1 495.67 P
+3 F
+1.86 (op) 255.29 495.67 P
+1 F
+1.86 ( y, the following steps are taken \050where) 266.29 495.67 P
+2 F
+4.46 (__op__) 457.41 495.67 P
+1 F
+1.86 ( and) 497.01 495.67 P
+2 F
+4.69 (__rop__) 112.5 482.67 P
+1 F
+1.96 ( are the method names corresponding to) 158.7 482.67 P
+3 F
+1.96 (op) 351.11 482.67 P
+1 F
+1.96 (, e.g. if) 362.11 482.67 P
+3 F
+1.96 (op) 401.58 482.67 P
+1 F
+1.96 ( is \324) 412.58 482.67 P
+2 F
+4.69 (+) 432.99 482.67 P
+1 F
+1.96 (\325,) 439.59 482.67 P
+2 F
+4.69 (__add__) 450.71 482.67 P
+1 F
+1.96 ( and) 496.91 482.67 P
+2 F
+0.89 (__radd__) 112.5 469.67 P
+1 F
+0.37 ( are used\051. If an exception occurs at any point, the evaluation is abandoned and) 165.3 469.67 P
+(exception handling takes over.) 112.5 456.67 T
+(0.) 112.5 437.67 T
+0.31 (If x is a string object and) 130.5 437.67 P
+3 F
+0.31 (op) 244.77 437.67 P
+1 F
+0.31 ( is the modulo operator \050) 255.77 437.67 P
+2 F
+0.74 (%) 365.77 437.67 P
+1 F
+0.31 (\051, the string formatting operation) 372.37 437.67 P
+(\050see [Ref:XXX]\051 is invoked and the remaining steps are skipped.) 130.5 424.67 T
+(1.) 112.5 405.67 T
+(If x is a class instance:) 130.5 405.67 T
+(1a.) 130.5 386.67 T
+0.54 (If x has a) 166.5 386.67 P
+2 F
+1.3 (__coerce__) 212.05 386.67 P
+1 F
+0.54 ( method: replace x and y with the 2-tuple returned by) 278.05 386.67 P
+2 F
+(x.__coerce__\050y\051) 166.5 373.67 T
+1 F
+(; skip to step 2 if the coercion returns) 265.5 373.67 T
+2 F
+(None) 432.01 373.67 T
+1 F
+(.) 458.41 373.67 T
+(1b.) 130.5 354.67 T
+(If neither x nor y is a class instance after coercion, go to step 3.) 166.5 354.67 T
+(1c.) 130.5 335.67 T
+-0.41 (If x has a method) 166.5 335.67 P
+2 F
+-0.98 (__op__) 243.59 335.67 P
+1 F
+-0.41 (, return) 283.19 335.67 P
+2 F
+-0.98 (x.__op__\050y\051) 316.89 335.67 P
+1 F
+-0.41 (; otherwise, restore x and y to) 389.49 335.67 P
+(their value before step 1a.) 166.5 322.67 T
+(2.) 112.5 303.67 T
+(If y is a class instance:) 130.5 303.67 T
+(2a.) 130.5 284.67 T
+0.54 (If y has a) 166.5 284.67 P
+2 F
+1.3 (__coerce__) 212.05 284.67 P
+1 F
+0.54 ( method: replace y and x with the 2-tuple returned by) 278.05 284.67 P
+2 F
+(y.__coerce__\050x\051) 166.5 271.67 T
+1 F
+(; skip to step 3 if the coercion returns None.) 265.5 271.67 T
+(2b.) 130.5 252.67 T
+(If neither x nor y is a class instance after coercion, go to step 3.) 166.5 252.67 T
+(2b.) 130.5 233.67 T
+0.1 (If y has a method) 166.5 233.67 P
+2 F
+0.23 (__rop__) 246.11 233.67 P
+1 F
+0.1 (, return) 292.31 233.67 P
+2 F
+0.23 (y.__rop__\050x\051) 327.02 233.67 P
+1 F
+0.1 (; otherwise, restore x and) 406.22 233.67 P
+(y to their value before step 2a.) 166.5 220.67 T
+(3.) 112.5 201.67 T
+(We only get here if neither x nor y is a class instance.) 130.5 201.67 T
+(3a.) 130.5 182.67 T
+(If) 166.5 182.67 T
+3 F
+(op) 176.58 182.67 T
+1 F
+( is \324) 187.58 182.67 T
+2 F
+(+) 204.08 182.67 T
+1 F
+(\325 and x is a sequence, sequence concatenation is invoked.) 210.68 182.67 T
+(3b.) 130.5 163.67 T
+-0.37 (If) 166.5 163.67 P
+3 F
+-0.37 (op) 176.2 163.67 P
+1 F
+-0.37 ( is \324) 187.2 163.67 P
+2 F
+-0.89 (*) 202.96 163.67 P
+1 F
+-0.37 (\325 and one operand is a sequence and the other an integer, sequence rep-) 209.56 163.67 P
+(etition is invoked.) 166.5 150.67 T
+(3c.) 130.5 131.67 T
+0.05 (Otherwise, both operands must be numbers; they are coerced to a common type) 166.5 131.67 P
+(if possible, and the numeric operation is invoked for that type.) 166.5 118.67 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "22" 28
+%%Page: "23" 29
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(23) 530 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+585 292.5 598.5 720 R
+5 9 Q
+(\245) 0 -90 592.5 720 TF
+(Execution model) 0 -90 592.5 711 TF
+585 292.5 598.5 720 R
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 16 Q
+(C) 99 709.33 T
+0 12.8 Q
+(HAPTER) 110.55 709.33 T
+0 16 Q
+(4:) 167.62 709.33 T
+(E) 198 709.33 T
+0 12.8 Q
+(XECUTION) 208.67 709.33 T
+(MODEL) 279.26 709.33 T
+0 14 Q
+(4.1) 99 670.67 T
+(Code blocks, execution frames, and name spaces) 135 670.67 T
+1 11 Q
+0.53 (A) 99 645.67 P
+3 F
+0.53 (code block) 110.22 645.67 P
+1 F
+0.53 ( is a piece of Python program text that can be executed as a unit, such as a module, a) 158.1 645.67 P
+1.1 (class definition or a function body. Some code blocks \050like modules\051 are normally executed only) 99 632.67 P
+0.12 (once, others \050like function bodies\051 may be executed many times. Code blocks may textually contain) 99 619.67 P
+-0.19 (other code blocks. Code blocks may invoke other code blocks \050that may or may not be textually con-) 99 606.67 P
+(tained in them\051 as part of their execution, e.g. by invoking \050calling\051 a function.) 99 593.67 T
+0.3 (The following are code blocks: A module is a code block. A function body is a code block. A class) 99 568.67 P
+-0.15 (definition is a code block. Each command typed interactively is a separate code block; a script file \050a) 99 555.67 P
+-0.24 (file given as standard input to the interpreter or specified on the interpreter command line the first ar-) 99 542.67 P
+0.41 0.02 (gument\051 is a code block; a script command \050a command specified on the interpreter command line) 99 529.67 B
+-0.24 (with the \324) 99 516.67 P
+4 F
+-0.24 (-c) 140.69 516.67 P
+1 F
+-0.24 (\325 option\051 is a code block. The string argument passed to the built-in function) 149.24 516.67 P
+2 F
+-0.57 (eval) 484.13 516.67 P
+1 F
+-0.24 ( and to) 510.53 516.67 P
+0.41 0.14 (the) 99 503.67 B
+2 F
+0.99 0.14 (exec) 116.15 503.67 B
+1 F
+0.41 0.14 ( statement are code blocks. The file read by the built-in function) 143.09 503.67 B
+2 F
+0.99 0.14 (execfile) 442.15 503.67 B
+1 F
+0.41 0.14 ( is a code) 496.03 503.67 B
+-0.3 (block. And finally, the expression read and evaluated by the built-in function) 99 490.67 P
+2 F
+-0.71 (input) 437 490.67 P
+1 F
+-0.3 ( is a code block.) 470 490.67 P
+-0.42 (A code block is executed in an execution frame. An) 99 477.67 P
+3 F
+-0.42 (execution frame) 325.47 477.67 P
+1 F
+-0.42 ( contains some administrative in-) 395.62 477.67 P
+0.41 0.23 (formation \050used for debugging\051, determines where and how execution continues after the code) 99 464.67 B
+-0.13 (block\325s execution has completed, and \050perhaps most importantly\051 defines two name spaces, the local) 99 451.67 P
+(and the global name space, that affect execution of the code block.) 99 438.67 T
+-0.04 (A) 99 413.67 P
+3 F
+-0.04 (name space) 109.65 413.67 P
+1 F
+-0.04 ( is a mapping from names \050identifiers\051 to objects. A particular name space may be ref-) 161.23 413.67 P
+0.03 (erenced by more than one execution frame, and from other places as well. Adding a name to a name) 99 400.67 P
+-0.38 (space is called) 99 387.67 P
+3 F
+-0.38 (binding) 164.14 387.67 P
+1 F
+-0.38 ( a name \050to an object\051; changing the mapping of a name is called) 197.76 387.67 P
+3 F
+-0.38 (rebinding) 479.58 387.67 P
+1 F
+-0.38 (; re-) 522.36 387.67 P
+0.05 (moving a name is) 99 374.67 P
+3 F
+0.05 (unbinding) 179.88 374.67 P
+1 F
+0.05 (. Name spaces are functionally equivalent to dictionaries \050and often im-) 224.49 374.67 P
+(plemented as dictionaries\051.) 99 361.67 T
+0.41 0.01 (The) 99 336.67 B
+3 F
+0.41 0.01 (local name space) 119.3 336.67 B
+1 F
+0.41 0.01 ( of an execution frame determines the default place where names are defined) 196.62 336.67 B
+-0.5 (and searched. The) 99 323.67 P
+3 F
+-0.5 (global name space) 179.96 323.67 P
+1 F
+-0.5 ( determines the place where names listed in) 261.44 323.67 P
+2 F
+-1.21 (global) 451.71 323.67 P
+1 F
+-0.5 ( statements) 491.31 323.67 P
+-0.36 (are defined and searched, and where names that are not bound anywhere in the current code block are) 99 310.67 P
+(searched.) 99 297.67 T
+-0.31 (Whether a name is local or global in a code block is determined by static inspection of the source text) 99 272.67 P
+-0.19 (for the code block: in the absence of) 99 259.67 P
+2 F
+-0.45 (global) 260.01 259.67 P
+1 F
+-0.19 ( statements, a name that is bound anywhere in the code) 299.61 259.67 P
+-0.21 (block is local in the entire code block; all other names are considered global. The) 99 246.67 P
+2 F
+-0.51 (global) 455.7 246.67 P
+1 F
+-0.21 ( statement) 495.3 246.67 P
+0.27 (forces global interpretation of specified names throughout the code block. The following constructs) 99 233.67 P
+0.41 0.17 (bind names: formal parameters to functions,) 99 220.67 B
+2 F
+0.99 0.17 (import) 306.04 220.67 B
+1 F
+0.41 0.17 ( statements, class and function definitions) 346.67 220.67 B
+-0.01 (\050these bind the class or function name in the defining block\051, and targets that are identifiers if occur-) 99 207.67 P
+-0.54 (ring in an assignment,) 99 194.67 P
+2 F
+-1.3 (for) 196.75 194.67 P
+1 F
+-0.54 ( loop header, or in the second position of an) 216.55 194.67 P
+2 F
+-1.3 (except) 409.17 194.67 P
+1 F
+-0.54 ( clause header. Local) 448.77 194.67 P
+0.3 (names are searched only on the local name space; global names are searched only in the global and) 99 181.67 P
+(built-in namespace.) 99 168.67 T
+1 8.8 Q
+(1) 185.15 173.07 T
+1 11 Q
+-0.4 (A target occurring in a) 99 143.67 P
+2 F
+-0.96 (del) 199.33 143.67 P
+1 F
+-0.4 ( statement is also considered bound for this purpose \050though the actual se-) 219.13 143.67 P
+(mantics are to \322unbind\323 the name\051.) 99 130.67 T
+0 0 0 1 0 0 0 K
+99 99 540 114 C
+0 0 0 1 0 0 0 K
+108 112 252 112 2 L
+0.5 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+0 0 0 1 0 0 0 K
+0 0 612 792 C
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(1.) 108 92.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.35 (If the code block contains) 121.5 92.33 P
+2 F
+-0.83 (exec) 225.57 92.33 P
+1 F
+-0.35 ( statements or the construct \324\324) 249.57 92.33 P
+2 F
+-0.83 (from) 366.42 92.33 P
+-0.83 (...) 392.57 92.33 P
+-0.83 (import) 412.72 92.33 P
+-0.83 (*) 450.88 92.33 P
+1 F
+-0.35 (\325\325, the semantics) 456.88 92.33 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.61 (of local names change subtly: local name lookup first searches in the local namespace, then in the) 121.46 80.33 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(global namespace and in the built-in namespace.) 121.46 68.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "23" 29
+%%Page: "24" 30
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(24) 76.5 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+0.41 0.03 (When a global name is not found in the global name space, it is searched in the built-in namespace. The) 72 712.67 B
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.02 (built-in namespace associated with the execution of a code block is actually found by looking up the name) 72 699.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 F
+-0.87 (__builtins__) 72 686.67 P
+1 F
+-0.36 ( is its global name space; this should be a dictionary or a module \050in the latter case its dic-) 151.2 686.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.41 0.24 (tionary is used\051. Normally, the) 72 673.67 B
+2 F
+0.99 0.24 (__builtins__) 218.94 673.67 B
+1 F
+0.41 0.24 ( namespace is the dictionary of the built-in module) 301.03 673.67 B
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 F
+0.99 0.05 (__builtin__) 72 660.67 B
+1 F
+0.41 0.05 ( \050note: no \324s\325\051; if it isn\325t,) 145.11 660.67 B
+3 F
+0.41 0.05 (restricted execution mode) 258.78 660.67 B
+1 F
+0.41 0.05 ( is in effect, see [Ref:XXX]. When a) 374.41 660.67 B
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(name is not found at all, a) 72 647.67 T
+2 F
+(NameError) 188.71 647.67 T
+1 F
+( exception is raised.) 248.11 647.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.19 (The following table lists the local and global name space used for all types of code blocks. The name space) 72 622.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.28 (for a particular module is automatically created when the module is first imported. Note that in almost all) 72 609.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.16 (cases, the global name space is the name space of the containing module \321 scopes in Python do not nest!) 72 596.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Notes:) 72 313.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+4 F
+(n.s.) 72 294.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 F
+(means) 108 294.67 T
+3 F
+(name space) 138.85 294.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+4 F
+(\0501\051) 72 275.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 F
+(The main module for a script is always called) 108 275.67 T
+2 F
+(__main__) 311.16 275.67 T
+1 F
+(; \324\324the filename don\325t enter into it.\325\325) 363.96 275.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+4 F
+(\0502\051) 72 256.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 F
+(The global and local name space for these can be overridden with optional extra arguments.) 108 256.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+4 F
+(\0503\051) 72 237.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 F
+0.86 (The) 108 237.67 P
+2 F
+2.07 (exec) 128.72 237.67 P
+1 F
+0.86 ( statement and the) 155.12 237.67 P
+2 F
+2.07 (eval\050\051) 241.07 237.67 P
+1 F
+0.86 ( and) 280.67 237.67 P
+2 F
+2.07 (execfile\050\051) 303.78 237.67 P
+1 F
+0.86 ( functions have optional arguments to) 369.78 237.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(override the global and local namespace. If only one namespace is specified, it is used for both.) 108 224.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.41 0.05 (The built-in functions) 72 199.67 B
+2 F
+0.99 0.05 (globals\050\051) 173.1 199.67 B
+1 F
+0.41 0.05 ( and) 232.95 199.67 B
+2 F
+0.99 0.05 (locals\050\051) 255.41 199.67 B
+1 F
+0.41 0.05 ( returns a dictionary representing the current global) 308.62 199.67 B
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.27 (and local name space, respectively. The effect of modifications to this dictionary on the name space are un-) 72 186.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(defined.) 72 173.67 T
+1 8.8 Q
+(1) 107.74 178.07 T
+0 0 0 1 0 0 0 K
+72 108 540 123 C
+0 0 0 1 0 0 0 K
+81 121 225 121 2 L
+0.5 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+0 0 0 1 0 0 0 K
+0 0 612 792 C
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(1.) 81 101.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.46 (The current implementations return the dictionary actually used to implement the name space,) 94.5 101.33 P
+3 11 Q
+0.5 (except) 479.29 101.33 P
+1 10 Q
+0.46 ( for) 507.38 101.33 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2.45 (functions, where the optimizer may cause the local name space to be implemented differently, and) 94.46 89.33 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 F
+(locals\050\051) 94.46 77.33 T
+1 F
+( returns a dictionary that is a shadow copy of the actual local name space.) 142.46 77.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+4 12 Q
+(T) 179.93 573 T
+(able 3: Name Spaces f) 186.84 573 T
+(or V) 298.52 573 T
+(arious Code Blocks) 320.41 573 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 F
+(Code block type) 101.8 547 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( Global name space) 240.04 547 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( Local name space) 377.46 547 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( Notes) 487.89 547 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+(Module) 78 523.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( n.s. for this module) 216.25 523.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( same as global) 370.12 523.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Script \050\336le or command\051) 78 502.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( n.s. for) 216.25 502.67 T
+2 F
+(__main__) 252.61 502.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 F
+( same as global) 370.12 502.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(\0501\051) 485.77 502.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Interacti) 78 481.67 T
+(v) 114.38 481.67 T
+(e command) 119.71 481.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( n.s. for) 216.25 481.67 T
+2 F
+(__main__) 252.61 481.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 F
+( same as global) 370.12 481.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Class de\336nition) 78 460.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( global n.s. of containing block) 216.25 460.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( ne) 370.12 460.67 T
+(w n.s.) 382.98 460.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Function body) 78 439.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( global n.s. of containing block) 216.25 439.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( ne) 370.12 439.67 T
+(w n.s.) 382.98 439.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(String passed to) 78 418.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 F
+(exec) 78 405.67 T
+1 F
+( statement) 104.4 405.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( global n.s. of containing block) 216.25 418.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.47 ( local n.s. of containing) 370.12 418.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(block) 370.12 405.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( \0502\051, \0503\051) 485.77 418.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(String passed to) 78 384.67 T
+2 F
+(eval\050\051) 151.03 384.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 F
+( global n.s. of caller) 216.25 384.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( local n.s. of caller) 370.12 384.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( \0502\051, \0503\051) 485.77 384.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.3 (File read by) 78 363.67 P
+2 F
+-0.73 (execfile\050\051) 132.38 363.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 F
+( global n.s. of caller) 216.25 363.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( local n.s. of caller) 370.12 363.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( \0502\051, \0503\051) 485.77 363.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.08 (Expression read by) 78 342.67 P
+2 F
+-0.18 (input) 164.84 342.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 F
+( global n.s. of caller) 216.25 342.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( local n.s. of caller) 370.12 342.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 562.75 72 335.25 2 L
+V
+0.5 H
+0 Z
+N
+210.25 563.25 210.25 334.75 2 L
+V
+N
+364.12 563.25 364.12 334.75 2 L
+V
+N
+479.77 563.25 479.77 334.75 2 L
+V
+N
+527.02 562.75 527.02 335.25 2 L
+V
+N
+71.75 563 527.27 563 2 L
+V
+N
+72.25 538.25 526.77 538.25 2 L
+V
+N
+72.25 535.75 526.77 535.75 2 L
+V
+N
+71.75 516 527.27 516 2 L
+V
+N
+71.75 495 527.27 495 2 L
+V
+N
+71.75 474 527.27 474 2 L
+V
+N
+71.75 453 527.27 453 2 L
+V
+N
+71.75 432 527.27 432 2 L
+V
+N
+71.75 398 527.27 398 2 L
+V
+N
+71.75 377 527.27 377 2 L
+V
+N
+71.75 356 527.27 356 2 L
+V
+N
+71.75 335 527.27 335 2 L
+V
+N
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "24" 30
+%%Page: "25" 31
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(25) 530 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+585 292.5 598.5 720 R
+5 9 Q
+(\245) 0 -90 592.5 720 TF
+(Execution model) 0 -90 592.5 711 TF
+585 292.5 598.5 720 R
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 14 Q
+(4.2) 99 710.67 T
+(Exceptions) 135 710.67 T
+1 11 Q
+-0.22 (Exceptions are a means of breaking out of the normal flow of control of a code block in order to han-) 99 685.67 P
+0.35 (dle errors or other exceptional conditions. An exception is) 99 672.67 P
+3 F
+0.35 (raised) 360.62 672.67 P
+1 F
+0.35 ( at the point where the error is de-) 388.12 672.67 P
+1.81 (tected; it may be) 99 659.67 P
+3 F
+1.81 (handled) 181.99 659.67 P
+1 F
+1.81 ( by the surrounding code block or by any code block that directly or) 217.43 659.67 P
+(indirectly invoked the code block where the error occurred.) 99 646.67 T
+-0.29 (The Python interpreter raises an exception when it detects a run-time error \050such as division by zero\051.) 99 621.67 P
+0.19 (A Python program can also explicitly raise an exception with the) 99 608.67 P
+2 F
+0.44 (raise) 389.13 608.67 P
+1 F
+0.19 ( statement. Exception han-) 422.13 608.67 P
+0.41 0.06 (dlers are specified with the) 99 595.67 B
+2 F
+0.99 0.06 (try...except) 224.2 595.67 B
+1 F
+0.41 0.06 ( statement. The) 304.18 595.67 B
+2 F
+0.99 0.06 (try) 376.71 595.67 B
+1 F
+0.41 0.06 (...) 396.7 595.67 B
+2 F
+0.99 0.06 (finally) 405.15 595.67 B
+1 F
+0.41 0.06 ( statement specifies) 451.8 595.67 B
+-0.09 (cleanup code which does not handle the exception, but is executed whether an exception occurred or) 99 582.67 P
+(not in the preceding code.) 99 569.67 T
+0.13 (Python uses the \322termination\323 model of error handling: an exception handler can find out what hap-) 99 544.67 P
+-0.33 (pened and continue execution at an outer level, but it cannot repair the cause of the error and retry the) 99 531.67 P
+(failing operation \050except by re-entering the the offending piece of code from the top\051.) 99 518.67 T
+0.41 0.01 (When an exception is not handled at all, the interpreter terminates execution of the program, or re-) 99 493.67 B
+(turns to its interactive main loop. In this case, the interpreter normally prints a stack backtrace.) 99 480.67 T
+-0.42 (Exceptions are identified by string objects or class instances. Selection of a matching) 99 455.67 P
+2 F
+-1 (except) 470.58 455.67 P
+1 F
+-0.42 ( clause) 510.18 455.67 P
+-0.39 (is based on object identity \050i.e. two different string objects with the same value represent different ex-) 99 442.67 P
+-0.46 (ceptions\051. For string exceptions, the except clause must reference the same string object. For class ex-) 99 429.67 P
+(ceptions, the except clause must reference the same class or a base class of it.) 99 416.67 T
+0.41 0.05 (When an exception is raised, an object \050maybe) 99 391.67 B
+2 F
+0.99 0.05 (None) 312.57 391.67 B
+1 F
+0.41 0.05 (\051 is passed as the exception\325s \322parameter\323 or) 339.17 391.67 B
+-0.47 (\324\324value\325\325; this object does not affect the selection of an exception handler, but is passed to the selected) 99 378.67 P
+0.16 (exception handler as additional information. For class exceptions, this object must be an instance of) 99 365.67 P
+(the exception class being raised.) 99 352.67 T
+(See also the description of the) 99 327.67 T
+2 F
+(try) 234.04 327.67 T
+1 F
+( and) 253.84 327.67 T
+2 F
+(raise) 275.22 327.67 T
+1 F
+( statements in \322Compound statements\323 on page) 308.22 327.67 T
+(45.) 519.34 327.67 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "25" 31
+%%Page: "26" 32
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(26) 76.5 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "26" 32
+%%Page: "27" 33
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(27) 530 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+585 292.5 598.5 720 R
+5 9 Q
+(\245) 0 -90 592.5 720 TF
+(Expressions) 0 -90 592.5 711 TF
+585 292.5 598.5 720 R
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 16 Q
+(C) 99 709.33 T
+0 12.8 Q
+(HAPTER) 110.55 709.33 T
+0 16 Q
+(5:) 167.62 709.33 T
+(E) 198 709.33 T
+0 12.8 Q
+(XPRESSIONS) 208.67 709.33 T
+1 11 Q
+(This chapter explains the meaning of the elements of expressions in Python.) 99 672.67 T
+4 F
+-0.53 (Syntax notes:) 99 653.67 P
+1 F
+-0.53 ( in this and the following chapters, extended BNF notation will be used to describe syn-) 161.72 653.67 P
+(tax, not lexical analysis. When \050one alternative of\051 a syntax rule has the form) 99 640.67 T
+2 10 Q
+(name: othername) 99 622.33 T
+1 11 Q
+(and no semantics are given, the semantics of this form of) 99 597.67 T
+2 F
+(name) 352.57 597.67 T
+1 F
+( are the same as for) 378.97 597.67 T
+2 F
+(othername) 466.94 597.67 T
+1 F
+(.) 526.34 597.67 T
+0 14 Q
+(5.1) 99 570.67 T
+(Arithmetic conversions) 135 570.67 T
+1 11 Q
+-0.15 (When a description of an arithmetic operator below uses the phrase \322the numeric arguments are con-) 99 545.67 P
+0.86 (verted to a common type\323, the arguments are coerced using the coercion rules listed at the end of) 99 532.67 P
+(chapter 3. If both arguments are standard numeric types, the following coercions are applied:) 99 519.67 T
+(\245) 99 500.67 T
+(If either argument is a complex number, the other is converted to complex;) 113.4 500.67 T
+(\245) 99 481.67 T
+(otherwise, if either argument is a floating point number, the other is converted to floating point;) 113.4 481.67 T
+(\245) 99 462.67 T
+(otherwise, if either argument is a long integer, the other is converted to long integer;) 113.4 462.67 T
+(\245) 99 443.67 T
+(otherwise, both must be plain integers and no conversion is necessary.) 113.4 443.67 T
+-0.13 (Some additional rules apply for certain operators \050e.g. a string left argument to the \324) 99 418.67 P
+2 F
+-0.32 (%) 465.56 418.67 P
+1 F
+-0.13 (\325 operator\051. Ex-) 472.16 418.67 P
+(tensions can define their own coercions.) 99 405.67 T
+0 14 Q
+(5.2) 99 378.67 T
+(Atoms) 135 378.67 T
+1 11 Q
+1.43 (Atoms are the most basic elements of expressions. The simplest atoms are identifiers or literals.) 99 353.67 P
+0.1 (Forms enclosed in reverse quotes or in parentheses, brackets or braces are also categorized syntacti-) 99 340.67 P
+(cally as atoms. The syntax for atoms is:) 99 327.67 T
+2 10 Q
+(atom: identifier | literal | enclosure) 99 309.33 T
+(enclosure: parenth_form|list_display|dict_display|string_conversion) 99 297.33 T
+0 12 Q
+(5.2.1) 99 272 T
+(Identifiers \050Names\051) 144 272 T
+1 11 Q
+-0.25 (An identifier occurring as an atom is a reference to a local, global or built-in name binding. If a name) 99 252.67 P
+1.68 (is assigned to anywhere in a code block \050even in unreachable code\051, and is not mentioned in a) 99 239.67 P
+2 F
+-1.17 (global) 99 226.67 P
+1 F
+-0.49 ( statement in that code block, then it refers to a local name throughout that code block. When) 138.6 226.67 P
+0.83 (it is not assigned to anywhere in the block, or when it is assigned to but also explicitly listed in a) 99 213.67 P
+2 F
+0.64 (global) 99 200.67 P
+1 F
+0.27 ( statement, it refers to a global name if one exists, else to a built-in name \050and this binding) 138.6 200.67 P
+(may dynamically change\051.) 99 187.67 T
+0.14 (When the name is bound to an object, evaluation of the atom yields that object. When a name is not) 99 168.67 P
+(bound, an attempt to evaluate it raises a) 99 155.67 T
+2 F
+(NameError) 275.89 155.67 T
+1 F
+( exception) 335.29 155.67 T
+0 12 Q
+(5.2.2) 99 130 T
+(Literals) 144 130 T
+1 11 Q
+(Python supports string literals and various numeric literals:) 99 110.67 T
+2 10 Q
+-0.82 (literal: stringliteral | integer | longinteger | floatnumber | imagnumber) 99 92.33 P
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "27" 33
+%%Page: "28" 34
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(28) 76.5 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+0.35 (Evaluation of a literal yields an object of the given type \050string, integer, long integer, floating point) 99 712.67 P
+-0.2 (number, complex number\051 with the given value. The value may be approximated in the case of float-) 99 699.67 P
+(ing point and imaginary \050complex\051 literals. \050See \322Literals\323 on page) 99 686.67 T
+(6 for details.\051) 399 686.67 T
+-0.13 (All literals correspond to immutable data types, and hence the object\325s identity is less important than) 99 661.67 P
+0.01 (its value. Multiple evaluations of literals with the same value \050either the same occurrence in the pro-) 99 648.67 P
+0.41 0 (gram text or a different occurrence\051 may obtain the same object or a different object with the same) 99 635.67 B
+(value.) 99 622.67 T
+-0.3 (\050In the original implementation, all literals in the same code block with the same type and value yield) 99 597.67 P
+(the same object.\051) 99 584.67 T
+0 12 Q
+(5.2.3) 99 559 T
+(Parenthesized forms) 144 559 T
+1 11 Q
+(A parenthesized form is an optional expression list enclosed in parentheses:) 99 539.67 T
+2 10 Q
+(parenth_form: "\050" [expression_list] "\051") 99 521.33 T
+1 11 Q
+-0.03 (A parenthesized expression list yields whatever that expression list yields: if the list contains at least) 99 496.67 P
+0.18 (one comma, it yields a tuple; otherwise, it yields the single expression that makes up the expression) 99 483.67 P
+(list.) 99 470.67 T
+0.07 (An empty pair of parentheses yields an empty tuple object. Since tuples are immutable, the rules for) 99 445.67 P
+(literals apply\050i.e., two occurrences of the empty tuple may or may not yield the same object\051.) 99 432.67 T
+-0.08 (Note that tuples are not formed by the parentheses, but rather by use of the comma operator. The ex-) 99 407.67 P
+-0.53 (ception is the empty tuple, for which parentheses) 99 394.67 P
+3 F
+-0.53 (are) 313.21 394.67 P
+1 F
+-0.53 ( required \321 allowing unparenthesized \322nothing\323) 327.88 394.67 P
+(in expressions would cause ambiguities and allow common typos to pass uncaught.) 99 381.67 T
+0 12 Q
+(5.2.4) 99 356 T
+(List displays) 144 356 T
+1 11 Q
+(A list display is a possibly empty series of expressions enclosed in square brackets:) 99 336.67 T
+2 10 Q
+(list_display: "[" [expression_list] "]") 99 318.33 T
+1 11 Q
+0.16 (A list display yields a new list object. If it has no expression list, the list object has no items. Other-) 99 293.67 P
+-0.06 (wise, the elements of the expression list are evaluated from left to right and inserted in the list object) 99 280.67 P
+(in that order.) 99 267.67 T
+0 12 Q
+(5.2.5) 99 242 T
+(Dictionary displays) 144 242 T
+1 11 Q
+(A dictionary display is a possibly empty series of key/datum pairs enclosed in curly braces:) 99 222.67 T
+2 10 Q
+(dict_display: "{" [key_datum_list] "}") 99 204.33 T
+(key_datum_list: key_datum \050"," key_datum\051* [","]) 99 192.33 T
+(key_datum: expression ":" expression) 99 180.33 T
+1 11 Q
+(A dictionary display yields a new dictionary object) 99 155.67 T
+0.19 (The key/datum pairs are evaluated from left to right to define the entries of the dictionary: each key) 99 130.67 P
+(object is used as a key into the dictionary to store the corresponding datum.) 99 117.67 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "28" 34
+%%Page: "29" 35
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(29) 530 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+585 292.5 598.5 720 R
+5 9 Q
+(\245) 0 -90 592.5 720 TF
+(Expressions) 0 -90 592.5 711 TF
+585 292.5 598.5 720 R
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+0.41 0.14 (Restrictions on the types of the key values are listed earlier in \322The standard type hierarchy\323 on) 99 712.67 B
+-0.19 (page) 99 699.67 P
+-0.19 (12 \050to summarize, the key type should be hashable, which excludes all mutable objects\051. Clash-) 122.52 699.67 P
+0.09 (es between duplicate keys are not detected; the last datum \050textually rightmost in the display\051 stored) 99 686.67 P
+(for a given key value prevails.) 99 673.67 T
+0 12 Q
+(5.2.6) 99 648 T
+(String conversions) 144 648 T
+1 11 Q
+(A string conversion is an expression list enclosed in reverse \050a.k.a. backward\051 quotes:) 99 628.67 T
+2 10 Q
+(string_conversion: "\324" expression_list "\324") 99 610.33 T
+1 11 Q
+0.41 0.04 (A string conversion evaluates the contained expression list and converts the resulting object into a) 99 585.67 B
+(string according to rules specific to its type.) 99 572.67 T
+0.12 (If the object is a string, a number,) 99 547.67 P
+2 F
+0.29 (None) 250.87 547.67 P
+1 F
+0.12 (, or a tuple, list or dictionary containing only objects whose) 277.27 547.67 P
+-0.27 (type is one of these, the resulting string is a valid Python expression which can be passed to the built-) 99 534.67 P
+0.41 0.11 (in function) 99 521.67 B
+2 F
+0.99 0.11 (eval\050\051) 151.84 521.67 B
+1 F
+0.41 0.11 ( to yield an expression with the same value \050or an approximation, if floating) 192.09 521.67 B
+(point numbers are involved\051.) 99 508.67 T
+-0.29 (\050In particular, converting a string adds quotes around it and converts \322funny\323 characters to escape se-) 99 483.67 P
+(quences that are safe to print.\051) 99 470.67 T
+-0.17 (It is illegal to attempt to convert recursive objects \050e.g. lists or dictionaries that contain a reference to) 99 445.67 P
+(themselves, directly or indirectly.\051) 99 432.67 T
+0.21 (The built-in function) 99 407.67 P
+2 F
+0.51 (repr\050\051) 194.06 407.67 P
+1 F
+0.21 ( performs exactly the same conversion in its argument as enclosing it) 233.66 407.67 P
+0.41 0.07 (in parentheses and reverse quotes does. The built-in function) 99 394.67 B
+2 F
+0.99 0.07 (str\050\051) 377.08 394.67 B
+1 F
+0.41 0.07 ( performs a similar but more) 410.43 394.67 B
+(user-friendly conversion.) 99 381.67 T
+0 14 Q
+(5.3) 99 354.67 T
+(Primaries) 135 354.67 T
+1 11 Q
+(Primaries represent the most tightly bound operations of the language. Their syntax is:) 99 329.67 T
+2 10 Q
+(primary: atom | attributeref | subscription | slicing | call) 99 311.33 T
+0 12 Q
+(5.3.1) 99 286 T
+(Attribute references) 144 286 T
+1 11 Q
+(An attribute reference is a primary followed by a period and a name:) 99 266.67 T
+2 10 Q
+(attributeref: primary "." identifier) 99 248.33 T
+1 11 Q
+-0.33 (The primary must evaluate to an object of a type that supports attribute references. This object is then) 99 223.67 P
+-0.42 (asked to produce the attribute whose name is the identifier. If this attribute is not available, the excep-) 99 210.67 P
+0.41 0.08 (tion) 99 197.67 B
+2 F
+0.99 0.08 (AttributeError) 119.68 197.67 B
+1 F
+0.41 0.08 ( is raised. Otherwise, the type and value of the object produced is deter-) 213.21 197.67 B
+-0.19 (mined by the object. Multiple evaluations of the same attribute reference may yield different objects.) 99 184.67 P
+0 12 Q
+(5.3.2) 99 159 T
+(Subscriptions) 144 159 T
+1 11 Q
+(A subscription selects an item of a sequence \050string, tuple or list\051 or mapping \050dictionary\051 object:) 99 139.67 T
+2 10 Q
+(subscription: primary "[" expression_list "]") 99 121.33 T
+1 11 Q
+(The primary must evaluate to an object of a sequence or mapping type.) 99 96.67 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "29" 35
+%%Page: "30" 36
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(30) 76.5 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+0.22 (If the primary is a mapping, the expression list must evaluate to an object whose value is one of the) 99 712.67 P
+0.41 0.01 (keys of the mapping, and the subscription selects the value in the mapping that corresponds to that) 99 699.67 B
+(key.) 99 686.67 T
+-0.22 (If the primary is a sequence, the expression \050list\051 must evaluate to a plain integer. If this value is neg-) 99 661.67 P
+-0.18 (ative, the length of the sequence is added to it \050so that, e.g.) 99 648.67 P
+2 F
+-0.42 (x[-1]) 357.31 648.67 P
+1 F
+-0.18 ( selects the last item of) 390.31 648.67 P
+2 F
+-0.42 (x) 492.52 648.67 P
+1 F
+-0.18 (.\051 The re-) 499.12 648.67 P
+0.41 0.03 (sulting value must be a nonnegative integer less than the number of items in the sequence, and the) 99 635.67 B
+(subscription selects the item whose index is that value \050counting from zero\051.) 99 622.67 T
+-0.42 (A string\325s items are characters. A character is not a separate data type but a string of exactly one char-) 99 597.67 P
+(acter.) 99 584.67 T
+0 12 Q
+(5.3.3) 99 559 T
+(Slicings) 144 559 T
+1 11 Q
+0.14 (A slicing selects a range of items in a sequence \050string, tuple or list\051 object. Slicings may be used as) 99 539.67 P
+(expressions or as targets in assignment or) 99 526.67 T
+2 F
+(del) 284.45 526.67 T
+1 F
+( statements. The syntax for a slicing:) 304.25 526.67 T
+2 10 Q
+(slicing: simple_slicing | extended_slicing) 99 508.33 T
+(simple_slicing: primary "[" short_slice "]") 99 496.33 T
+(extended_slicing: primary "[" slice_list "]") 99 484.33 T
+(slice_list: slice_item \050"," slice_item\051* [","]) 99 472.33 T
+(slice_item: expression | proper_slice | ellipses) 99 460.33 T
+(proper_slice: short_slice | long_slice) 99 448.33 T
+(short_slice: [lower_bound] ":" [upper_bound]) 99 436.33 T
+(long_slice: short_slice ":" [stride]) 99 424.33 T
+(lower_bound: expression) 99 412.33 T
+(upper_bound: expression) 99 400.33 T
+(stride: expression) 99 388.33 T
+(ellipses: "...") 99 376.33 T
+1 11 Q
+-0.09 (There\325s an ambiguity in the formal syntax here: anything that looks like an expression list also looks) 99 351.67 P
+0.3 (like a slice list, so any subscription can be interpreted as a slicing. Rather than further complicating) 99 338.67 P
+0.41 0.09 (the syntax, this is disambiguated by declaring that in this case the interpretation as a subscription) 99 325.67 B
+0.41 0.03 (takes priority over the interpretation as a slicing \050this is the case if the slice list contains no proper) 99 312.67 B
+-0.37 (slice nor ellipses\051. Similarly, when the slice list has exactly one short slice and no trailing comma, the) 99 299.67 P
+(interpretation as a simple slicing takes priority over that as an extended slicing.) 99 286.67 T
+0.41 0.02 (The semantics for a simple slicing are as follows. The primary must evaluate to a sequence object.) 99 261.67 B
+0.01 (The lower and upper bound expressions, if present, must evaluate to plain integers; defaults are zero) 99 248.67 P
+-0.17 (and the sequence\325s length, respectively. If either bound is negative, the sequence\325s length is added to) 99 235.67 P
+0.38 (it. The slicing now selects all items with index) 99 222.67 P
+3 F
+0.38 (k) 309.58 222.67 P
+1 F
+0.38 ( such that) 314.46 222.67 P
+3 F
+0.38 (i) 360.51 222.67 P
+1 F
+0.38 ( <=) 363.57 222.67 P
+3 F
+0.38 (k) 382.23 222.67 P
+1 F
+0.38 ( <) 387.12 222.67 P
+3 F
+0.38 (j) 399.58 222.67 P
+1 F
+0.38 ( where) 402.64 222.67 P
+3 F
+0.38 (i) 435.77 222.67 P
+1 F
+0.38 ( and) 438.83 222.67 P
+3 F
+0.38 (j) 460.97 222.67 P
+1 F
+0.38 ( are the specified) 464.03 222.67 P
+0.41 0.06 (lower and upper bounds. This may be an empty sequence. It is not an error if) 99 209.67 B
+3 F
+0.41 0.06 (i) 451.37 209.67 B
+1 F
+0.41 0.06 ( or) 454.49 209.67 B
+3 F
+0.41 0.06 (j) 470.23 209.67 B
+1 F
+0.41 0.06 ( lie outside the) 473.35 209.67 B
+(range of valid indexes \050such items don\325t exist so they aren\325t selected\051.) 99 196.67 T
+-0.35 (The semantics for an extended slicing are as follows. The primary must evaluate to a mapping object,) 99 171.67 P
+-0.01 (and it is indexed with a key that is constructed from the slice list, as follows. If the slice list contains) 99 158.67 P
+-0.42 (at least one comma, the key is a tuple containing the conversion of the slice items; otherwise, the con-) 99 145.67 P
+-0.39 (version of the lone slice item is the key. The conversion of a slice item that is an expression is that ex-) 99 132.67 P
+0.32 (pression. The conversion of an ellipses slice item is the built-in) 99 119.67 P
+2 F
+0.76 (Ellipses) 382.99 119.67 P
+1 F
+0.32 ( object. The conversion) 435.79 119.67 P
+-0.22 (of a proper slice is a slice object \050see page) 99 106.67 P
+-0.22 (17\051 whose) 285.15 106.67 P
+2 F
+-0.54 (start) 332.97 106.67 P
+1 F
+-0.22 (,) 365.97 106.67 P
+2 F
+-0.54 (stop) 371.24 106.67 P
+1 F
+-0.22 ( and) 397.64 106.67 P
+2 F
+-0.54 (step) 418.58 106.67 P
+1 F
+-0.22 ( attributes are the val-) 444.98 106.67 P
+-0.31 (ues of the expressions given as lower bound, upper bound and stride, respectively, substituting) 99 93.67 P
+2 F
+-0.73 (None) 513.6 93.67 P
+1 F
+(for missing expressions.) 99 80.67 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "30" 36
+%%Page: "31" 37
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(31) 530 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+585 292.5 598.5 720 R
+5 9 Q
+(\245) 0 -90 592.5 720 TF
+(Expressions) 0 -90 592.5 711 TF
+585 292.5 598.5 720 R
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 12 Q
+(5.3.4) 99 712 T
+(Calls) 144 712 T
+1 11 Q
+(A call calls a callable object \050e.g. a function\051 with a possibly empty series of arguments:) 99 692.67 T
+2 10 Q
+(call: primary "\050" [argument_list [","]] "\051") 99 674.33 T
+(argument_list: positional_arguments ["," keyword_arguments]) 99 662.33 T
+( | keyword_arguments) 99 650.33 T
+(positional_arguments: expression \050"," expression\051*) 99 638.33 T
+(keyword_arguments: keyword_item \050"," keyword_item\051*) 99 626.33 T
+(keyword_item: identifier "=" expression) 99 614.33 T
+1 11 Q
+(A trailing comma may be present after an argument list but does not affect the semantics.) 99 589.67 T
+-0.32 (The primary must evaluate to a callable object \050user-defined functions, built-in functions, methods of) 99 564.67 P
+0.22 (built-in objects, class objects, methods of class instances, and certain class instances themselves are) 99 551.67 P
+-0.15 (callable; extensions may define additional callable object types\051. All argument expressions are eval-) 99 538.67 P
+-0.05 (uated before the call is attempted. Please refer to \322Function definitions\323 on page) 99 525.67 P
+-0.05 (48 for the syntax of) 454.04 525.67 P
+(formal parameter lists.) 99 512.67 T
+0.08 (If keyword arguments are present, they are first converted to positional arguments, as follows. First,) 99 487.67 P
+0.3 (a list of unfilled slots is created for the formal parameters. If there are N positional arguments, they) 99 474.67 P
+-0.47 (are placed in the first N slots. Next, for each keyword argument, the identifier is used to determine the) 99 461.67 P
+0.41 0.06 (corresponding slot \050if the identifier is the same as the first formal parameter name, the first slot is) 99 448.67 B
+-0.16 (used, and so on\051. If the slot is already filled, a) 99 435.67 P
+2 F
+-0.38 (TypeError) 300.71 435.67 P
+1 F
+-0.16 ( exception is raised. Otherwise, the value) 360.11 435.67 P
+-0.06 (of the argument is placed in the slot, filling it \050even if the expression is) 99 422.67 P
+2 F
+-0.15 (None) 412.16 422.67 P
+1 F
+-0.06 (, it fills the slot\051. When) 438.56 422.67 P
+-0.52 (all arguments have been processed, the slots that are still unfilled are filled with the corresponding de-) 99 409.67 P
+-0.38 (fault value from the function definition. \050Default values are calculated, once, when the function is de-) 99 396.67 P
+0.41 0.04 (fined; thus, a mutable object such as a list or dictionary used as default value will be shared by all) 99 383.67 B
+-0.3 (calls that don\325t specify an argument value for the corresponding slot; this should usually be avoided.\051) 99 370.67 P
+0.41 0.08 (If there are any unfilled slots for which no default value is specified, a) 99 357.67 B
+2 F
+0.99 0.08 (TypeError) 422.4 357.67 B
+1 F
+0.41 0.08 ( exception is) 482.56 357.67 B
+(raised. Otherwise, the list of filled slots is used as the argument list for the call.) 99 344.67 T
+0.27 (If there are more positional arguments than there are formal parameter slots, a) 99 319.67 P
+2 F
+0.64 (TypeError) 448.27 319.67 P
+1 F
+0.27 ( excep-) 507.67 319.67 P
+0.13 (tion is raised, unless a formal parameter using the syntax\324\324) 99 306.67 P
+2 F
+0.31 (*identifier) 357.39 306.67 P
+1 F
+0.13 (\325\325 is present; in this case,) 429.99 306.67 P
+-0.05 (that formal parameter receives a tuple containing the excess positional arguments \050or an empty tuple) 99 293.67 P
+(if there were no excess positional arguments\051.) 99 280.67 T
+-0.3 (If any keyword argument does not correspond to a formal parameter name, a) 99 255.67 P
+2 F
+-0.72 (TypeError) 435.38 255.67 P
+1 F
+-0.3 ( exception) 494.78 255.67 P
+-0.46 (is raised, unless a formal parameter using the syntax \324\324) 99 242.67 P
+2 F
+-1.11 (**identifier) 334.95 242.67 P
+1 F
+-0.46 (\325\325 is present; in this case, that) 414.15 242.67 P
+0.41 0.12 (formal parameter receives a dictionary containing the excess keyword arguments \050using the key-) 99 229.67 B
+-0.33 (words as keys and the argument values as corresponding values\051, or a \050new\051 empty dictionary if there) 99 216.67 P
+(were no excess keyword arguments.) 99 203.67 T
+0.41 0.01 (Formal parameters using the syntax \324\324) 99 178.67 B
+2 F
+0.99 0.01 (*identifier) 268.55 178.67 B
+1 F
+0.41 0.01 (\325\325 or \324\324) 341.26 178.67 B
+2 F
+0.99 0.01 (**identifier) 371.48 178.67 B
+1 F
+0.41 0.01 (\325\325 cannot be used as) 450.8 178.67 B
+0.41 0.25 (positional argument slots or as keyword argument names. Formal parameters using the syntax) 99 165.67 B
+-0.14 (\324\324) 99 152.67 P
+2 F
+-0.33 (\050sublist\051) 106.33 152.67 P
+1 F
+-0.14 (\325\325 cannot be used as keyword argument names; the outermost sublist corresponds to a) 165.73 152.67 P
+-0.18 (single unnamed argument slot, and the argument value is assigned to the sublist using the usual tuple) 99 139.67 P
+(assignment rules after all other parameter processing is done.) 99 126.67 T
+0.41 0.07 (A call always returns some value, possibly) 99 101.67 B
+2 F
+0.99 0.07 (None) 295.6 101.67 B
+1 F
+0.41 0.07 (, unless it raises an exception. How this value is) 322.28 101.67 B
+(computed depends on the type of the callable object.) 99 88.67 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "31" 37
+%%Page: "32" 38
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(32) 76.5 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+(If it is:) 99 712.67 T
+4 F
+(a user-defined function:) 99 693.67 T
+1 F
+-0.41 (the code block for the function is executed, passing it the argument list. The) 211.44 693.67 P
+0.3 (first thing the code block will do is bind the formal parameters to the arguments; this is de-) 135 680.67 P
+0.74 (scribed in section\322Function definitions\323 on page) 135 667.67 P
+0.74 (48. When the code block executes a) 354.38 667.67 P
+2 F
+1.76 (re-) 520.2 667.67 P
+(turn) 135 654.67 T
+1 F
+( statement, this specifies the return value of the function call.) 161.4 654.67 T
+4 F
+(a built-in function or method:) 99 635.67 T
+1 F
+-0.17 (the result is up to the interpreter; see the library reference manual for) 238.95 635.67 P
+(the descriptions of built-in functions and methods.) 135 622.67 T
+4 F
+(a class object:) 99 603.67 T
+1 F
+(a new instance of that class is returned.) 164.37 603.67 T
+4 F
+(a class instance method:) 99 584.67 T
+1 F
+-0.57 (the corresponding user-defined function is called, with an argument list that) 212.35 584.67 P
+(is one longer than the argument list of the call. The instance becomes the first argument.) 135 571.67 T
+0 14 Q
+(5.4) 99 544.67 T
+(The power operator) 135 544.67 T
+1 11 Q
+-0.32 (The power operator binds more tightly than unary operators on its left; it binds less tightly than unary) 99 515.67 P
+(operators on its right. The syntax is:) 99 502.67 T
+2 10 Q
+(power: primary ["**" u_expr]) 99 484.33 T
+1 11 Q
+-0.4 (Thus, in an unparenthesized sequence of power and unary operators, the operators are evaluated from) 99 459.67 P
+(right to left \050this does not constrain the evaluation order for the operands\051.) 99 446.67 T
+-0.32 (The power operator has the same semantics as the built-in) 99 421.67 P
+2 F
+-0.76 (pow\050\051) 353.68 421.67 P
+1 F
+-0.32 ( function: it yields its left argument) 386.68 421.67 P
+0.41 0.05 (raised to the power of its right argument. The numeric arguments are first converted to a common) 99 408.67 B
+-0.33 (type. The result type is that of the arguments after coercion; if the result is not expressible in that type) 99 395.67 P
+-0.08 (\050as in raising an integer to a negative power, or a negative floating point number to a broken power\051,) 99 382.67 P
+(a) 99 369.67 T
+2 F
+(TypeError) 106.63 369.67 T
+1 F
+( exception is raised.) 166.03 369.67 T
+0 14 Q
+(5.5) 99 342.67 T
+(Unary arithmetic operations) 135 342.67 T
+1 11 Q
+(All unary arithmetic \050and bit-wise\051 operations have the same priority:) 99 317.67 T
+2 10 Q
+(u_expr: power | "-" u_expr | "+" u_expr | "~" u_expr) 99 299.33 T
+1 11 Q
+(The unary) 99 274.67 T
+2 F
+("-") 146.65 274.67 T
+1 F
+( \050minus\051 operator yields the negation of its numeric argument.) 166.45 274.67 T
+(The unary) 99 249.67 T
+2 F
+("+") 146.65 249.67 T
+1 F
+( \050plus\051 operator yields its numeric argument unchanged.) 166.45 249.67 T
+0.41 0.01 (The unary) 99 224.67 B
+2 F
+0.99 0.01 ("~") 147.55 224.67 B
+1 F
+0.41 0.01 ( \050invert\051 operator yields the bit-wise inversion of its plain or long integer argument.) 167.37 224.67 B
+(The bit-wise inversion of) 99 211.67 T
+2 F
+(x) 212.65 211.67 T
+1 F
+( is defined as) 219.25 211.67 T
+2 F
+(-\050x+1\051) 279.74 211.67 T
+1 F
+(. It only applies to integral numbers.) 319.34 211.67 T
+(In all three cases, if the argument does not have the proper type, a) 99 186.67 T
+2 F
+(TypeError) 391.04 186.67 T
+1 F
+( exception is raised.) 450.44 186.67 T
+0 14 Q
+(5.6) 99 159.67 T
+(Binary arithmetic operations) 135 159.67 T
+1 11 Q
+0.18 (The remaining binary arithmetic operations have the conventional priority levels. Note that some of) 99 134.67 P
+0.65 (these operations also apply to certain non-numeric types. Apart from the power operator, there are) 99 121.67 P
+(only two levels, one for multiplicative operators and one for additive operators:) 99 108.67 T
+2 10 Q
+(m_expr: u_expr | m_expr "*" u_expr) 99 90.33 T
+( | m_expr "/" u_expr | m_expr "%" u_expr) 99 78.33 T
+(a_expr: m_expr | aexpr "+" m_expr | aexpr "-" m_expr) 99 66.33 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "32" 38
+%%Page: "33" 39
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(33) 530 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+585 292.5 598.5 720 R
+5 9 Q
+(\245) 0 -90 592.5 720 TF
+(Expressions) 0 -90 592.5 711 TF
+585 292.5 598.5 720 R
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+-0.45 (The ") 99 712.67 P
+2 F
+-1.08 (*) 122.89 712.67 P
+1 F
+-0.45 (" \050multiplication\051 operator yields the product of its arguments. The arguments must either both) 129.49 712.67 P
+-0.12 (be numbers, or one argument must be a plain integer and the other must be a sequence. In the former) 99 699.67 P
+-0.29 (case, the numbers are converted to a common type and then multiplied together. In the latter case, se-) 99 686.67 P
+(quence repetition is performed; a negative repetition factor yields an empty sequence.) 99 673.67 T
+-0.4 (The ") 99 648.67 P
+2 F
+-0.95 (/) 122.95 648.67 P
+1 F
+-0.4 (" \050division\051 operator yields the quotient of its arguments. The numeric arguments are first con-) 129.55 648.67 P
+0.04 (verted to a common type. Plain or long integer division yields an integer of the same type; the result) 99 635.67 P
+-0.22 (is that of mathematical division with the \324floor\325 function applied to the result. Division by zero raises) 99 622.67 P
+(the) 99 609.67 T
+2 F
+(ZeroDivisionError) 115.19 609.67 T
+1 F
+( exception) 227.39 609.67 T
+-0.47 (The ") 99 584.67 P
+2 F
+-1.12 (%) 122.88 584.67 P
+1 F
+-0.47 (" \050modulo\051 operator yields the remainder from the division of the first argument by the second.) 129.48 584.67 P
+0.41 0.21 (The numeric arguments are first converted to a common type. A zero right argument raises the) 99 571.67 B
+2 F
+-0.63 (ZeroDivisionError) 99 558.67 P
+1 F
+-0.26 ( exception. The arguments may be floating point numbers, e.g.) 211.2 558.67 P
+2 F
+-0.63 (3.14%0.7) 487.2 558.67 P
+1 F
+0.34 (equals) 99 545.67 P
+2 F
+0.83 (0.34) 130.2 545.67 P
+1 F
+0.34 ( \050since) 156.6 545.67 P
+2 F
+0.83 (3.14) 189.06 545.67 P
+1 F
+0.34 ( equals) 215.46 545.67 P
+2 F
+0.83 (4*0.7+0.34) 249.75 545.67 P
+1 F
+0.34 (\051. The modulo operator always yields a result with) 315.75 545.67 P
+0.16 (the same sign as its second operand \050or zero\051; the absolute value of the result is strictly smaller than) 99 532.67 P
+(the second operand.) 99 519.67 T
+-0.4 (The integer division and modulo operators are connected by the following identity:) 99 494.67 P
+2 F
+-0.95 (x == \050x/y\051*y) 462.7 494.67 P
+0.99 0.04 (+ \050x%y\051) 99 481.67 B
+1 F
+0.41 0.04 (. Integer division and modulo are also connected with the built-in function) 146.44 481.67 B
+2 F
+0.99 0.04 (divmod\050\051) 483.81 481.67 B
+1 F
+0.41 0.04 (:) 536.9 481.67 B
+2 F
+0.99 0.02 (divmod\050x, y\051 == \050x/y, x%y\051) 99 468.67 B
+1 F
+0.41 0.02 (. These identities don\325t hold for floating point and complex) 274.99 468.67 B
+(numbers; there a similar identity holds where) 99 455.67 T
+2 F
+(x/y) 300.95 455.67 T
+1 F
+( is replaced by) 320.75 455.67 T
+2 F
+(floor\050x/y\051) 387.34 455.67 T
+1 F
+(\051 or) 453.34 455.67 T
+2 F
+(floor\050\050x/y\051.real\051) 99 442.67 T
+1 F
+(, respectively.) 211.2 442.67 T
+-0.54 (The) 99 417.67 P
+2 F
+-1.3 ("+") 118.31 417.67 P
+1 F
+-0.54 ( \050addition\051 operator yields the sum of its arguments. The arguments must either both be num-) 138.11 417.67 P
+-0.23 (bers, or both sequences of the same type. In the former case, the numbers are converted to a common) 99 404.67 P
+(type and then added together. In the latter case, the sequences are concatenated.) 99 391.67 T
+0.41 0.05 (The) 99 366.67 B
+2 F
+0.99 0.05 ("-") 119.49 366.67 B
+1 F
+0.41 0.05 ( \050subtraction\051 operator yields the difference of its arguments. The numeric arguments are) 139.45 366.67 B
+(first converted to a common type.) 99 353.67 T
+0 14 Q
+(5.7) 99 326.67 T
+(Shifting operations) 135 326.67 T
+1 11 Q
+(The shifting operations have lower priority than the arithmetic operations:) 99 301.67 T
+2 10 Q
+(shift_expr: a_expr | shift_expr \050 "<<" | ">>" \051 a_expr) 99 283.33 T
+1 11 Q
+0.36 (These operators accept plain or long integers as arguments. The arguments are converted to a com-) 99 258.67 P
+0.04 (mon type. They shift the first argument to the left or right by the number of bits given by the second) 99 245.67 P
+(argument.) 99 232.67 T
+0.2 (A right shift by) 99 207.67 P
+3 F
+0.2 (n) 170.07 207.67 P
+1 F
+0.2 ( bits is defined as division by) 175.57 207.67 P
+2 F
+0.48 (pow\0502,) 308.05 207.67 P
+1 F
+0.2 (n\051. A left shift by) 347.65 207.67 P
+3 F
+0.2 (n) 427.48 207.67 P
+1 F
+0.2 ( bits is defined as multi-) 432.98 207.67 P
+-0.34 (plication with) 99 194.67 P
+2 F
+-0.83 (pow\0502,) 161.87 194.67 P
+1 F
+-0.34 (n\051; for plain integers there is no overflow check so this drops bits and flips the) 201.47 194.67 P
+0.19 (sign if the result is not less than) 99 181.67 P
+2 F
+0.46 (pow\0502,31\051) 242.3 181.67 P
+1 F
+0.19 ( in absolute value. Negative shift counts raise a) 301.7 181.67 P
+2 F
+0.46 (Val-) 513.6 181.67 P
+(ueError) 99 168.67 T
+1 F
+( exception.) 145.2 168.67 T
+0 14 Q
+(5.8) 99 141.67 T
+(Binary bit-wise operations) 135 141.67 T
+1 11 Q
+(Each of the three bitwise operations has a different priority level:) 99 116.67 T
+2 10 Q
+(and_expr: shift_expr | and_expr "&" shift_expr) 99 98.33 T
+(xor_expr: and_expr | xor_expr "^" and_expr) 99 86.33 T
+(or_expr: xor_expr | or_expr "|" xor_expr) 99 74.33 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "33" 39
+%%Page: "34" 40
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(34) 76.5 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+0.41 0.03 (The) 76.5 712.67 B
+2 F
+0.99 0.03 ("&") 96.88 712.67 B
+1 F
+0.41 0.03 ( operator yields the bit-wise AND of its arguments, which must be plain or long integers.) 116.77 712.67 B
+(The arguments are converted to a common type.) 76.5 699.67 T
+0.41 0 (The) 76.5 674.67 B
+2 F
+0.99 0 ("^") 96.77 674.67 B
+1 F
+0.41 0 ( operator yields the bitwise XOR \050exclusive OR\051 of its arguments, which must be plain or) 116.57 674.67 B
+(long integers. The arguments are converted to a common type.) 76.5 661.67 T
+-0.17 (The) 76.5 636.67 P
+2 F
+-0.41 ("|") 96.19 636.67 P
+1 F
+-0.17 ( operator yields the bitwise \050inclusive\051 OR of its arguments, which must be plain or long in-) 115.99 636.67 P
+(tegers. The arguments are converted to a common type.) 76.5 623.67 T
+0 14 Q
+(5.9) 76.5 596.67 T
+(Comparisons) 112.5 596.67 T
+1 11 Q
+0.26 (Contrary to C, all comparison operations in Python have the same priority, which is lower than that) 76.5 571.67 P
+0.47 (of any arithmetic, shifting or bitwise operation. Also contrary to C, expressions like) 76.5 558.67 P
+2 F
+1.13 (a < b < c) 453.56 558.67 P
+1 F
+(have the interpretation that is conventional in mathematics:) 76.5 545.67 T
+2 10 Q
+(comparison: or_expr \050comp_operator or_expr\051*) 76.5 527.33 T
+-1.8 (comp_operator: "<"|">"|"=="|">="|"<="|"<>"|"!="|"is" ["not"]|["not"] "in") 76.5 515.33 P
+1 11 Q
+(Comparisons yield integer values: 1 for true, 0 for false.) 76.5 490.67 T
+-0.2 (Comparisons can be chained arbitrarily, e.g.) 76.5 465.67 P
+2 F
+-0.49 (x < y <= z) 272.31 465.67 P
+1 F
+-0.2 ( is equivalent to) 336.35 465.67 P
+2 F
+-0.49 (x < y and y <= z,) 408.25 465.67 P
+1 F
+-0.14 (except that) 76.5 452.67 P
+2 F
+-0.35 (y) 126.92 452.67 P
+1 F
+-0.14 ( is evaluated only once \050but in both cases) 133.52 452.67 P
+2 F
+-0.35 (z) 315.83 452.67 P
+1 F
+-0.14 ( is not evaluated at all when) 322.43 452.67 P
+2 F
+-0.35 (x < y) 446.98 452.67 P
+1 F
+-0.14 ( is found) 479.29 452.67 P
+(to be false\051.) 76.5 439.67 T
+-0.31 (Formally, if) 76.5 414.67 P
+3 F
+-0.31 (a) 131.18 414.67 P
+1 F
+-0.31 (,) 136.68 414.67 P
+3 F
+-0.31 (b) 141.87 414.67 P
+1 F
+-0.31 (,) 147.37 414.67 P
+3 F
+-0.31 (c) 152.56 414.67 P
+1 F
+-0.31 (, ...,) 157.44 414.67 P
+3 F
+-0.31 (y) 176.06 414.67 P
+1 F
+-0.31 (,) 180.95 414.67 P
+3 F
+-0.31 (z) 186.13 414.67 P
+1 F
+-0.31 ( are expressions and) 190.41 414.67 P
+3 F
+-0.31 (opa) 280.8 414.67 P
+1 F
+-0.31 (,) 297.3 414.67 P
+3 F
+-0.31 (opb) 302.49 414.67 P
+1 F
+-0.31 (, ...,) 318.99 414.67 P
+3 F
+-0.31 (opy) 337.61 414.67 P
+1 F
+-0.31 ( are comparison operators, then) 353.5 414.67 P
+3 F
+-0.31 (a opa) 493.06 414.67 P
+0.05 (b opb c) 76.5 401.67 P
+1 F
+0.05 ( ...) 108.98 401.67 P
+3 F
+0.05 (y opy z) 122.82 401.67 P
+1 F
+0.05 ( is equivalent to) 153.47 401.67 P
+3 F
+0.05 (a opa b) 226.38 401.67 P
+2 F
+0.12 (and) 262.27 401.67 P
+3 F
+0.05 (b opb c) 288.79 401.67 P
+2 F
+0.12 (and) 324.06 401.67 P
+1 F
+0.05 ( ...) 343.86 401.67 P
+3 F
+0.05 (y opy z) 360.51 401.67 P
+1 F
+0.05 (, except that each expression) 391.15 401.67 P
+(is evaluated at most once.) 76.5 388.67 T
+0.18 (Note that) 76.5 363.67 P
+3 F
+0.18 (a opa b opb c) 120.24 363.67 P
+1 F
+0.18 ( doesn\325t imply any kind of comparison between) 180.84 363.67 P
+3 F
+0.18 (a) 394.9 363.67 P
+1 F
+0.18 ( and) 400.4 363.67 P
+3 F
+0.18 (c) 422.14 363.67 P
+1 F
+0.18 (, so that e.g.) 427.02 363.67 P
+2 F
+0.43 (x < y) 483.65 363.67 P
+(> z) 76.5 350.67 T
+1 F
+( is perfectly legal \050though perhaps not pretty\051.) 96.3 350.67 T
+-0.27 (The forms) 76.5 325.67 P
+2 F
+-0.66 (<>) 124.22 325.67 P
+1 F
+-0.27 ( and) 137.42 325.67 P
+2 F
+-0.66 (!=) 158.25 325.67 P
+1 F
+-0.27 ( are equivalent; for consistency with C,) 171.45 325.67 P
+2 F
+-0.66 (!=) 344.89 325.67 P
+1 F
+-0.27 ( is preferred; where) 358.1 325.67 P
+2 F
+-0.66 (!=) 445.57 325.67 P
+1 F
+-0.27 ( is mentioned) 458.77 325.67 P
+(below) 76.5 312.67 T
+2 F
+(<>) 106.13 312.67 T
+1 F
+( is also implied.) 119.33 312.67 T
+-0.01 (The operators) 76.5 287.67 P
+2 F
+-0.02 ("<", ">", "==", ">=", "<=") 140.02 287.67 P
+1 F
+-0.01 (, and) 311.54 287.67 P
+2 F
+-0.02 ("!=") 335.65 287.67 P
+1 F
+-0.01 ( compare the values of two objects.) 362.05 287.67 P
+0.25 (The objects needn\325t have the same type. If both are numbers, they are converted to a common type.) 76.5 274.67 P
+-0.03 (Otherwise, objects of different types) 76.5 261.67 P
+3 F
+-0.03 (always) 239.46 261.67 P
+1 F
+-0.03 ( compare unequal, and are ordered consistently but arbi-) 270.02 261.67 P
+0.41 0.05 (trarily. \050This unusual definition of comparison is done to simplify the definition of operations like) 76.5 248.67 B
+(sorting and the) 76.5 235.67 T
+2 F
+(in) 144.63 235.67 T
+1 F
+( and) 157.83 235.67 T
+2 F
+(not) 179.22 235.67 T
+(in) 201.77 235.67 T
+1 F
+( operators.\051) 214.97 235.67 T
+(Comparison of objects of the same type depends on the type:) 76.5 210.67 T
+(\245) 76.5 191.67 T
+(Numbers are compared arithmetically.) 90.9 191.67 T
+(\245) 76.5 172.67 T
+0.77 (Strings are compared lexicographically using the numeric equivalents \050the result of the built-in) 90.9 172.67 P
+(function) 90.9 159.67 T
+2 F
+(ord) 130.31 159.67 T
+1 F
+(\051 of their characters.) 150.11 159.67 T
+(\245) 76.5 140.67 T
+(Tuples and lists are compared lexicographically using comparison of corresponding items.) 90.9 140.67 T
+(\245) 76.5 121.67 T
+-0.38 (Mappings \050dictionaries\051 are compared through lexicographic comparison of their sorted \050key, val-) 90.9 121.67 P
+(ue\051 lists.) 90.9 108.67 T
+1 8.8 Q
+(1) 128.18 113.07 T
+1 11 Q
+(\245) 76.5 89.67 T
+-0.13 (Most other types compare unequal unless they are the same object; the choice whether one object) 90.9 89.67 P
+-0.3 (is considered smaller or larger than another one is made arbitrarily but consistently within one ex-) 90.9 76.67 P
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "34" 40
+%%Page: "35" 41
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(35) 530 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+585 292.5 598.5 720 R
+5 9 Q
+(\245) 0 -90 592.5 720 TF
+(Expressions) 0 -90 592.5 711 TF
+585 292.5 598.5 720 R
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+(ecution of a program.) 113.4 712.67 T
+0.05 (The operators) 99 687.67 P
+2 F
+0.12 (in) 162.64 687.67 P
+1 F
+0.05 ( and) 175.84 687.67 P
+2 F
+0.12 (not in) 197.33 687.67 P
+1 F
+0.05 ( test for sequence membership: if) 237.05 687.67 P
+3 F
+0.05 (y) 386.44 687.67 P
+1 F
+0.05 ( is a sequence,) 391.33 687.67 P
+3 F
+0.05 (x) 457.82 687.67 P
+1 F
+0.05 ( in) 462.7 687.67 P
+3 F
+0.05 (y) 476.86 687.67 P
+1 F
+0.05 ( is true if and) 481.75 687.67 P
+-0.34 (only if there exists an index) 99 674.67 P
+3 F
+-0.34 (i) 221.59 674.67 P
+1 F
+-0.34 ( such that) 224.64 674.67 P
+3 F
+-0.34 (x) 268.52 674.67 P
+1 F
+-0.34 ( =) 273.41 674.67 P
+3 F
+-0.34 (y) 284.42 674.67 P
+1 F
+-0.34 ([) 289.3 674.67 P
+3 F
+-0.34 (i) 292.97 674.67 P
+1 F
+-0.34 (].) 296.03 674.67 P
+3 F
+-0.34 (x) 304.84 674.67 P
+1 F
+-0.34 ( not in) 309.73 674.67 P
+3 F
+-0.34 (y) 339.56 674.67 P
+1 F
+-0.34 ( yields the inverse truth value. The exception) 344.44 674.67 P
+2 F
+0.6 (TypeError) 99 661.67 P
+1 F
+0.25 ( is raised when) 158.4 661.67 P
+3 F
+0.25 (y) 227.84 661.67 P
+1 F
+0.25 ( is not a sequence, or when) 232.72 661.67 P
+3 F
+0.25 (y) 356.06 661.67 P
+1 F
+0.25 ( is a string and) 360.94 661.67 P
+3 F
+0.25 (x) 429.11 661.67 P
+1 F
+0.25 ( is not a string of length) 433.99 661.67 P
+(one.) 99 648.67 T
+1 8.8 Q
+(1) 117.63 653.07 T
+1 11 Q
+-0.47 (The operators) 99 623.67 P
+2 F
+-1.14 (is) 161.59 623.67 P
+1 F
+-0.47 ( and) 174.79 623.67 P
+2 F
+-1.14 (is not) 195.22 623.67 P
+1 F
+-0.47 ( test for object identity:) 233.68 623.67 P
+3 F
+-0.47 (x) 336.72 623.67 P
+2 F
+-1.14 (is) 343.88 623.67 P
+3 F
+-0.47 (y) 359.36 623.67 P
+1 F
+-0.47 ( is true if and only if) 364.24 623.67 P
+3 F
+-0.47 (x) 453.49 623.67 P
+1 F
+-0.47 ( and) 458.38 623.67 P
+3 F
+-0.47 (y) 478.81 623.67 P
+1 F
+-0.47 ( are the same) 483.7 623.67 P
+(object.) 99 610.67 T
+3 F
+(x) 131.38 610.67 T
+2 F
+(is not) 139.02 610.67 T
+3 F
+(y) 181.37 610.67 T
+1 F
+( yields the inverse truth value.) 186.25 610.67 T
+0 14 Q
+(5.10) 99 583.67 T
+(Boolean operations) 135 583.67 T
+1 11 Q
+(Boolean operations have the lowest priority of all Python operations:) 99 558.67 T
+2 10 Q
+(expression: or_test | lambda_form) 99 540.33 T
+(or_test: and_test | or_test "or" and_test) 99 528.33 T
+(and_test: not_test | and_test "and" not_test) 99 516.33 T
+(not_test: comparison | "not" not_test) 99 504.33 T
+(lambda_form:) 99 492.33 T
+("lambda" [parameter_list]: expression) 171 492.33 T
+1 11 Q
+-0.23 (In the context of Boolean operations, and also when expressions are used by control flow statements,) 99 467.67 P
+0.41 0.17 (the following values are interpreted as false:) 99 454.67 B
+2 F
+0.99 0.17 (None) 307.52 454.67 B
+1 F
+0.41 0.17 (, numeric zero of all types, empty sequences) 334.6 454.67 B
+-0.32 (\050strings, tuples and lists\051, and empty mappings \050dictionaries\051. All other values are interpreted as true.) 99 441.67 P
+(The operator) 99 416.67 T
+2 F
+(not) 158.26 416.67 T
+1 F
+( yields 1 if its argument is false, 0 otherwise.) 178.06 416.67 T
+0.25 (The expression) 99 391.67 P
+3 F
+0.25 (x) 169.16 391.67 P
+2 F
+0.61 (and) 177.05 391.67 P
+3 F
+0.25 (y) 199.85 391.67 P
+1 F
+0.25 ( first evaluates) 204.73 391.67 P
+3 F
+0.25 (x) 272.4 391.67 P
+1 F
+0.25 (; if) 277.28 391.67 P
+3 F
+0.25 (x) 293.07 391.67 P
+1 F
+0.25 ( is false, its value is returned; otherwise,) 297.95 391.67 P
+3 F
+0.25 (y) 479.62 391.67 P
+1 F
+0.25 ( is evaluated) 484.5 391.67 P
+(and the resulting value is returned.) 99 378.67 T
+-0.18 (The expression) 99 353.67 P
+3 F
+-0.18 (x) 168.3 353.67 P
+2 F
+-0.43 (or) 175.75 353.67 P
+3 F
+-0.18 (y) 191.52 353.67 P
+1 F
+-0.18 ( first evaluates) 196.41 353.67 P
+3 F
+-0.18 (x) 262.78 353.67 P
+1 F
+-0.18 (; if) 267.66 353.67 P
+3 F
+-0.18 (x) 282.58 353.67 P
+1 F
+-0.18 ( is true, its value is returned; otherwise,) 287.47 353.67 P
+3 F
+-0.18 (y) 462.02 353.67 P
+1 F
+-0.18 ( is evaluated and) 466.91 353.67 P
+(the resulting value is returned.) 99 340.67 T
+0.04 (\050Note that neither) 99 315.67 P
+2 F
+0.09 (and) 179.46 315.67 P
+1 F
+0.04 ( nor) 199.26 315.67 P
+2 F
+0.09 (or) 219.5 315.67 P
+1 F
+0.04 ( restrict the value and type they return to 0 and 1, but rather return the) 232.7 315.67 P
+-0.34 (last evaluated argument. This is sometimes useful, e.g. if) 99 302.67 P
+2 F
+-0.82 (s) 348.61 302.67 P
+1 F
+-0.34 ( is a string that should be replaced by a de-) 355.21 302.67 P
+-0.08 (fault value if it is empty, the expression) 99 289.67 P
+2 F
+-0.19 (s or \325foo\325) 275.27 289.67 P
+1 F
+-0.08 ( yields the desired value. Because) 340.89 289.67 P
+2 F
+-0.19 (not) 491.64 289.67 P
+1 F
+-0.08 ( has to) 511.44 289.67 P
+0.36 (invent a value anyway, it does not bother to return a value of the same type as its argument, so e.g.) 99 276.67 P
+2 F
+(not \325foo\325) 99 263.67 T
+1 F
+( yields) 158.4 263.67 T
+2 F
+(0) 190.18 263.67 T
+1 F
+(, not) 196.78 263.67 T
+2 F
+(\325\325) 219.09 263.67 T
+1 F
+(.\051) 232.29 263.67 T
+0.41 0.12 (Lambda forms \050lambda expressions\051 have the same syntactic position as expressions. They are a) 99 238.67 B
+0.41 0.03 (shorthand to create anonymous functions; the expression) 99 225.67 B
+2 F
+0.99 0.03 (lambda) 356.08 225.67 B
+1 F
+0.41 0.03 ( arguments) 395.84 225.67 B
+2 F
+0.99 0.03 (:) 445.1 225.67 B
+1 F
+0.41 0.03 ( expression yields a) 451.73 225.67 B
+(function object that behaves virtually identical to one defined with) 99 212.67 T
+2 10 Q
+(def name \050arguments\051:) 99 194.33 T
+( return expression) 99 182.33 T
+0 0 0 1 0 0 0 K
+99 128 540 143 C
+0 0 0 1 0 0 0 K
+108 141 252 141 2 L
+0.5 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+0 0 0 1 0 0 0 K
+0 0 612 792 C
+0 0 0 1 0 0 0 K
+1 11 Q
+0 X
+0 0 0 1 0 0 0 K
+(1.) 108 120.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.22 (This is expensive since it requires sorting the keys first, but about the only sensible defini-) 121.5 120.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.7 (tion. An earlier version of Python compared dictionaries by identity only, but this caused) 121.46 107.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.41 (surprises because people expected to be able to test a dictionary for emptiness by comparing) 121.46 94.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(it to) 121.46 81.67 T
+2 F
+({}) 141.64 81.67 T
+1 F
+(.) 154.84 81.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(1.) 108 68.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(The latter restriction is sometimes a nuisance.) 121.5 68.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "35" 41
+%%Page: "36" 42
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(36) 76.5 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+0.41 0 (See \322Function definitions\323 on page) 76.5 712.67 B
+0.41 0 (48 for the syntax of parameter lists. Note that functions created) 235.56 712.67 B
+(with lambda forms cannot contain statements.) 76.5 699.67 T
+0 14 Q
+(5.11) 76.5 672.67 T
+(Expression lists) 112.5 672.67 T
+2 10 Q
+(expression_list: expression \050"," expression\051* [","]) 76.5 648.33 T
+1 11 Q
+-0.26 (An expression list containing at least one comma yields a tuple. The length of the tuple is the number) 76.5 623.67 P
+(of expressions in the list. The expressions are evaluated from left to right.) 76.5 610.67 T
+-0.04 (The trailing comma is required only to create a single tuple \050a.k.a. a) 76.5 585.67 P
+3 F
+-0.04 (single) 376.57 585.67 P
+1 F
+-0.04 (\051; it is optional in all other) 402.85 585.67 P
+-0.28 (cases. A single expression without a trailing comma doesn\325t create a tuple, but rather yields the value) 76.5 572.67 P
+(of that expression. \050To create an empty tuple, use an empty pair of parentheses:) 76.5 559.67 T
+2 F
+(\050\051) 428.42 559.67 T
+1 F
+(.\051) 441.62 559.67 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "36" 42
+%%Page: "37" 43
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(37) 530 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+585 292.5 598.5 720 R
+5 9 Q
+(\245) 0 -90 592.5 720 TF
+(Expressions) 0 -90 592.5 711 TF
+585 292.5 598.5 720 R
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 14 Q
+(5.12) 99 710.67 T
+(Summary) 135 710.67 T
+1 11 Q
+0.37 (The following table summarizes the operator precedences in Python, from lowest precedence \050least) 99 685.67 P
+-0.23 (binding\051 to highest precedence \050most binding\051. Operators in the same box have the same precedence.) 99 672.67 P
+0.64 (Unless the syntax is explicitly given, operators are binary. Operators in the same box group left to) 99 659.67 P
+(right \050except for comparisons, which chain from left to right \321 see above\051.) 99 646.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+4 12 Q
+(T) 208.14 623 T
+(able 4: Operator Pr) 215.04 623 T
+(ecedence) 315.8 623 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 11 Q
+(or) 185.77 599.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 F
+(Boolean OR) 350.65 599.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 F
+(and) 182.48 578.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 F
+(Boolean AND) 346.38 578.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 F
+(not) 175.88 557.67 T
+6 F
+(x) 202.27 557.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 F
+(Boolean NO) 347.21 557.67 T
+(T) 402.07 557.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 F
+(in, not in) 159.38 536.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(is, is not) 159.38 523.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(<, <=, >, >=, <>, !=, =) 116.47 510.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 F
+(Membership tests) 339.04 536.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Identity tests) 349.74 523.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Comparisons) 348.97 510.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 F
+(|) 189.07 489.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 F
+(Bitwise OR) 352.18 489.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 F
+(^) 189.07 468.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 F
+(Bitwise XOR) 348.21 468.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 F
+(&) 189.07 447.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 F
+(Bitwise AND) 347.9 447.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 F
+(<<, >>) 172.57 426.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 F
+(Shifts) 365.16 426.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 F
+(+, -) 179.18 405.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 F
+(Addition and subtraction) 323.31 405.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 F
+(*, /, %) 169.27 384.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 F
+(Multiplication, di) 301.14 384.67 T
+(vision, remainder) 377.87 384.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+3 F
+(+x, -x) 179.2 363.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(~x) 186.96 350.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 F
+(Positi) 339.44 363.67 T
+(v) 364.23 363.67 T
+(e, ne) 369.57 363.67 T
+(g) 390.17 363.67 T
+(ati) 395.62 363.67 T
+(v) 406.34 363.67 T
+(e) 411.68 363.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Bitwise not) 352.79 350.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+3 F
+(x.attrib) 169.72 329.67 T
+(ute) 201.59 329.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(x) 174.47 316.67 T
+1 F
+([) 179.35 316.67 T
+3 F
+(inde) 183.01 316.67 T
+(x) 201.74 316.67 T
+1 F
+(]) 206.62 316.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+3 F
+(x) 160.83 303.67 T
+1 F
+([) 165.72 303.67 T
+3 F
+(inde) 169.38 303.67 T
+(x:inde) 188.1 303.67 T
+(x) 215.37 303.67 T
+1 F
+(]) 220.25 303.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+3 F
+(f) 157.29 290.67 T
+1 F
+(\050) 160.35 290.67 T
+3 F
+(ar) 164.01 290.67 T
+(guments) 173.38 290.67 T
+1 F
+(, ...\051) 210.05 290.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Attrib) 336.42 329.67 T
+(ute reference) 362.48 329.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Subscription) 350.19 316.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Slicing) 362.41 303.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Function call) 349.12 290.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(\050) 155.11 269.67 T
+3 F
+(e) 158.78 269.67 T
+(xpr) 163.44 269.67 T
+(essions) 177.7 269.67 T
+1 F
+( . . .\051) 209.47 269.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+([) 155.11 256.67 T
+3 F
+(e) 158.78 256.67 T
+(xpr) 163.44 256.67 T
+(essions) 177.7 256.67 T
+1 F
+( . . .]) 209.47 256.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+({) 154.78 243.67 T
+3 F
+(k) 160.06 243.67 T
+(e) 164.84 243.67 T
+(y:datum) 169.39 243.67 T
+1 F
+(, . . .}) 205.44 243.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(`) 165.5 230.67 T
+3 F
+(e) 169.16 230.67 T
+(xpr) 173.83 230.67 T
+(ession) 188.09 230.67 T
+1 F
+(`) 215.59 230.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Binding or tuple display) 324.68 269.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(List display) 352.18 256.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Dictionary display) 337.21 243.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(String con) 339.35 230.67 T
+(v) 384.43 230.67 T
+(ersion) 389.77 230.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+99 612.75 99 223.25 2 L
+V
+0.5 H
+0 Z
+N
+285.75 613.25 285.75 222.75 2 L
+V
+N
+470.25 612.75 470.25 223.25 2 L
+V
+N
+98.75 613 470.5 613 2 L
+V
+N
+98.75 592 470.5 592 2 L
+V
+N
+98.75 571 470.5 571 2 L
+V
+N
+98.75 550 470.5 550 2 L
+V
+N
+98.75 503 470.5 503 2 L
+V
+N
+98.75 482 470.5 482 2 L
+V
+N
+98.75 461 470.5 461 2 L
+V
+N
+98.75 440 470.5 440 2 L
+V
+N
+98.75 419 470.5 419 2 L
+V
+N
+98.75 398 470.5 398 2 L
+V
+N
+98.75 377 470.5 377 2 L
+V
+N
+98.75 343 470.5 343 2 L
+V
+N
+98.75 283 470.5 283 2 L
+V
+N
+98.75 223 470.5 223 2 L
+V
+N
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "37" 43
+%%Page: "38" 44
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(38) 76.5 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "38" 44
+%%Page: "39" 45
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(39) 530 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+585 292.5 598.5 720 R
+5 9 Q
+(\245) 0 -90 592.5 720 TF
+(Simple statements) 0 -90 592.5 711 TF
+585 292.5 598.5 720 R
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 16 Q
+(C) 99 709.33 T
+0 12.8 Q
+(HAPTER) 110.55 709.33 T
+0 16 Q
+(6:) 167.62 709.33 T
+(S) 198 709.33 T
+0 12.8 Q
+(IMPLE) 208.67 709.33 T
+(STATEMENTS) 252.24 709.33 T
+1 11 Q
+-0.43 (Simple statements are comprised within a single logical line. Several simple statements may occur on) 99 672.67 P
+(a single line separated by semicolons. The syntax for simple statements is:) 99 659.67 T
+2 10 Q
+(simple_stmt: expression_stmt) 99 641.33 T
+( | assignment_stmt) 99 629.33 T
+( | pass_stmt) 99 617.33 T
+( | del_stmt) 99 605.33 T
+( | print_stmt) 99 593.33 T
+( | return_stmt) 99 581.33 T
+( | raise_stmt) 99 569.33 T
+( | break_stmt) 99 557.33 T
+( | continue_stmt) 99 545.33 T
+( | import_stmt) 99 533.33 T
+( | global_stmt) 99 521.33 T
+( | exec_stmt) 99 509.33 T
+0 14 Q
+(6.1) 99 482.67 T
+(Expression statements) 135 482.67 T
+1 11 Q
+0.58 (Expression statements are used \050mostly interactively\051 to compute and write a value, or \050usually\051 to) 99 457.67 P
+-0.01 (call a procedure \050a function that returns no meaningful result; in Python, procedures return the value) 99 444.67 P
+2 F
+0.9 (None) 99 431.67 P
+1 F
+0.38 (\051. Other uses of expression statements are allowed and occasionally useful. The syntax for an) 125.4 431.67 P
+(expression statement is:) 99 418.67 T
+2 10 Q
+(expression_stmt: expression_list) 99 400.33 T
+1 11 Q
+-0.16 (An expression statement evaluates the expression list \050which may be a single expression\051. In interac-) 99 375.67 P
+-0.35 (tive mode, if the value is not) 99 362.67 P
+2 F
+-0.84 (None) 224.89 362.67 P
+1 F
+-0.35 (, it is converted to a string using the built-in) 251.29 362.67 P
+2 F
+-0.84 (repr\050\051) 443.05 362.67 P
+1 F
+-0.35 ( function and) 482.65 362.67 P
+0.28 (the resulting string is written to standard output \050see \322The print statement\323 on page) 99 349.67 P
+0.28 (41\051 on a line by) 469.84 349.67 P
+-0.24 (itself. \050Expression statements yielding) 99 336.67 P
+2 F
+-0.58 (None) 268.83 336.67 P
+1 F
+-0.24 ( are not written, so that procedure calls do not cause any) 295.23 336.67 P
+(output.\051) 99 323.67 T
+0 14 Q
+(6.2) 99 296.67 T
+(Assignment statements) 135 296.67 T
+1 11 Q
+-0.09 (Assignment statements are used to \050re\051bind names to values and to modify attributes or items of mu-) 99 271.67 P
+(table objects:) 99 258.67 T
+2 10 Q
+(assignment_stmt: \050target_list "="\051+ expression_list) 99 240.33 T
+(target_list: target \050"," target\051* [","]) 99 228.33 T
+(target: identifier | "\050" target_list "\051" | "[" target_list "]") 99 216.33 T
+( | attributeref | subscription | slicing) 99 204.33 T
+1 11 Q
+(\050See \322Primaries\323 on page) 99 179.67 T
+(29 for the syntax definitions for the last three symbols.\051) 213.25 179.67 T
+-0.14 (An assignment statement evaluates the expression list \050remember that this can be a single expression) 99 154.67 P
+0.31 (or a comma-separated list, the latter yielding a tuple\051 and assigns the single resulting object to each) 99 141.67 P
+(of the target lists, from left to right.) 99 128.67 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "39" 45
+%%Page: "40" 46
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(40) 76.5 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+-0.07 (Assignment is defined recursively depending on the form of the target \050list\051. When a target is part of a mu-) 72 712.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.18 (table object \050an attribute reference, subscription or slicing\051, the mutable object must ultimately perform the) 72 699.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.27 (assignment and decide about its validity, and may raise an exception if the assignment is unacceptable. The) 72 686.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.27 (rules observed by various types and the exceptions raised are given with the definition of the object types) 72 673.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(\050See \322The standard type hierarchy\323 on page) 72 660.67 T
+(12.\051) 267.18 660.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Assignment of an object to a target list is recursively defined as follows.) 72 635.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(\245) 72 616.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(If the target list is a single target: the object is assigned to that target.) 86.4 616.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(\245) 72 597.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.14 (If the target list is a comma-separated list of targets: the object must be a tuple with the same number of) 86.4 597.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.62 (items as there are targets in the target list, and the items are assigned, from left to right, to the correspond-) 86.4 584.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(ing targets.) 86.4 571.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Assignment of an object to a single target is recursively defined as follows.) 72 546.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(\245) 72 527.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(If the target is an identifier \050name\051:) 86.4 527.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(\245) 100.8 508.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.19 (If the name does not occur in a) 115.2 508.67 P
+2 F
+0.44 (global) 255.37 508.67 P
+1 F
+0.19 ( statement in the current code block: the name is bound) 294.96 508.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(to the object in the current local name space.) 115.2 495.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(\245) 100.8 476.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Otherwise: the name is bound to the object in the current global name space.) 115.2 476.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.58 (The name is rebound if it was already bound. This can cause the reference count for the object previously) 86.4 459.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(bound to the name to reach zero, causing the object to be deallocated and its) 86.4 446.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(\245) 72 427.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.16 (If the target is a target list enclosed in parentheses: the object is assigned to that target list as described) 86.4 427.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(above.) 86.4 414.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(\245) 72 395.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.24 (If the target is a target list enclosed in square brackets: the object must be a list with the same number of) 86.4 395.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.38 (items as the target list contains targets, and its items are assigned, from left to right, to the corresponding) 86.4 382.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(targets.) 86.4 369.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(\245) 72 350.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.56 (If the target is an attribute reference: The primary expression in the reference is evaluated. It should yield) 86.4 350.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.7 (an object with assignable attributes; if this is not the case,) 86.4 337.67 P
+2 F
+1.69 (TypeError) 350.19 337.67 P
+1 F
+0.7 ( is raised. That object is then) 409.59 337.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.34 (asked to assign the assigned object to the given attribute; if it cannot perform the assignment, it raises an) 86.4 324.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(exception \050usually but not necessarily) 86.4 311.67 T
+2 F
+(AttributeError) 255.35 311.67 T
+1 F
+(\051.) 347.75 311.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(\245) 72 292.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.31 (If the target is a subscription: The primary expression in the reference is evaluated. It should yield either) 86.4 292.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.25 (a mutable sequence \050list\051 object or a mapping \050dictionary\051 object. Next, the subscript expression is eval-) 86.4 279.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(uated.) 86.4 266.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.11 (If the primary is a mutable sequence object \050a list\051, the subscript must yield a plain integer. If it is nega-) 86.4 249.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.26 (tive, the sequence\325s length is added to it. The resulting value must be a nonnegative integer less than the) 86.4 236.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.01 (sequence\325s length, and the sequence is asked to assign the assigned object to its item with that index. If) 86.4 223.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.39 (the index is out of range,) 86.4 210.67 P
+2 F
+-0.93 (IndexError) 196.2 210.67 P
+1 F
+-0.39 ( is raised \050assignment to a subscripted sequence cannot add new) 262.2 210.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(items to a list\051.) 86.4 197.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.28 (If the primary is a mapping \050dictionary\051 object, the subscript must have a type compatible with the map-) 86.4 180.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.27 (ping\325s key type, and the mapping is then asked to create a key/datum pair which maps the subscript to) 86.4 167.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.15 (the assigned object. This can either replace an existing key/value pair with the same key value, or insert) 86.4 154.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(a new key/value pair \050if no key with the same value existed\051.) 86.4 141.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(\245) 72 122.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.06 (If the target is a slicing: The primary expression in the reference is evaluated. It should yield a mutable) 86.4 122.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.31 (sequence object \050e.g. a list\051. The assigned object should be a sequence object of the same type. Next, the) 86.4 109.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.04 (lower and upper bound expressions are evaluated, insofar they are present; defaults are zero and the se-) 86.4 96.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1.16 (quence\325s length. The bounds should evaluate to \050small\051 integers. If either bound is negative, the se-) 86.4 83.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "40" 46
+%%Page: "41" 47
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(41) 530 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+585 292.5 598.5 720 R
+5 9 Q
+(\245) 0 -90 592.5 720 TF
+(Simple statements) 0 -90 592.5 711 TF
+585 292.5 598.5 720 R
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+1.71 (quence\325s length is added to it. The resulting bounds are clipped to lie between zero and the) 113.4 712.67 P
+0.95 (sequence\325s length, inclusive. Finally, the sequence object is asked to replace the slice with the) 113.4 699.67 P
+-0.15 (items of the assigned sequence. The length of the slice may be different from the length of the as-) 113.4 686.67 P
+(signed sequence, thus changing the length of the target sequence, if the object allows it.) 113.4 673.67 T
+0.15 (\050In the current implementation, the syntax for targets is taken to be the same as for expressions, and) 99 648.67 P
+(invalid syntax is rejected during the code generation phase, causing less detailed error messages.\051) 99 635.67 T
+0.14 (WARNING: Although the definition of assignment implies that overlaps between the left-hand side) 99 610.67 P
+-0.28 (and the right-hand side are \324safe\325 \050e.g. \324\324) 99 597.67 P
+2 F
+-0.68 (a,) 274.49 597.67 P
+-0.68 (b) 290.16 597.67 P
+-0.68 (=) 299.23 597.67 P
+-0.68 (b,) 308.3 597.67 P
+-0.68 (a) 323.96 597.67 P
+1 F
+-0.28 (\325\325 swaps two variables\051, overlaps) 330.56 597.67 P
+3 F
+-0.28 (within) 477.01 597.67 P
+1 F
+-0.28 ( the col-) 504.52 597.67 P
+-0.19 (lection of assigned-to variables are not safe! For instance, the following program prints \324\324) 99 584.67 P
+2 F
+-0.46 ([0,) 490.02 584.67 P
+-0.46 (2]) 516.42 584.67 P
+1 F
+-0.19 (\325\325:) 529.62 584.67 P
+2 10 Q
+(x = [0, 1]) 99 566.33 T
+(i = 0) 99 554.33 T
+(i, x[i] = 1, 2) 99 542.33 T
+(print x) 99 530.33 T
+0 14 Q
+(6.3) 99 503.67 T
+(The) 135 503.67 T
+2 F
+(pass) 163.78 503.67 T
+0 F
+( statement) 197.38 503.67 T
+2 10 Q
+(pass_stmt: "pass") 99 479.33 T
+2 11 Q
+0.21 (pass) 99 454.67 P
+1 F
+0.09 ( is a null operation \321 when it is executed, nothing happens. It is useful as a placeholder when) 125.4 454.67 P
+(a statement is required syntactically, but no code needs to be executed, for example:) 99 441.67 T
+2 10 Q
+(def f\050arg\051: pass # a function that does nothing \050yet\051) 99 423.33 T
+(class C: pass # a class with no methods \050yet\051) 99 411.33 T
+0 14 Q
+(6.4) 99 384.67 T
+(The) 135 384.67 T
+2 F
+(del) 163.78 384.67 T
+0 F
+( statement) 188.98 384.67 T
+2 10 Q
+(del_stmt: "del" target_list) 99 360.33 T
+1 11 Q
+0.19 (Deletion is recursively defined very similar to the way assignment is defined. Rather that spelling it) 99 335.67 P
+(out in full details, here are some hints.) 99 322.67 T
+(Deletion of a target list recursively deletes each target, from left to right.) 99 297.67 T
+0.41 0.09 (Deletion of a name removes the binding of that name \050which must exist\051 from the local or global) 99 272.67 B
+-0 (name space, depending on whether the name occurs in a) 99 259.67 P
+2 F
+-0 (global) 349.18 259.67 P
+1 F
+-0 ( statement in the same code block.) 388.78 259.67 P
+0.32 (Deletion of attribute references, subscriptions and slicings is passed to the primary object involved;) 99 234.67 P
+-0.54 (deletion of a slicing is in general equivalent to assignment of an empty slice of the right type \050but even) 99 221.67 P
+(this is determined by the sliced object\051.) 99 208.67 T
+0 14 Q
+(6.5) 99 181.67 T
+(The) 135 181.67 T
+2 F
+(print) 163.78 181.67 T
+0 F
+( statement) 205.78 181.67 T
+2 10 Q
+(print_stmt: "print" [ expression \050"," expression\051* [","] ]) 99 157.33 T
+2 11 Q
+0.81 (print) 99 132.67 P
+1 F
+0.34 ( evaluates each expression in turn and writes the resulting object to standard output \050see be-) 132 132.67 P
+-0.02 (low\051. If an object is not a string, it is first converted to a string using the rules for string conversions.) 99 119.67 P
+0.32 (The \050resulting or original\051 string is then written. A space is written before each object is \050converted) 99 106.67 P
+0.23 (and\051 written, unless the output system believes it is positioned at the beginning of a line. This is the) 99 93.67 P
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "41" 47
+%%Page: "42" 48
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(42) 76.5 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+-0.27 (case: \0501\051 when no characters have yet been written to standard output; or \0502\051 when the last character written) 72 712.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.41 0.02 (to standard output is) 72 699.67 B
+2 F
+0.99 0.02 (\134n) 166.45 699.67 B
+1 F
+0.41 0.02 (; or \0503\051 when the last write operation on standard output was not a) 179.7 699.67 B
+2 F
+0.99 0.02 (print) 479.77 699.67 B
+1 F
+0.41 0.02 ( state-) 512.89 699.67 B
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(ment. \050In some cases it may be functional to write an empty string to standard output for this reason.\051) 72 686.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.36 (A) 72 661.67 P
+2 F
+0.87 ("\134n") 83.05 661.67 P
+1 F
+0.36 ( character is written at the end, unless the) 109.45 661.67 P
+2 F
+0.87 (print) 297.21 661.67 P
+1 F
+0.36 ( statement ends with a comma. This is the only) 330.21 661.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.54 (action if the statement contains just the keyword) 72 648.67 P
+2 F
+-1.3 (print) 283.36 648.67 P
+1 F
+-0.54 (. Standard output is defined as the file object named) 316.36 648.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 F
+-0.69 (stdout) 72 635.67 P
+1 F
+-0.29 (in the built-in module) 117.5 635.67 P
+2 F
+-0.69 (sys) 214.74 635.67 P
+1 F
+-0.29 (. If no such object exists, or if it is not a writable file, a) 234.54 635.67 P
+2 F
+-0.69 (RuntimeEr-) 474 635.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.99 0 (ror) 72 622.67 B
+1 F
+0.41 0 ( exception is raised. \050The original implementation attempts to write to the system\325s original standard) 91.81 622.67 B
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(output instead, but this is not safe, and should be fixed.\051) 72 609.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 14 Q
+(6.6) 72 582.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(The) 108 582.67 T
+2 F
+(return) 136.78 582.67 T
+0 F
+( statement) 187.18 582.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 10 Q
+(return_stmt: "return" [expression_list]) 72 558.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 11 Q
+(return) 72 533.67 T
+1 F
+( may only occur syntactically nested in a function definition, not within a nested class definition.) 111.6 533.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(If an expression list is present, it is evaluated, else) 72 508.67 T
+2 F
+(None) 295.02 508.67 T
+1 F
+(is substituted.) 328.02 508.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 F
+(return) 72 483.67 T
+1 F
+( leaves the current function call with the expression list \050or) 111.6 483.67 T
+2 F
+(None) 372.81 483.67 T
+1 F
+(\051 as return value.) 399.21 483.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.36 (When) 72 458.67 P
+2 F
+0.87 (return) 101.38 458.67 P
+1 F
+0.36 ( passes control out of a) 140.98 458.67 P
+2 F
+0.87 (try) 247.04 458.67 P
+1 F
+0.36 ( statement with a) 266.84 458.67 P
+2 F
+0.87 (finally) 345.9 458.67 P
+1 F
+0.36 ( clause, that finally clause is exe-) 392.1 458.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(cuted before really leaving the function.) 72 445.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 14 Q
+(6.7) 72 418.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(The) 108 418.67 T
+2 F
+(raise) 136.78 418.67 T
+0 F
+( statement) 178.78 418.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 10 Q
+(raise_stmt: "raise" expression ["," expression ["," expression]]) 72 394.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 11 Q
+-0.98 (raise) 72 369.67 P
+1 F
+-0.41 ( evaluates its first expression, which must yield a string, class, or instance object. If there is a second) 105 369.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.02 (expression, this is evaluated, else) 72 356.67 P
+2 F
+0.06 (None) 220.91 356.67 P
+1 F
+0.02 ( is substituted. If the first expression is a class object, then the sec-) 247.31 356.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.54 (ond expression must be an instance of that class or one of its derivatives. If the first expression is an instance) 72 343.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(object, the second expression must be) 72 330.67 T
+2 F
+(None) 240.95 330.67 T
+1 F
+(.) 267.35 330.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.45 (If the first object is a class or string, it then raises the exception identified by the first object, with the second) 72 305.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.47 (one \050or) 72 292.67 P
+2 F
+-1.12 (None) 105.28 292.67 P
+1 F
+-0.47 (\051 as its parameter. If the first object is an instance, it raises the exception identified by the class) 131.68 292.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.08 (of the object, with the instance as its parameter \050and there should be no second object, or the second object) 72 279.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(should be) 72 266.67 T
+2 F
+(None) 117.22 266.67 T
+1 F
+(\051.) 143.62 266.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.34 (If a third object is present, and it is not) 72 241.67 P
+2 F
+0.82 (None) 248.05 241.67 P
+1 F
+0.34 (, it should be a traceback object \050see page) 274.45 241.67 P
+0.34 (17 traceback ob-) 466.01 241.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.14 (jects\051, and it is substituted instead of the current location as the place where the exception occurred. This is) 72 228.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(useful to re-raise an exception transparently in an except clause.) 72 215.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 14 Q
+(6.8) 72 188.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(The) 108 188.67 T
+2 F
+(break) 136.78 188.67 T
+0 F
+( statement) 178.78 188.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 10 Q
+(break_stmt: "break") 72 164.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 11 Q
+-0.27 (break) 72 139.67 P
+1 F
+-0.11 ( may only occur syntactically nested in a) 105 139.67 P
+2 F
+-0.27 (for) 286.17 139.67 P
+1 F
+-0.11 (or) 312.3 139.67 P
+2 F
+-0.27 (while) 324.1 139.67 P
+1 F
+-0.11 ( loop, but not nested in a function or class) 357.1 139.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(definition within that loop.) 72 126.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(It terminates the nearest enclosing loop, skipping the optional) 72 101.67 T
+2 F
+(else) 345.76 101.67 T
+1 F
+( clause if the loop has one.) 372.16 101.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(If a) 72 76.67 T
+2 F
+(for) 89.71 76.67 T
+1 F
+( loop is terminated by) 109.51 76.67 T
+2 F
+(break) 208.2 76.67 T
+1 F
+(, the loop control target keeps its current value.) 241.2 76.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "42" 48
+%%Page: "43" 49
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(43) 530 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+585 292.5 598.5 720 R
+5 9 Q
+(\245) 0 -90 592.5 720 TF
+(Simple statements) 0 -90 592.5 711 TF
+585 292.5 598.5 720 R
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+-0.55 (When) 99 712.67 P
+2 F
+-1.32 (break) 127.47 712.67 P
+1 F
+-0.55 ( passes control out of a) 160.47 712.67 P
+2 F
+-1.32 (try) 261.05 712.67 P
+1 F
+-0.55 ( statement with a) 280.85 712.67 P
+2 F
+-1.32 (finally) 356.26 712.67 P
+1 F
+-0.55 ( clause, that finally clause is ex-) 402.46 712.67 P
+(ecuted before really leaving the loop.) 99 699.67 T
+0 14 Q
+(6.9) 99 672.67 T
+(The) 135 672.67 T
+2 F
+(continue) 163.78 672.67 T
+0 F
+( statement) 230.98 672.67 T
+2 10 Q
+(continue_stmt: "continue") 99 648.33 T
+2 11 Q
+-1.3 (continue) 99 623.67 P
+1 F
+-0.54 ( may only occur syntactically nested in a) 151.8 623.67 P
+2 F
+-1.3 (for) 329.54 623.67 P
+1 F
+-0.54 ( or) 349.34 623.67 P
+2 F
+-1.3 (while) 362.92 623.67 P
+1 F
+-0.54 ( loop, but not nested in a function) 395.92 623.67 P
+0.04 (or class definition or) 99 610.67 P
+2 F
+0.1 (try) 192.65 610.67 P
+1 F
+0.04 ( statement within that loop.) 212.45 610.67 P
+1 8.8 Q
+0.03 (1) 332.7 615.07 P
+1 11 Q
+0.04 ( It continues with the next cycle of the nearest) 337.1 610.67 P
+(enclosing loop.) 99 597.67 T
+0 14 Q
+(6.10) 99 570.67 T
+(The) 135 570.67 T
+2 F
+(import) 163.78 570.67 T
+0 F
+( statement) 214.18 570.67 T
+2 10 Q
+(import_stmt: "import" identifier \050"," identifier\051*) 99 546.33 T
+( | "from" identifier "import" identifier \050"," identifier\051*) 99 534.33 T
+( | "from" identifier "import" "*") 99 522.33 T
+1 11 Q
+-0.55 (Import statements are executed in two steps: \0501\051 find a module, and initialize it if necessary; \0502\051 define) 99 497.67 P
+-0.53 (a name or names in the local name space \050of the scope where the) 99 484.67 P
+2 F
+-1.26 (import) 379.39 484.67 P
+1 F
+-0.53 ( statement occurs\051. The first) 418.99 484.67 P
+-0.12 (form \050without) 99 471.67 P
+2 F
+-0.29 (from) 162.92 471.67 P
+1 F
+-0.12 (\051 repeats these steps for each identifier in the list, the) 189.32 471.67 P
+2 F
+-0.29 (from) 422.62 471.67 P
+1 F
+-0.12 ( form performs them) 449.02 471.67 P
+(once, with the first identifier specifying the module name.) 99 458.67 T
+0.38 (The system maintains a table of modules that have been initialized, indexed by module name. \050The) 99 433.67 P
+0.41 0.1 (current implementation makes this table accessible as) 99 420.67 B
+2 F
+0.99 0.1 (sys.modules) 346.17 420.67 B
+1 F
+0.41 0.1 (.\051 When a module name is) 419.93 420.67 B
+0.41 0.03 (found in this table, step \0501\051 is finished. If not, a search for a module definition is started. This first) 99 407.67 B
+-0.42 (looks for a built-in module definition, and if no built-in module if the given name is found, it searches) 99 394.67 P
+0.12 (a user-specified list of directories for a file whose name is the module name with extension) 99 381.67 P
+2 F
+0.3 (".py") 504.25 381.67 P
+1 F
+0.12 (.) 537.25 381.67 P
+0.41 0.05 (\050The current implementation uses the list of strings) 99 368.67 B
+2 F
+0.99 0.05 (sys.path) 332.42 368.67 B
+1 F
+0.41 0.05 ( as the search path; it is initialized) 385.64 368.67 B
+(from the shell environment variable) 99 355.67 T
+2 F
+($PYTHONPATH) 259.39 355.67 T
+1 F
+(, with an installation-dependent default.\051) 331.99 355.67 T
+0.12 (If a built-in module is found, its built-in initialization code is executed and step \0501\051 is finished. If no) 99 330.67 P
+-0.42 (matching file is found,) 99 317.67 P
+2 F
+-1 (ImportError) 199.69 317.67 P
+1 F
+-0.42 ( is raised. If a file is found, it is parsed, yielding an executable) 272.29 317.67 P
+0.41 0.01 (code block. If a syntax error occurs,) 99 304.67 B
+2 F
+0.99 0.01 (SyntaxError) 263.44 304.67 B
+1 F
+0.41 0.01 ( is raised. Otherwise, an empty module of the) 336.21 304.67 B
+-0.52 (given name is created and inserted in the module table, and then the code block is executed in the con-) 99 291.67 P
+(text of this module. Exceptions during this execution terminate step \0501\051.) 99 278.67 T
+(When step \0501\051 finishes without raising an exception, step \0502\051 can begin.) 99 253.67 T
+0.38 (The first form of) 99 228.67 P
+2 F
+0.9 (import) 176.87 228.67 P
+1 F
+0.38 ( statement binds the module name in the local name space to the module) 216.47 228.67 P
+-0.05 (object, and then goes on to import the next identifier, if any. The) 99 215.67 P
+2 F
+-0.12 (from) 385.56 215.67 P
+1 F
+-0.05 ( form does not bind the mod-) 411.96 215.67 P
+-0.36 (ule name: it goes through the list of identifiers, looks each one of them up in the module found in step) 99 202.67 P
+-0.11 (\0501\051, and binds the name in the local name space to the object thus found. If a name is not found,) 99 189.67 P
+2 F
+-0.25 (Im-) 520.2 189.67 P
+-0.68 (portError) 99 176.67 P
+1 F
+-0.28 ( is raised. If the list of identifiers is replaced by a star \050) 158.4 176.67 P
+2 F
+-0.68 (*) 394.86 176.67 P
+1 F
+-0.28 (\051, all names defined in the mod-) 401.46 176.67 P
+(ule are bound, except those beginning with an underscore\050) 99 163.67 T
+2 F
+(_) 355.92 163.67 T
+1 F
+(\051.) 362.52 163.67 T
+(Names bound by import statements may not occur in) 99 138.67 T
+2 F
+(global) 334.57 138.67 T
+1 F
+( statements in the same scope.) 374.17 138.67 T
+(The) 99 113.67 T
+2 F
+(from) 118.86 113.67 T
+1 F
+( form with) 145.26 113.67 T
+2 F
+(*) 194.45 113.67 T
+1 F
+( may only occur in a module scope.) 201.05 113.67 T
+0 0 0 1 0 0 0 K
+99 76 540 91 C
+0 0 0 1 0 0 0 K
+108 89 252 89 2 L
+0.5 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+0 0 0 1 0 0 0 K
+0 0 612 792 C
+0 0 0 1 0 0 0 K
+1 11 Q
+0 X
+0 0 0 1 0 0 0 K
+(1.) 108 68.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Except that it may currently occur within an) 121.5 68.67 T
+2 F
+(except) 318.25 68.67 T
+1 F
+( clause.) 357.85 68.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "43" 49
+%%Page: "44" 50
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(44) 76.5 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+-0.37 (\050The current implementation does not enforce the latter two restrictions, but programs should not abuse this) 72 712.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(freedom, as future implementations may enforce them or silently change the meaning of the program.\051) 72 699.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 14 Q
+(6.11) 72 672.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(The) 108 672.67 T
+2 F
+(global) 136.78 672.67 T
+0 F
+( statement) 187.18 672.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 10 Q
+(global_stmt: "global" identifier \050"," identifier\051*) 72 648.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+-0.25 (The) 72 623.67 P
+2 F
+-0.6 (global) 91.61 623.67 P
+1 F
+-0.25 ( statement is a declaration which holds for the entire current code block. It means that the list-) 131.21 623.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.19 (ed identifiers are to be interpreted as globals. While) 72 610.67 P
+3 F
+-0.19 (using) 300.64 610.67 P
+1 F
+-0.19 ( global names is automatic if they are not defined) 324.48 610.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(in the local scope,) 72 597.67 T
+3 F
+(assigning) 154.18 597.67 T
+1 F
+( to global names would be impossible without) 196.35 597.67 T
+2 F
+(global) 401.69 597.67 T
+1 F
+(.) 441.29 597.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.28 (Names listed in a) 72 572.67 P
+2 F
+0.68 (global) 151.95 572.67 P
+1 F
+0.28 ( statement must not be used in the same code block before that) 191.55 572.67 P
+2 F
+0.68 (global) 473.54 572.67 P
+1 F
+0.28 ( state-) 513.14 572.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(ment is executed.) 72 559.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.41 (Names listed in a) 72 534.67 P
+2 F
+-0.99 (global) 149.18 534.67 P
+1 F
+-0.41 ( statement must not be defined as formal parameters or in a) 188.78 534.67 P
+2 F
+-0.99 (for) 447.19 534.67 P
+1 F
+-0.41 ( loop control tar-) 466.99 534.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(get,) 72 521.67 T
+2 F
+(class) 90.94 521.67 T
+1 F
+(definition, function definition, or) 130.54 521.67 T
+2 F
+(import) 278.43 521.67 T
+1 F
+( statement.) 318.03 521.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.37 (\050The current implementation does not enforce the latter two restrictions, but programs should not abuse this) 72 496.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(freedom, as future implementations may enforce them or silently change the meaning of the program.\051) 72 483.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.03 (Note: the) 72 458.67 P
+2 F
+-0.06 (global) 115.33 458.67 P
+1 F
+-0.03 ( is a directive to the parser. Therefore, it applies only to code parsed at the same time as) 154.93 458.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.32 (the) 72 445.67 P
+2 F
+-0.77 (global) 87.87 445.67 P
+1 F
+-0.32 (statement. In particular, a) 133.29 445.67 P
+2 F
+-0.77 (global) 246.86 445.67 P
+1 F
+-0.32 ( statement contained in an) 286.46 445.67 P
+2 F
+-0.77 (exec) 402.47 445.67 P
+1 F
+-0.32 ( statement does not affect) 428.87 445.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.12 (the code block) 72 432.67 P
+3 F
+-0.12 (containing) 138.56 432.67 P
+1 F
+-0.12 (the) 188.25 432.67 P
+2 F
+-0.28 (exec) 204.33 432.67 P
+1 F
+-0.12 ( statement, and code contained in an) 230.73 432.67 P
+2 F
+-0.28 (exec) 392.45 432.67 P
+1 F
+-0.12 (statement is unaffected by) 425.17 432.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 F
+-0.24 (global) 72 419.67 P
+1 F
+-0.1 ( statements in the code containing the) 111.6 419.67 P
+2 F
+-0.24 (exec) 279.25 419.67 P
+1 F
+-0.1 ( statement. The same applies to the) 305.65 419.67 P
+2 F
+-0.24 (eval\050\051) 462 419.67 P
+1 F
+-0.1 (,) 501.6 419.67 P
+2 F
+-0.24 (exec-) 507 419.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(file\050\051) 72 406.67 T
+1 F
+( and) 111.6 406.67 T
+2 F
+(compile\050\051) 132.98 406.67 T
+1 F
+( functions.) 192.38 406.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 14 Q
+(6.12) 72 379.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(The) 108 379.67 T
+2 F
+(exec) 136.78 379.67 T
+0 F
+( statement) 170.38 379.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 10 Q
+(exec_stmt: "exec" expression ["in" expression ["," expression]]) 72 355.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+-0.21 (This statement supports dynamic execution of Python code. The first expression should evaluate to either a) 72 330.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.41 (string, an open file object, or a code object. If it is a string, the string is parsed as a suite of Python state-) 72 317.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.22 (ments which is then executed \050unless a syntax error occurs\051. If it is an open file, the file is parsed until EOF) 72 304.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(and executed. If it is a code object, it is simply executed.) 72 291.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.14 (In all cases, if the optional parts are omitted, the code is executed in the current scope. If only the first ex-) 72 266.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.17 (pression after) 72 253.67 P
+2 F
+-0.42 (in) 133.97 253.67 P
+1 F
+-0.17 ( is specified, it should be a dictionary, which will be used for both the global and the local) 147.17 253.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.1 (variables. If two expressions are given, both must be dictionaries and they are used for the global and local) 72 240.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(variables, respectively.) 72 227.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.06 (Hints: dynamic evaluation of expressions is supported by the built-in function) 72 202.67 P
+2 F
+-0.15 (eval\050\051) 416.88 202.67 P
+1 F
+-0.06 (. The built-in func-) 456.48 202.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.15 (tions) 72 189.67 P
+2 F
+-0.36 (globals\050\051) 96 189.67 P
+1 F
+-0.15 ( and) 155.4 189.67 P
+2 F
+-0.36 (locals\050\051) 176.48 189.67 P
+1 F
+-0.15 ( return the current global and local dictionary, respectively, which may) 229.28 189.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(be useful to pass around for use by) 72 176.67 T
+2 F
+(exec) 227.8 176.67 T
+1 F
+(.) 254.2 176.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "44" 50
+%%Page: "45" 51
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(45) 530 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+585 292.5 598.5 720 R
+5 9 Q
+(\245) 0 -90 592.5 720 TF
+(Compound statements) 0 -90 592.5 711 TF
+585 292.5 598.5 720 R
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 16 Q
+(C) 99 709.33 T
+0 12.8 Q
+(HAPTER) 110.55 709.33 T
+0 16 Q
+(7:) 167.62 709.33 T
+(C) 198 709.33 T
+0 12.8 Q
+(OMPOUND) 209.55 709.33 T
+(STATEMENTS) 280.84 709.33 T
+1 11 Q
+0.72 (Compound statements contain \050groups of\051 other statements; they affect or control the execution of) 99 672.67 P
+0.31 (those other statements in some way. In general, compound statements span multiple lines, although) 99 659.67 P
+(in simple incarnations a whole compound statement may be contained in one line.) 99 646.67 T
+-0.48 (The) 99 627.67 P
+2 F
+-1.15 (if) 118.38 627.67 P
+1 F
+-0.48 (,) 131.58 627.67 P
+2 F
+-1.15 (while) 136.6 627.67 P
+1 F
+-0.48 ( and) 169.6 627.67 P
+2 F
+-1.15 (for) 190.02 627.67 P
+1 F
+-0.48 ( statements implement traditional control flow constructs.) 209.82 627.67 P
+2 F
+-1.15 (try) 463.12 627.67 P
+1 F
+-0.48 ( specifies ex-) 482.92 627.67 P
+-0.62 (ception handlers and/or cleanup code for a group of statements. Function and class definitions are also) 99 614.67 P
+(syntactically compound statements.) 99 601.67 T
+0.45 (Compound statements consist of one or more \324clauses\325. A clause consists of a header and a \324suite\325.) 99 582.67 P
+0.85 (The clause headers of a particular compound statement are all at the same indentation level. Each) 99 569.67 P
+0.28 (clause header begins with a uniquely identifying keyword and ends with a colon. A suite is a group) 99 556.67 P
+0.52 (of statements controlled by a clause. A suite can be one or more semicolon-separated simple state-) 99 543.67 P
+-0.15 (ments on the same line as the header, following the header\325s colon, or it can be one or more indented) 99 530.67 P
+-0.6 (statements on subsequent lines. Only the latter form of suite can contain nested compound statements;) 99 517.67 P
+0.67 (the following is illegal, mostly because it wouldn\325t be clear to which) 99 504.67 P
+2 F
+1.6 (if) 411.59 504.67 P
+1 F
+0.67 ( clause a following) 424.79 504.67 P
+2 F
+1.6 (else) 513.6 504.67 P
+1 F
+(clause would belong:) 99 491.67 T
+2 10 Q
+(if test1: if test2: print x) 99 473.33 T
+1 11 Q
+0.14 (Also note that the semicolon binds tighter than the colon in this context, so that in the following ex-) 99 448.67 P
+(ample, either all or none of the) 99 435.67 T
+2 F
+(print) 237.08 435.67 T
+1 F
+( statements are executed:) 270.08 435.67 T
+2 10 Q
+(if x < y < z: print x; print y; print z) 99 417.33 T
+1 11 Q
+(Summarizing:) 99 392.67 T
+2 10 Q
+(compound_stmt: if_stmt | while_stmt | for_stmt) 99 374.33 T
+( | try_stmt | funcdef | classdef) 99 362.33 T
+(suite: stmt_list NEWLINE | NEWLINE INDENT statement+ DEDENT) 99 350.33 T
+(statement: stmt_list NEWLINE | compound_stmt) 99 338.33 T
+(stmt_list: simple_stmt \050";" simple_stmt\051* [";"]) 99 326.33 T
+1 11 Q
+0.11 (Note that statements always end in a) 99 301.67 P
+2 F
+0.26 (NEWLINE) 263.19 301.67 P
+1 F
+0.11 ( possibly followed by a) 309.39 301.67 P
+2 F
+0.26 (DEDENT) 415.34 301.67 P
+1 F
+0.11 (. Also note that op-) 454.94 301.67 P
+0.11 (tional continuation clauses always begin with a keyword that cannot start a statement, thus there are) 99 288.67 P
+-0.05 (no ambiguities \050the \324dangling) 99 275.67 P
+2 F
+-0.12 (else) 231.41 275.67 P
+1 F
+-0.05 (\325 problem is solved in Python by requiring nested) 257.81 275.67 P
+2 F
+-0.12 (if) 477.66 275.67 P
+1 F
+-0.05 ( statements) 490.86 275.67 P
+(to be indented\051.) 99 262.67 T
+0.37 (The formatting of the grammar rules in the following sections places each clause on a separate line) 99 237.67 P
+(for clarity.) 99 224.67 T
+0 14 Q
+(7.1) 99 197.67 T
+(The) 135 197.67 T
+2 F
+(if) 163.78 197.67 T
+0 F
+( statement) 180.58 197.67 T
+1 11 Q
+(The) 99 172.67 T
+2 F
+(if) 118.86 172.67 T
+1 F
+( statement is used for conditional execution:) 132.05 172.67 T
+2 10 Q
+(if_stmt: "if" expression ":" suite) 99 154.33 T
+( \050"elif" expression ":" suite\051*) 99 142.33 T
+( ["else" ":" suite]) 99 130.33 T
+1 11 Q
+0.26 (It selects exactly one of the suites by evaluating the expressions one by one until one is found to be) 99 105.67 P
+-0.1 (true \050see section \322Boolean operations\323 on page) 99 92.67 P
+-0.1 (35 for the definition of true and false\051; then that suite) 307.63 92.67 P
+0.41 0.05 (is executed \050and no other part of the) 99 79.67 B
+2 F
+0.99 0.05 (if) 265.64 79.67 B
+1 F
+0.41 0.05 ( statement is executed or evaluated\051. If all expressions are) 278.95 79.67 B
+(false, the suite of the) 99 66.67 T
+2 F
+(else) 193.09 66.67 T
+1 F
+( clause, if present, is executed.) 219.49 66.67 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "45" 51
+%%Page: "46" 52
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(46) 76.5 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 14 Q
+(7.2) 72 710.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(The) 108 710.67 T
+7 F
+(while) 136.78 710.67 T
+0 F
+( statement) 178.78 710.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+(The) 72 685.67 T
+2 F
+(while) 91.86 685.67 T
+1 F
+( statement is used for repeated execution as long as an expression is true:) 124.86 685.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 10 Q
+(while_stmt: "while" expression ":" suite) 72 667.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( ["else" ":" suite]) 72 655.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+-0.37 (This repeatedly tests the expression and, if it is true, executes the first suite; if the expression is false \050which) 72 630.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.53 (may be the first time it is tested\051 the suite of the) 72 617.67 P
+2 F
+-1.28 (else) 278.27 617.67 P
+1 F
+-0.53 ( clause, if present, is executed and the loop terminates.) 304.67 617.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.41 0.07 (A) 72 592.67 B
+2 F
+0.99 0.07 (break) 83.25 592.67 B
+1 F
+0.41 0.07 ( statement executed in the first suite terminates the loop without executing the) 116.62 592.67 B
+2 F
+0.99 0.07 (else) 474.06 592.67 B
+1 F
+0.41 0.07 ( clause\325s) 500.75 592.67 B
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.02 (suite. A) 72 579.67 P
+2 F
+-0.04 (continue) 108.94 579.67 P
+1 F
+-0.02 ( statement executed in the first suite skips the rest of the suite and goes back to testing) 161.74 579.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(the expression.) 72 566.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 14 Q
+(7.3) 72 539.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(The) 108 539.67 T
+7 F
+(for) 136.78 539.67 T
+0 F
+( statement) 161.98 539.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+(The) 72 514.67 T
+2 F
+(for) 91.86 514.67 T
+1 F
+( statement is used to iterate over the elements of a sequence \050string, tuple or list\051:) 111.65 514.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 10 Q
+(for_stmt: "for" target_list "in" expression_list ":" suite) 72 496.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( ["else" ":" suite]) 72 484.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+0.29 (The expression list is evaluated once; it should yield a sequence. The suite is then executed once for each) 72 459.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.06 (item in the sequence, in the order of ascending indices. Each item in turn is assigned to the target list using) 72 446.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.16 (the standard rules for assignments, and then the suite is executed. When the items are exhausted \050which is) 72 433.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.42 (immediately when the sequence is empty\051, the suite in the) 72 420.67 P
+2 F
+-1 (else) 325.39 420.67 P
+1 F
+-0.42 ( clause, if present, is executed, and the loop) 351.79 420.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(terminates.) 72 407.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.41 0.07 (A) 72 382.67 B
+2 F
+0.99 0.07 (break) 83.25 382.67 B
+1 F
+0.41 0.07 ( statement executed in the first suite terminates the loop without executing the) 116.62 382.67 B
+2 F
+0.99 0.07 (else) 474.06 382.67 B
+1 F
+0.41 0.07 ( clause\325s) 500.75 382.67 B
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.34 (suite. A) 72 369.67 P
+2 F
+0.81 (continue) 109.65 369.67 P
+1 F
+0.34 ( statement executed in the first suite skips the rest of the suite and continues with the) 162.45 369.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(next item, or with the) 72 356.67 T
+2 F
+(else) 169.16 356.67 T
+1 F
+(clause if there was no next item.) 202.16 356.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(The suite may assign to the variable\050s\051 in the target list; this does not affect the next item assigned to it.) 72 331.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.39 (The target list is not deleted when the loop is finished, but if the sequence is empty, it will not have been) 72 306.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.23 (assigned to at all by the loop. Hint: the built-in function) 72 293.67 P
+2 F
+0.54 (range\050\051) 321.99 293.67 P
+1 F
+0.23 ( returns a sequence of integers suitable) 368.19 293.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.07 (to emulate the effect of Pascal\325s) 72 280.67 P
+2 F
+-0.17 (for i := a to b do) 215.15 280.67 P
+1 F
+-0.07 (; e.g.) 332.93 280.67 P
+2 F
+-0.17 (range\0503\051) 357.23 280.67 P
+1 F
+-0.07 ( returns the list) 410.03 280.67 P
+2 F
+-0.17 ([0, 1, 2]) 478.19 280.67 P
+1 F
+-0.07 (.) 537.25 280.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+4 F
+-0.28 (Warning:) 72 255.67 P
+1 F
+-0.28 ( There is a subtlety when the sequence is being modified by the loop \050this can only occur for mu-) 117.84 255.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.2 (table sequences, i.e. lists\051. An internal counter is used to keep track of which item is used next, and this is) 72 242.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.41 0.05 (incremented on each iteration. When this counter has reached the length of the sequence the loop termi-) 72 229.67 B
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.08 (nates. This means that if the suite deletes the current \050or a previous\051 item from the sequence, the next item) 72 216.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.08 (will be skipped \050since it gets the index of the current item which has already been treated\051. Likewise, if the) 72 203.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.06 (suite inserts an item in the sequence before the current item, the current item will be treated again the next) 72 190.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.17 (time through the loop. This can lead to nasty bugs that can be avoided by making a temporary copy using a) 72 177.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(slice of the whole sequence, e.g.) 72 164.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 10 Q
+(for x in a[:]:) 72 146.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( if x < 0: a.remove\050x\051) 72 134.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "46" 52
+%%Page: "47" 53
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(47) 530 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+585 292.5 598.5 720 R
+5 9 Q
+(\245) 0 -90 592.5 720 TF
+(Compound statements) 0 -90 592.5 711 TF
+585 292.5 598.5 720 R
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 14 Q
+(7.4) 99 710.67 T
+(The) 135 710.67 T
+7 F
+(try) 163.78 710.67 T
+0 F
+( statement) 188.98 710.67 T
+1 11 Q
+(The) 99 685.67 T
+2 F
+(try) 118.86 685.67 T
+1 F
+( statement specifies exception handlers and/or cleanup code for a group of statements:) 138.65 685.67 T
+2 10 Q
+(try_stmt: try_exc_stmt | try_fin_stmt) 99 667.33 T
+(try_exc_stmt: "try" ":" suite) 99 655.33 T
+( \050"except" [expression ["," target]] ":" suite\051+) 99 643.33 T
+( ["else" ":" suite]) 99 631.33 T
+(try_fin_stmt: "try" ":" suite) 99 619.33 T
+( "finally" ":" suite) 99 607.33 T
+1 11 Q
+-0.16 (There are two forms of) 99 582.67 P
+2 F
+-0.38 (try) 202.36 582.67 P
+1 F
+-0.16 ( statement:) 222.16 582.67 P
+2 F
+-0.38 (try...except) 272.56 582.67 P
+1 F
+-0.16 ( and) 351.76 582.67 P
+2 F
+-0.38 (try...finally) 372.82 582.67 P
+1 F
+-0.16 (. These forms can-) 458.62 582.67 P
+(not be mixed \050but they can be nested in each other\051.) 99 569.67 T
+0.25 (The) 99 544.67 P
+2 F
+0.6 (try...except) 119.1 544.67 P
+1 F
+0.25 ( form specifies one or more exception handlers \050the) 198.3 544.67 P
+2 F
+0.6 (except) 429.95 544.67 P
+1 F
+0.25 ( clauses\051. When) 469.55 544.67 P
+0.08 (no exception occurs in the) 99 531.67 P
+2 F
+0.19 (try) 217.62 531.67 P
+1 F
+0.08 ( clause, no exception handler is executed. When an exception occurs) 237.42 531.67 P
+-0.02 (in the) 99 518.67 P
+2 F
+-0.05 (try) 126.46 518.67 P
+1 F
+-0.02 ( suite, a search for an exception handler is started. This inspects the except clauses in turn) 146.26 518.67 P
+0.41 0 (until one is found that matches the exception. An expression-less except clause, if present, must be) 99 505.67 B
+0.03 (last; it matches any exception. For an except clause with an expression, that expression is evaluated,) 99 492.67 P
+0.41 0.01 (and the clause matches the exception if the resulting object is \322compatible\323 with the exception. An) 99 479.67 B
+-0.33 (object is compatible with an exception if it is either the object that identifies the exception, or \050for ex-) 99 466.67 P
+0.25 (ceptions that are classes\051 it is a base class of the exception, or it is a tuple containing an item that is) 99 453.67 P
+-0.28 (compatible with the exception. Note that the object identities must match, i.e. it must be the same ob-) 99 440.67 P
+(ject, not just an object with the same value.) 99 427.67 T
+0.36 (If no except clause matches the exception, the search for an exception handler continues in the sur-) 99 402.67 P
+(rounding code and on the invocation stack.) 99 389.67 T
+0.32 (If the evaluation of an expression in the header of an except clause raises an exception, the original) 99 364.67 P
+-0.41 (search for a handler is cancelled and a search starts for the new exception in the surrounding code and) 99 351.67 P
+(on the call stack \050it is treated as if the entire) 99 338.67 T
+2 F
+(try) 293.6 338.67 T
+1 F
+( statement raised the exception\051.) 313.4 338.67 T
+-0.29 (When a matching except clause is found, the exception\325s parameter is assigned to the target specified) 99 313.67 P
+0.08 (in that except clause, if present, and the except clause\325s suite is executed. When the end of this suite) 99 300.67 P
+-0.27 (is reached, execution continues normally after the entire try statement. \050This means that if two nested) 99 287.67 P
+-0.1 (handlers exist for the same exception, and the exception occurs in the try clause of the inner handler,) 99 274.67 P
+(the outer handler will not handle the exception.\051) 99 261.67 T
+-0.37 (Before an except clause\325s suite is executed, details about the exception are assigned to three variables) 99 236.67 P
+0.41 0.88 (in the) 99 223.67 B
+2 F
+0.99 0.88 (sys) 133.46 223.67 B
+1 F
+0.41 0.88 ( module:) 155.9 223.67 B
+2 F
+0.99 0.88 (sys.exc_type) 206.17 223.67 B
+1 F
+0.41 0.88 ( receives the object identifying the exception;) 295.9 223.67 B
+2 F
+0.99 0.05 (sys.exc_value) 99 210.67 B
+1 F
+0.41 0.05 ( receives the exception\325s parameter;) 185.49 210.67 B
+2 F
+0.99 0.05 (sys.exc_traceback) 350.49 210.67 B
+1 F
+0.41 0.05 ( receives a trace-) 463.6 210.67 B
+(back object \050see page) 99 197.67 T
+(17\051 identifying the point in the program where the exception occurred.) 196.13 197.67 T
+-0.36 (The optional) 99 172.67 P
+2 F
+-0.86 (else) 156.95 172.67 P
+1 F
+-0.36 ( clause is executed when no exception occurs in the) 183.35 172.67 P
+2 F
+-0.86 (try) 409.5 172.67 P
+1 F
+-0.36 ( clause. Exceptions in the) 429.3 172.67 P
+2 F
+(else) 99 159.67 T
+1 F
+( clause are not handled by the preceding) 125.4 159.67 T
+2 F
+(except) 305.02 159.67 T
+1 F
+( clauses.) 344.62 159.67 T
+-0.52 (The) 99 134.67 P
+2 F
+-1.26 (try...finally) 118.33 134.67 P
+1 F
+-0.52 ( form specifies a \324cleanup\325 handler. The) 204.13 134.67 P
+2 F
+-1.26 (try) 378.86 134.67 P
+1 F
+-0.52 ( clause is executed. When no ex-) 398.65 134.67 P
+0.4 (ception occurs, the) 99 121.67 P
+2 F
+0.96 (finally) 185.73 121.67 P
+1 F
+0.4 ( clause is executed. When an exception occurs in the) 231.93 121.67 P
+2 F
+0.96 (try) 470.22 121.67 P
+1 F
+0.4 ( clause, the) 490.02 121.67 P
+-0.09 (exception is temporarily saved, the) 99 108.67 P
+2 F
+-0.23 (finally) 254.95 108.67 P
+1 F
+-0.09 ( clause is executed, and then the saved exception is re-) 301.15 108.67 P
+-0.31 (raised. If the) 99 95.67 P
+2 F
+-0.76 (finally) 156.09 95.67 P
+1 F
+-0.31 ( clause raises another exception or executes a) 202.29 95.67 P
+2 F
+-0.76 (return) 401.98 95.67 P
+1 F
+-0.31 (,) 441.58 95.67 P
+2 F
+-0.76 (break) 446.77 95.67 P
+1 F
+-0.31 ( or) 479.77 95.67 P
+2 F
+-0.76 (contin-) 493.8 95.67 P
+(ue) 99 82.67 T
+1 F
+( statement, the saved exception is lost.) 112.2 82.67 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "47" 53
+%%Page: "48" 54
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(48) 76.5 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+0.11 (When a) 72 712.67 P
+2 F
+0.26 (return) 108.87 712.67 P
+1 F
+0.11 ( or) 148.47 712.67 P
+2 F
+0.26 (break) 163.34 712.67 P
+1 F
+0.11 ( statement is executed in the) 196.34 712.67 P
+2 F
+0.26 (try) 324.08 712.67 P
+1 F
+0.11 ( suite of a) 343.88 712.67 P
+2 F
+0.26 (try...finally) 390.13 712.67 P
+1 F
+0.11 ( statement, the) 475.93 712.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 F
+0.95 (finally) 72 699.67 P
+1 F
+0.4 ( clause is also executed \324on the way out\325. A) 118.2 699.67 P
+2 F
+0.95 (continue) 316.14 699.67 P
+1 F
+0.4 ( statement is illegal in the) 368.94 699.67 P
+2 F
+0.95 (try) 486.82 699.67 P
+1 F
+0.4 ( clause.) 506.61 699.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(\050The reason is a problem with the current implementation \321 this restriction may be lifted in the future\051.) 72 686.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 14 Q
+(7.5) 72 659.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Function definitions) 108 659.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+2.8 (A function definition defines a user-defined function object \050see \322The standard type hierarchy\323 on) 72 634.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(page) 72 621.67 T
+(12\051) 95.52 621.67 T
+1 8.8 Q
+(1) 110.18 626.07 T
+1 11 Q
+(:) 114.58 621.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 10 Q
+(funcdef: "def" funcname "\050" [parameter_list] "\051" ":" suite) 72 603.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(parameter_list: \050defparameter ","\051* \050"*" identifier [, "**" identifier]) 72 591.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( | "**" identifier) 72 579.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( | defparameter [","]\051) 72 567.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(defparameter: parameter ["=" expression]) 72 555.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(sublist: parameter \050"," parameter\051* [","]) 72 543.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(parameter: identifier | "\050" sublist "\051") 72 531.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(funcname: identifier) 72 519.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+0.05 (A function definition is an executable statement. Its execution binds the function name in the current local) 72 494.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.04 (name space to a function object \050a wrapper around the executable code for the function\051. This function ob-) 72 481.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.41 0.06 (ject contains a reference to the current global name space as the global name space to be used when the) 72 468.67 B
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(function is called.) 72 455.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.41 0.04 (The function definition does not execute the function body; this gets executed only when the function is) 72 430.67 B
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(called.) 72 417.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.19 (When one or more top-level parameters have the form) 72 392.67 P
+3 F
+-0.19 (parameter = expression) 311.95 392.67 P
+1 F
+-0.19 (, the function is said to have) 417.38 392.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 (\322default parameter values\323. Default parameter values are evaluated when the function definition is execut-) 72 379.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.15 (ed. For a parameter with a default value, the correponding argument may be omitted from a call, in which) 72 366.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.46 (case the parameter\325s default value is substituted. If a parameter has a default value, all following parameters) 72 353.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(must also have a default value \321 this is a syntactic restriction that is not expressed by the grammar.) 72 340.67 T
+1 8.8 Q
+(2) 511.64 345.07 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+-0.45 (Function call semantics are described in section \322Calls\323 on page) 72 315.67 P
+-0.45 (31. When a user-defined function is called,) 353.3 315.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.17 (first missing arguments for which a default value exists are supplied; then the arguments \050a.k.a. actual pa-) 72 302.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(rameters\051 are bound to the \050formal\051 parameters, as follows:) 72 289.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(\245) 72 270.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(If there are no formal parameters, there must be no arguments.) 86.4 270.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(\245) 72 251.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.55 (If the formal parameter list does not end in a star followed by an identifier, there must be exactly as many) 86.4 251.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.39 (arguments as there are parameters in the formal parameter list \050at the top level\051; the arguments are as-) 86.4 238.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.31 (signed to the formal parameters one by one. Note that the presence or absence of a trailing comma at the) 86.4 225.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.55 (top level in either the formal or the actual parameter list makes no difference. The assignment to a formal) 86.4 212.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.58 (parameter is performed as if the parameter occurs on the left hand side of an assignment statement whose) 86.4 199.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(right hand side\325s value is that of the argument.) 86.4 186.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(\245) 72 167.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0.34 (If the formal parameter list ends in a star followed by an identifier, preceded by zero or more comma-) 86.4 167.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.63 (followed parameters, there must be at least as many arguments as there are parameters preceding the star.) 86.4 154.67 P
+0 0 0 1 0 0 0 K
+72 124 540 139 C
+0 0 0 1 0 0 0 K
+81 137 225 137 2 L
+0.5 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+0 0 0 1 0 0 0 K
+0 0 612 792 C
+0 0 0 1 0 0 0 K
+1 11 Q
+0 X
+0 0 0 1 0 0 0 K
+(1.) 81 116.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+-0.3 (The new syntax to receive arbitrary keyword arguments is not yet documented in this manual. See) 94.5 116.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(chapter 12 of the Tutorial.) 94.46 103.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(2.) 81 90.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+6.81 (Currently this is not checked; instead,) 94.5 90.67 P
+2 F
+16.33 (def f\050a=1,b\051) 304.29 90.67 P
+1 F
+6.81 ( is interpreted as) 399.83 90.67 P
+2 F
+16.33 (def) 502.2 90.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(f\050a=1,b=None\051) 94.46 77.67 T
+1 F
+(.) 180.26 77.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "48" 54
+%%Page: "49" 55
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(49) 530 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+585 292.5 598.5 720 R
+5 9 Q
+(\245) 0 -90 592.5 720 TF
+(Compound statements) 0 -90 592.5 711 TF
+585 292.5 598.5 720 R
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+-0.2 (Call this number) 113.4 712.67 P
+3 F
+-0.2 (N) 188.9 712.67 P
+1 F
+-0.2 (. The first) 196.23 712.67 P
+3 F
+-0.2 (N) 241.47 712.67 P
+1 F
+-0.2 ( arguments are assigned to the corresponding formal parameters in) 248.81 712.67 P
+0.33 (the way descibed above. A tuple containing the remaining arguments, if any, is then assigned to) 113.4 699.67 P
+0.58 (the identifier following the star. This variable will always be a tuple: if there are no extra argu-) 113.4 686.67 P
+(ments, its value is) 113.4 673.67 T
+2 F
+(\050\051) 194.99 673.67 T
+1 F
+(, if there is just one extra argument, it is a singleton tuple.) 208.19 673.67 T
+-0.1 (Note that the \324variable length parameter list\325 feature only works at the top level of the parameter list;) 99 648.67 P
+-0.15 (individual parameters use a model corresponding more closely to that of ordinary assignment. While) 99 635.67 P
+0.36 (the latter model is generally preferable, because of the greater type safety it offers \050wrong-sized tu-) 99 622.67 P
+0.18 (ples aren\325t silently mistreated\051, variable length parameter lists are a sufficiently accepted practice in) 99 609.67 P
+-0.37 (most programming languages that a compromise has been worked out. \050And anyway, assignment has) 99 596.67 P
+(no equivalent for empty argument lists.\051) 99 583.67 T
+-0.07 (It is also possible to create anonymous functions \050functions not bound to a name\051, for immediate use) 99 558.67 P
+(in expressions. This uses lambda forms, described in section \322Boolean operations\323 on page) 99 545.67 T
+(35.) 502.58 545.67 T
+0 14 Q
+(7.6) 99 518.67 T
+(Class definitions) 135 518.67 T
+1 11 Q
+(A class definition defines a class object \050see section \322The standard type hierarchy\323 on page) 99 493.67 T
+(12\051:) 502.54 493.67 T
+2 10 Q
+(classdef: "class" classname [inheritance] ":" suite) 99 475.33 T
+(inheritance: "\050" [expression_list] "\051") 99 463.33 T
+(classname: identifier) 99 451.33 T
+1 11 Q
+0.41 0.05 (A class definition is an executable statement. It first evaluates the inheritance list, if present. Each) 99 426.67 B
+-0.52 (item in the inheritance list should evaluate to a class object. The class\325s suite is then executed in a new) 99 413.67 P
+-0.27 (execution frame \050see section \322Code blocks, execution frames, and name spaces\323 on page) 99 400.67 P
+-0.27 (23\051, using a) 488.9 400.67 P
+-0.11 (newly created local name space and the original global name space. \050Usually, the suite contains only) 99 387.67 P
+0.25 (function definitions.\051 When the class\325s suite finishes execution, its execution frame is discarded but) 99 374.67 P
+0.41 0.09 (its local name space is saved. A class object is then created using the inheritance list for the base) 99 361.67 B
+0.41 0.01 (classes and the saved local name space for the attribute dictionary. The class name is bound to this) 99 348.67 B
+(class object in the original local name space.) 99 335.67 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "49" 55
+%%Page: "50" 56
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(50) 76.5 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "50" 56
+%%Page: "51" 57
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(51) 530 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+585 292.5 598.5 720 R
+5 9 Q
+(\245) 0 -90 592.5 720 TF
+(Top-level components) 0 -90 592.5 711 TF
+585 292.5 598.5 720 R
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 16 Q
+(C) 99 709.33 T
+0 12.8 Q
+(HAPTER) 110.55 709.33 T
+0 16 Q
+(8:) 167.62 709.33 T
+(T) 198 709.33 T
+0 12.8 Q
+(OP) 207.78 709.33 T
+0 16 Q
+(-) 226.27 709.33 T
+0 12.8 Q
+(LEVEL) 231.6 709.33 T
+(COMPONENTS) 277.3 709.33 T
+1 11 Q
+0.14 (The Python interpreter can get its input from a number of sources: from a script passed to it as stan-) 99 672.67 P
+-0.54 (dard input or as program argument, typed in interactively, from a module source file, etc. This chapter) 99 659.67 P
+(gives the syntax used in these cases.) 99 646.67 T
+0 14 Q
+(8.1) 99 619.67 T
+(Complete Python programs) 135 619.67 T
+1 11 Q
+-0.46 (While a language specification need not prescribe how the language interpreter is invoked, it is useful) 99 594.67 P
+0.35 (to have a notion of a complete Python program. A complete Python program is executed in a mini-) 99 581.67 P
+-0.51 (mally initialized environment: all built-in and standard modules are available, but none have been ini-) 99 568.67 P
+0.92 (tialized, except for) 99 555.67 P
+2 F
+2.2 (sys) 186.68 555.67 P
+1 F
+0.92 ( \050various system services\051,) 206.48 555.67 P
+2 F
+2.2 (__builtin__) 329.6 555.67 P
+1 F
+0.92 ( \050built-in functions, exceptions) 402.2 555.67 P
+-0.06 (and) 99 542.67 P
+2 F
+-0.16 (None) 117.57 542.67 P
+1 F
+-0.06 (\051 and) 143.97 542.67 P
+2 F
+-0.16 (__main__) 168.88 542.67 P
+1 F
+-0.06 (. The latter is used to provide the local and global name space for execu-) 221.68 542.67 P
+(tion of the complete program.) 99 529.67 T
+(The syntax for a complete Python program is that for file input, described in the next section.) 99 504.67 T
+0.21 (The interpreter may also be invoked in interactive mode; in this case, it does not read and execute a) 99 479.67 P
+0.41 0.02 (complete program but reads and executes one statement \050possibly compound\051 at a time. The initial) 99 466.67 B
+-0.16 (environment is identical to that of a complete program; each statement is executed in the name space) 99 453.67 P
+(of) 99 440.67 T
+2 F
+(__main__) 110.91 440.67 T
+1 F
+(.) 163.71 440.67 T
+0.11 (Under UNIX , a complete program can be passed to the interpreter in three forms: with the) 99 415.67 P
+4 F
+0.11 (-c) 502.92 415.67 P
+3 F
+0.11 (string) 514.33 415.67 P
+1 F
+-0.2 (command line option, as a file passed as the first command line argument, or as standard input. If the) 99 402.67 P
+-0.28 (file or standard input is a tty device, the interpreter enters interactive mode; otherwise, it executes the) 99 389.67 P
+(file as a complete program.) 99 376.67 T
+0 14 Q
+(8.2) 99 349.67 T
+(File input) 135 349.67 T
+1 11 Q
+(All input read from non-interactive files has the same form:) 99 324.67 T
+2 10 Q
+(file_input: \050NEWLINE | statement\051*) 99 306.33 T
+1 11 Q
+(This syntax is used in the following situations:) 99 281.67 T
+(\245) 99 262.67 T
+(when parsing a complete Python program \050from a file or from a string\051;) 113.4 262.67 T
+(\245) 99 243.67 T
+(when parsing a module;) 113.4 243.67 T
+(\245) 99 224.67 T
+(when parsing a string passed to the) 113.4 224.67 T
+2 F
+(exec) 270.13 224.67 T
+1 F
+( statement;) 296.53 224.67 T
+0 14 Q
+(8.3) 99 197.67 T
+(Interactive input) 135 197.67 T
+1 11 Q
+(Input in interactive mode is parsed using the following grammar:) 99 172.67 T
+2 10 Q
+(interactive_input: [stmt_list] NEWLINE | compound_stmt NEWLINE) 99 154.33 T
+1 11 Q
+-0.43 (Note that a \050top-level\051 compound statement must be followed by a blank line in interactive mode; this) 99 129.67 P
+(is needed to help the parser detect the end of the input.) 99 116.67 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "51" 57
+%%Page: "52" 58
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(52) 76.5 37.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 14 Q
+(8.4) 72 710.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Expression input) 108 710.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+-0.1 (There are two forms of expression input. Both ignore leading whitespace. The string argument to) 72 685.67 P
+2 F
+-0.23 (eval\050\051) 500.4 685.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 F
+(must have the following form:) 72 672.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 10 Q
+(eval_input: expression_list NEWLINE*) 72 654.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+(The input line read by) 72 629.67 T
+2 F
+(input\050\051) 171.9 629.67 T
+1 F
+( must have the following form:) 218.1 629.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+2 10 Q
+(input_input: expression_list NEWLINE) 72 611.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+0.37 (Note: to read \324raw\325 input line without interpretation, you can use the built-in function) 72 586.67 P
+2 F
+0.89 (raw_input\050\051) 455.12 586.67 P
+1 F
+0.37 ( or) 527.72 586.67 P
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(the) 72 573.67 T
+2 F
+(readline\050\051) 88.19 573.67 T
+1 F
+( method of file objects.) 154.19 573.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "52" 58
+%%Page: "53" 59
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+1 10 Q
+0 X
+0 0 0 1 0 0 0 K
+(53) 525.5 32.83 T
+0 0 0 1 0 0 0 K
+315 639 315 63 2 L
+0.5 H
+2 Z
+N
+85.5 639 85.5 63 2 L
+N
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 12 Q
+(Symbols) 94.5 631 T
+1 11 Q
+(#) 94.5 617.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 104.5 617.67 T
+(3) 264.5 617.67 T
+(__abs__) 94.5 604.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . .) 134.75 604.67 T
+(22) 259 604.67 T
+(__add__) 94.5 591.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . .) 137.5 591.67 T
+(21) 259 591.67 T
+(__and__) 94.5 578.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . .) 137.5 578.67 T
+(21) 259 578.67 T
+(__bases__) 94.5 565.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . .) 145.75 565.67 T
+(16) 259 565.67 T
+(__builtin__) 94.5 552.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . .) 148.5 552.67 T
+(24) 242 552.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 253 552.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(51) 259 552.67 T
+(__builtins__) 94.5 539.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . .) 154 539.67 T
+(24) 259 539.67 T
+(__call__) 94.5 526.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . .) 137.5 526.67 T
+(15) 242 526.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 253 526.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(20) 259 526.67 T
+(__class__) 94.5 513.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . .) 143 513.67 T
+(16) 259 513.67 T
+(__cmp__) 94.5 500.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . .) 140.25 500.67 T
+(19) 259 500.67 T
+(__coerce__) 94.5 487.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . .) 148.5 487.67 T
+(22) 259 487.67 T
+(__del__) 94.5 474.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . .) 134.75 474.67 T
+(18) 259 474.67 T
+(exception in) 112.5 461.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . .) 170.5 461.67 T
+(18) 259 461.67 T
+(__delattr__) 94.5 448.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . .) 148.5 448.67 T
+(16) 242 448.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 253 448.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(20) 259 448.67 T
+(__delitem__) 94.5 435.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . .) 154 435.67 T
+(20) 259 435.67 T
+(__delslice__) 94.5 422.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . .) 154 422.67 T
+(21) 259 422.67 T
+(__dict__) 94.5 409.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . .) 137.5 409.67 T
+(15) 225 409.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(\320) 236 409.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(16) 242 409.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 253 409.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(20) 259 409.67 T
+(__div__) 94.5 396.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . .) 134.75 396.67 T
+(21) 259 396.67 T
+(__divmod__) 94.5 383.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . .) 154 383.67 T
+(21) 259 383.67 T
+(__doc__) 94.5 370.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . .) 137.5 370.67 T
+(14) 242 370.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(\320) 253 370.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(16) 259 370.67 T
+(__file__) 94.5 357.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . .) 134.75 357.67 T
+(15) 259 357.67 T
+(__float__) 94.5 344.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . .) 140.25 344.67 T
+(22) 259 344.67 T
+(__getattr__) 94.5 331.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . .) 148.5 331.67 T
+(16) 242 331.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 253 331.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(19) 259 331.67 T
+(__getitem__) 94.5 318.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . .) 154 318.67 T
+(18) 242 318.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 253 318.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(20) 259 318.67 T
+(__getslice__) 94.5 305.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . .) 154 305.67 T
+(20) 259 305.67 T
+(__hash__) 94.5 292.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . .) 140.25 292.67 T
+(19) 259 292.67 T
+(__hex__) 94.5 279.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . .) 137.5 279.67 T
+(22) 259 279.67 T
+(__init__) 94.5 266.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . .) 134.75 266.67 T
+(15) 242 266.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 253 266.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(18) 259 266.67 T
+(__int__) 94.5 253.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . .) 132 253.67 T
+(22) 259 253.67 T
+(__invert__) 94.5 240.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . .) 145.75 240.67 T
+(22) 259 240.67 T
+(__len__) 94.5 227.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . .) 134.75 227.67 T
+(19) 242 227.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(\320) 253 227.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(20) 259 227.67 T
+(__long__) 94.5 214.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . .) 140.25 214.67 T
+(22) 259 214.67 T
+(__lshift__) 94.5 201.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . .) 143 201.67 T
+(21) 259 201.67 T
+(__main__) 94.5 188.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . .) 143 188.67 T
+(24) 242 188.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 253 188.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(51) 259 188.67 T
+(__members__) 94.5 175.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . .) 162.25 175.67 T
+(12) 259 175.67 T
+(__methods__) 94.5 162.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . .) 159.5 162.67 T
+(12) 259 162.67 T
+(__mod__) 94.5 149.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . .) 140.25 149.67 T
+(21) 259 149.67 T
+(__mul__) 94.5 136.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . .) 137.5 136.67 T
+(21) 259 136.67 T
+(__name__) 94.5 123.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . .) 145.75 123.67 T
+(14) 242 123.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(\320) 253 123.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(16) 259 123.67 T
+(__neg__) 94.5 110.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . .) 137.5 110.67 T
+(21) 259 110.67 T
+(__nonzero__) 94.5 97.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . .) 156.75 97.67 T
+(19) 242 97.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(\320) 253 97.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(20) 259 97.67 T
+(__oct__) 94.5 84.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . .) 134.75 84.67 T
+(22) 259 84.67 T
+(__or__) 94.5 71.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . .) 129.25 71.67 T
+(21) 259 71.67 T
+(__pos__) 324 631.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . .) 365.75 631.67 T
+(21) 488.5 631.67 T
+(__pow__) 324 618.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . .) 368.5 618.67 T
+(21) 488.5 618.67 T
+(__radd__) 324 605.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . .) 371.25 605.67 T
+(21) 488.5 605.67 T
+(__rand__) 324 592.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . .) 371.25 592.67 T
+(21) 488.5 592.67 T
+(__rdiv__) 324 579.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . .) 368.5 579.67 T
+(21) 488.5 579.67 T
+(__rdivmod__) 324 566.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . .) 387.75 566.67 T
+(21) 488.5 566.67 T
+(__repr__) 324 553.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . .) 368.5 553.67 T
+(18) 471.5 553.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(\320) 482.5 553.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(19) 488.5 553.67 T
+(__rlshift__) 324 540.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . .) 376.75 540.67 T
+(21) 488.5 540.67 T
+(__rmod__) 324 527.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . .) 374 527.67 T
+(21) 488.5 527.67 T
+(__rmul__) 324 514.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . .) 371.25 514.67 T
+(21) 488.5 514.67 T
+(__ror__) 324 501.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . .) 363 501.67 T
+(21) 488.5 501.67 T
+(__rpow__) 324 488.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . .) 374 488.67 T
+(21) 488.5 488.67 T
+(__rrshift__) 324 475.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . .) 376.75 475.67 T
+(21) 488.5 475.67 T
+(__rshift__) 324 462.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . .) 374 462.67 T
+(21) 488.5 462.67 T
+(__rsub__) 324 449.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . .) 368.5 449.67 T
+(21) 488.5 449.67 T
+(__rxor__) 324 436.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . .) 368.5 436.67 T
+(21) 488.5 436.67 T
+(__self__) 324 423.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . .) 365.75 423.67 T
+(15) 488.5 423.67 T
+(__setattr__) 324 410.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . .) 376.75 410.67 T
+(16) 471.5 410.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 482.5 410.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(19) 488.5 410.67 T
+(__setitem__) 324 397.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . .) 382.25 397.67 T
+(20) 488.5 397.67 T
+(__setslice__) 324 384.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . .) 382.25 384.67 T
+(20) 488.5 384.67 T
+(__str__) 324 371.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . .) 360.25 371.67 T
+(19) 488.5 371.67 T
+(__sub__) 324 358.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . .) 365.75 358.67 T
+(21) 488.5 358.67 T
+(__xor__) 324 345.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . .) 365.75 345.67 T
+(21) 488.5 345.67 T
+0 12 Q
+(A) 324 324 T
+1 11 Q
+(abstraction) 324 310.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . .) 376.75 310.67 T
+(11) 488.5 310.67 T
+(actual) 324 297.67 T
+(parameter) 342 284.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . .) 390.5 284.67 T
+(48) 488.5 284.67 T
+(addition) 324 271.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . .) 365.75 271.67 T
+(33) 488.5 271.67 T
+(and) 324 258.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . . . .) 343.75 258.67 T
+(35) 488.5 258.67 T
+(bit-wise) 342 245.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . .) 382.25 245.67 T
+(34) 488.5 245.67 T
+(argument) 324 232.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . .) 371.25 232.67 T
+(48) 488.5 232.67 T
+(default value) 342 219.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . .) 404.25 219.67 T
+(31) 488.5 219.67 T
+(function) 342 206.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . .) 382.25 206.67 T
+(14) 488.5 206.67 T
+(keyword) 342 193.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . .) 385 193.67 T
+(31) 488.5 193.67 T
+(arguments) 324 180.67 T
+(positional) 342 167.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . .) 390.5 167.67 T
+(31) 488.5 167.67 T
+(array of bytes) 324 154.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . .) 387.75 154.67 T
+(13) 488.5 154.67 T
+(ASCII) 324 141.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . .) 357.5 141.67 T
+(1) 442.5 141.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 448 141.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(6) 454 141.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(\320) 459.5 141.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(7) 465.5 141.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 471 141.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(9) 477 141.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 482.5 141.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(13) 488.5 141.67 T
+(assignment) 324 128.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . .) 376.75 128.67 T
+(13) 471.5 128.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 482.5 128.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(30) 488.5 128.67 T
+(attribute) 342 115.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . .) 382.25 115.67 T
+(40) 488.5 115.67 T
+(class) 360 102.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . .) 385 102.67 T
+(16) 488.5 102.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 12 Q
+4.8 (I) 288 670 S
+0 9.6 Q
+4.8 (NDEX) 296.13 670 S
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "53" 59
+%%Page: "54" 60
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 12 Q
+0 X
+0 0 0 1 0 0 0 K
+4.8 (I) 270 748 S
+0 9.6 Q
+4.8 (NDEX) 278.13 748 S
+0 0 0 1 0 0 0 K
+1 10 Q
+(54) 76.5 32.83 T
+0 0 0 1 0 0 0 K
+297 720 297 63 2 L
+0.5 H
+2 Z
+N
+67.5 720 67.5 63 2 L
+N
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+(class instance) 112.5 712.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . .) 176 712.67 T
+(16) 241 712.67 T
+(attributes) 94.5 699.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . .) 140.25 699.67 T
+(39) 241 699.67 T
+(formal parameter) 94.5 686.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . .) 176 686.67 T
+(48) 241 686.67 T
+(list) 94.5 673.67 T
+(target) 112.5 660.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . .) 143 660.67 T
+(40) 241 660.67 T
+(slicing) 94.5 647.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . .) 129.25 647.67 T
+(40) 241 647.67 T
+(subscription) 94.5 634.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . .) 154 634.67 T
+(40) 241 634.67 T
+(atom) 76.5 621.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . . .) 101.75 621.67 T
+(27) 241 621.67 T
+(attribute) 76.5 608.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . .) 118.25 608.67 T
+(12) 241 608.67 T
+(class) 94.5 595.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . .) 121 595.67 T
+(16) 241 595.67 T
+(class instance) 94.5 582.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . .) 159.5 582.67 T
+(16) 241 582.67 T
+(generic) 94.5 569.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . .) 132 569.67 T
+(12) 241 569.67 T
+(special) 94.5 556.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . .) 129.25 556.67 T
+(12) 241 556.67 T
+(attribute access) 76.5 543.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . .) 148.5 543.67 T
+(19) 241 543.67 T
+(attribute search) 76.5 530.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . .) 148.5 530.67 T
+(15) 241 530.67 T
+(AttributeError) 76.5 517.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . .) 143 517.67 T
+(19) 207 517.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 218 517.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(29) 224 517.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 235 517.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(40) 241 517.67 T
+0 12 Q
+(B) 76.5 496 T
+1 11 Q
+(back-quotes) 76.5 482.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . .) 134.75 482.67 T
+(18) 224 482.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 235 482.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(29) 241 482.67 T
+(backslash) 76.5 469.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . .) 123.75 469.67 T
+(6) 246.5 469.67 T
+(backslash character) 76.5 456.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . .) 167.75 456.67 T
+(3) 246.5 456.67 T
+(binary arithmetic operations) 76.5 443.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . .) 206.25 443.67 T
+(21) 241 443.67 T
+(binding) 76.5 430.67 T
+(name) 94.5 417.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . .) 123.75 417.67 T
+(27) 190 417.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 201 417.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(43) 207 417.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 218 417.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(48) 224 417.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(\320) 235 417.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(49) 241 417.67 T
+(global) 112.5 404.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . .) 143 404.67 T
+(44) 241 404.67 T
+(bitwise operations) 76.5 391.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . .) 162.25 391.67 T
+(21) 241 391.67 T
+(blank line) 76.5 378.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . .) 123.75 378.67 T
+(4) 246.5 378.67 T
+(block) 76.5 365.67 T
+(code) 94.5 352.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . .) 121 352.67 T
+(23) 241 352.67 T
+(BNF) 76.5 339.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . .) 101.75 339.67 T
+(1) 229.5 339.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 235 339.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(27) 241 339.67 T
+(break) 76.5 326.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . .) 104.5 326.67 T
+(42) 207 326.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 218 326.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(46) 224 326.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(\320) 235 326.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(47) 241 326.67 T
+(built-in) 76.5 313.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . .) 112.75 313.67 T
+(15) 224 313.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 235 313.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(32) 241 313.67 T
+(built-in method) 76.5 300.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . .) 148.5 300.67 T
+(32) 241 300.67 T
+(byte) 76.5 287.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . . . . .) 99 287.67 T
+(13) 241 287.67 T
+(bytecode) 76.5 274.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . .) 121 274.67 T
+(16) 241 274.67 T
+(byte-compile) 76.5 261.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . .) 140.25 261.67 T
+(16) 241 261.67 T
+0 12 Q
+(C) 76.5 240 T
+1 11 Q
+(C) 76.5 226.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . .) 88 226.67 T
+(7) 178.5 226.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 184 226.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(12) 190 226.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 201 226.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(15) 207 226.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(\320) 218 226.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(16) 224 226.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 235 226.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(34) 241 226.67 T
+(call) 76.5 213.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . . . .) 96.25 213.67 T
+(31) 241 213.67 T
+(built-in function) 94.5 200.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . .) 170.5 200.67 T
+(32) 241 200.67 T
+(built-in method) 94.5 187.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . .) 167.75 187.67 T
+(32) 241 187.67 T
+(class instance) 94.5 174.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . .) 159.5 174.67 T
+(32) 241 174.67 T
+(class object) 94.5 161.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . .) 151.25 161.67 T
+(15) 207 161.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(\320) 218 161.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(16) 224 161.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 235 161.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(32) 241 161.67 T
+(function) 94.5 148.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . .) 134.75 148.67 T
+(32) 224 148.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 235 148.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(48) 241 148.67 T
+(user-defined) 112.5 135.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . .) 170.5 135.67 T
+(32) 224 135.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 235 135.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(48) 241 135.67 T
+(function invocation) 94.5 122.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . .) 184.25 122.67 T
+(14) 241 122.67 T
+(instance) 94.5 109.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . .) 134.75 109.67 T
+(32) 241 109.67 T
+(method) 94.5 96.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . .) 132 96.67 T
+(32) 241 96.67 T
+(procedure) 94.5 83.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . .) 143 83.67 T
+(39) 241 83.67 T
+(callable) 76.5 70.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . .) 115.5 70.67 T
+(14) 224 70.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 235 70.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(31) 241 70.67 T
+(characters) 306 712.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . .) 354.75 712.67 T
+(30) 470.5 712.67 T
+(chr) 306 699.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . . . . . .) 324.5 699.67 T
+(13) 470.5 699.67 T
+(circular references) 306 686.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . .) 393.25 686.67 T
+(11) 470.5 686.67 T
+(class) 306 673.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . .) 332.75 673.67 T
+(15) 419.5 673.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(\320) 430.5 673.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(16) 436.5 673.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 447.5 673.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(32) 453.5 673.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 464.5 673.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(49) 470.5 673.67 T
+(class instance) 306 660.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . .) 371.25 660.67 T
+(15) 470.5 660.67 T
+(clause) 306 647.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . .) 338.25 647.67 T
+(45) 470.5 647.67 T
+(close) 306 634.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . . .) 332.75 634.67 T
+(11) 470.5 634.67 T
+(code block) 306 621.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . .) 357.5 621.67 T
+(23) 419.5 621.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 430.5 621.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(27) 436.5 621.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 447.5 621.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(43) 453.5 621.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(\320) 464.5 621.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(44) 470.5 621.67 T
+(code generation phase) 306 608.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . .) 407 608.67 T
+(41) 470.5 608.67 T
+(code object) 306 595.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . .) 360.25 595.67 T
+(16) 470.5 595.67 T
+(co_argcount) 324 582.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . .) 382.25 582.67 T
+(17) 470.5 582.67 T
+(co_code) 324 569.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . .) 365.75 569.67 T
+(17) 470.5 569.67 T
+(co_consts) 324 556.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . .) 371.25 556.67 T
+(17) 470.5 556.67 T
+(co_filename) 324 543.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . .) 382.25 543.67 T
+(17) 470.5 543.67 T
+(co_flags) 324 530.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . .) 365.75 530.67 T
+(17) 470.5 530.67 T
+(co_names) 324 517.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . .) 371.25 517.67 T
+(17) 470.5 517.67 T
+(co_nlocals) 324 504.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . .) 376.75 504.67 T
+(17) 470.5 504.67 T
+(co_varnames) 324 491.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . .) 387.75 491.67 T
+(17) 470.5 491.67 T
+(coercion) 306 478.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . .) 349.25 478.67 T
+(27) 453.5 478.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 464.5 478.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(32) 470.5 478.67 T
+(coercion rules) 306 465.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . .) 371.25 465.67 T
+(22) 470.5 465.67 T
+(colon) 306 452.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . . . .) 335.5 452.67 T
+(45) 470.5 452.67 T
+(comma) 306 439.67 T
+(trailing) 324 426.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . .) 360.25 426.67 T
+(36) 453.5 426.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 464.5 426.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(42) 470.5 426.67 T
+(comma operator) 306 413.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . .) 382.25 413.67 T
+(28) 470.5 413.67 T
+(command line) 306 400.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . .) 374 400.67 T
+(51) 470.5 400.67 T
+(comment) 306 387.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . .) 352 387.67 T
+(3) 476 387.67 T
+(comparison) 306 374.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . .) 363 374.67 T
+(34) 470.5 374.67 T
+(chaining) 324 361.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . .) 365.75 361.67 T
+(34) 470.5 361.67 T
+(comparison operator) 306 348.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . .) 401.5 348.67 T
+(9) 476 348.67 T
+(compile) 306 335.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . .) 346.5 335.67 T
+(44) 470.5 335.67 T
+(complex literal) 306 322.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . .) 376.75 322.67 T
+(8) 476 322.67 T
+(complex number) 306 309.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . .) 385 309.67 T
+(9) 442 309.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 447.5 309.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(13) 453.5 309.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 464.5 309.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(27) 470.5 309.67 T
+(constant) 306 296.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . . .) 346.5 296.67 T
+(6) 476 296.67 T
+(constructor) 306 283.67 T
+(class) 324 270.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . .) 349.25 270.67 T
+(18) 470.5 270.67 T
+(container) 306 257.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . .) 352 257.67 T
+(11) 453.5 257.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 464.5 257.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(16) 470.5 257.67 T
+(continue) 306 244.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . .) 349.25 244.67 T
+(43) 436.5 244.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 447.5 244.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(46) 453.5 244.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(\320) 464.5 244.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(47) 470.5 244.67 T
+(conversion) 306 231.67 T
+(arithmetic) 324 218.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . .) 374 218.67 T
+(27) 470.5 218.67 T
+(string) 324 205.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . .) 354.75 205.67 T
+(18) 436.5 205.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 447.5 205.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(29) 453.5 205.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 464.5 205.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(39) 470.5 205.67 T
+(curly brace) 306 192.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . .) 360.25 192.67 T
+(4) 476 192.67 T
+0 12 Q
+(D) 306 171 T
+1 11 Q
+(data) 306 157.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . . . . .) 330 157.67 T
+(11) 470.5 157.67 T
+(datum) 306 144.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . .) 338.25 144.67 T
+(28) 470.5 144.67 T
+(debugger) 306 131.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . .) 352 131.67 T
+(17) 470.5 131.67 T
+(debugging) 306 118.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . .) 357.5 118.67 T
+(11) 470.5 118.67 T
+(decimal literal) 306 105.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . .) 374 105.67 T
+(8) 476 105.67 T
+(DEDENT token) 306 92.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . .) 382.25 92.67 T
+(4) 459 92.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 464.5 92.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(45) 470.5 92.67 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "54" 60
+%%Page: "55" 61
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 12 Q
+0 X
+0 0 0 1 0 0 0 K
+4.8 (I) 288 748 S
+0 9.6 Q
+4.8 (NDEX) 296.13 748 S
+0 0 0 1 0 0 0 K
+1 10 Q
+(55) 525.5 32.83 T
+0 0 0 1 0 0 0 K
+315 720 315 63 2 L
+0.5 H
+2 Z
+N
+85.5 720 85.5 63 2 L
+N
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+(definition) 94.5 712.67 T
+(class) 112.5 699.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . .) 137.5 699.67 T
+(42) 242 699.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 253 699.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(49) 259 699.67 T
+(function) 112.5 686.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . .) 154 686.67 T
+(42) 242 686.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 253 686.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(48) 259 686.67 T
+(del) 94.5 673.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . .) 112.75 673.67 T
+(13) 191 673.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 202 673.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(18) 208 673.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 219 673.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(23) 225 673.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 236 673.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(30) 242 673.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 253 673.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(41) 259 673.67 T
+(delete) 94.5 660.67 T
+(attribute) 112.5 647.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . .) 154 647.67 T
+(41) 259 647.67 T
+(delimiter) 94.5 634.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . .) 137.5 634.67 T
+(9) 264.5 634.67 T
+(dictionary) 94.5 621.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . .) 143 621.67 T
+(14) 174 621.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(\320) 185 621.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(15) 191 621.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 202 621.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(19) 208 621.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 219 621.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(28) 225 621.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(\320) 236 621.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(29) 242 621.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 253 621.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(40) 259 621.67 T
+(display) 94.5 608.67 T
+(dictionary) 112.5 595.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . .) 162.25 595.67 T
+(28) 259 595.67 T
+(tuple) 112.5 582.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . .) 137.5 582.67 T
+(28) 259 582.67 T
+(division) 94.5 569.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . .) 134.75 569.67 T
+(33) 259 569.67 T
+(divmod) 94.5 556.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . .) 132 556.67 T
+(33) 259 556.67 T
+(double precision) 94.5 543.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . .) 173.25 543.67 T
+(12) 259 543.67 T
+0 12 Q
+(E) 94.5 522 T
+1 11 Q
+(elif) 94.5 508.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . . . .) 112.75 508.67 T
+(45) 259 508.67 T
+(Ellipsis) 94.5 495.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . .) 132 495.67 T
+(12) 259 495.67 T
+(ellipsis) 94.5 482.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . .) 129.25 482.67 T
+(17) 259 482.67 T
+(else) 94.5 469.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . .) 115.5 469.67 T
+(42) 225 469.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 236 469.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(45) 242 469.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(\320) 253 469.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(47) 259 469.67 T
+(dangling) 112.5 456.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . .) 154 456.67 T
+(45) 259 456.67 T
+(end-of-line character) 94.5 443.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . .) 189.75 443.67 T
+(3) 264.5 443.67 T
+(error) 94.5 430.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . . . .) 121 430.67 T
+(25) 259 430.67 T
+(error handling) 94.5 417.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . .) 162.25 417.67 T
+(25) 259 417.67 T
+(escape sequence) 94.5 404.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . .) 170.5 404.67 T
+(7) 264.5 404.67 T
+(eval) 94.5 391.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . .) 118.25 391.67 T
+(23) 208 391.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 219 391.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(29) 225 391.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 236 391.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(44) 242 391.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 253 391.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(52) 259 391.67 T
+(except) 94.5 378.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . . .) 126.5 378.67 T
+(47) 259 378.67 T
+(except clause) 94.5 365.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . .) 156.75 365.67 T
+(23) 259 365.67 T
+(exception) 94.5 352.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . .) 143 352.67 T
+(25) 242 352.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 253 352.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(42) 259 352.67 T
+(class) 112.5 339.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . .) 137.5 339.67 T
+(47) 259 339.67 T
+(raised by comparisons) 112.5 326.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . .) 214.5 326.67 T
+(19) 259 326.67 T
+(raising) 112.5 313.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . .) 145.75 313.67 T
+(42) 259 313.67 T
+(exception handler) 94.5 300.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . .) 178.75 300.67 T
+(25) 242 300.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 253 300.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(47) 259 300.67 T
+(exec) 94.5 287.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . .) 118.25 287.67 T
+(23) 242 287.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 253 287.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(44) 259 287.67 T
+(execfile) 94.5 274.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . .) 134.75 274.67 T
+(23) 242 274.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 253 274.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(44) 259 274.67 T
+(execution model) 94.5 261.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . .) 173.25 261.67 T
+(23) 259 261.67 T
+(expression) 94.5 248.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . .) 145.75 248.67 T
+(27) 242 248.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 253 248.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(30) 259 248.67 T
+(lambda) 112.5 235.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . .) 148.5 235.67 T
+(35) 259 235.67 T
+(expression input) 94.5 222.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . .) 170.5 222.67 T
+(52) 259 222.67 T
+(expression list) 94.5 209.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . .) 162.25 209.67 T
+(36) 242 209.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 253 209.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(39) 259 209.67 T
+(extended slice notation) 94.5 196.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . .) 200.75 196.67 T
+(21) 259 196.67 T
+(extended slice syntax) 94.5 183.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . .) 192.5 183.67 T
+(17) 259 183.67 T
+(extension) 94.5 170.67 T
+(filename) 112.5 157.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . .) 154 157.67 T
+(43) 259 157.67 T
+0 12 Q
+(F) 94.5 136 T
+1 11 Q
+(fdopen) 94.5 122.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . .) 129.25 122.67 T
+(16) 259 122.67 T
+(file) 94.5 109.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . .) 112.75 109.67 T
+(16) 242 109.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 253 109.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(52) 259 109.67 T
+(finally) 94.5 96.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . .) 126.5 96.67 T
+(11) 225 96.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 236 96.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(42) 242 96.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 253 96.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(47) 259 96.67 T
+(floating point) 94.5 83.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . .) 159.5 83.67 T
+(12) 259 83.67 T
+(floating point literal) 94.5 70.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . .) 187 70.67 T
+(8) 264.5 70.67 T
+(floating point number) 324 712.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . .) 423.5 712.67 T
+(27) 488.5 712.67 T
+(floor) 324 699.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . . .) 349.25 699.67 T
+(33) 488.5 699.67 T
+(flow of control) 324 686.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . .) 393.25 686.67 T
+(25) 488.5 686.67 T
+(for) 324 673.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . .) 341 673.67 T
+(23) 437.5 673.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 448.5 673.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(42) 454.5 673.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(\320) 465.5 673.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(43) 471.5 673.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 482.5 673.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(46) 488.5 673.67 T
+(form) 324 660.67 T
+(lambda) 342 647.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . .) 379.5 647.67 T
+(35) 488.5 647.67 T
+(formal) 324 634.67 T
+(parameter) 342 621.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . .) 390.5 621.67 T
+(48) 488.5 621.67 T
+(formfeed character) 324 608.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . .) 412.5 608.67 T
+(4) 494 608.67 T
+(frame) 324 595.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . .) 354.75 595.67 T
+(17) 488.5 595.67 T
+(execution) 342 582.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . .) 390.5 582.67 T
+(23) 471.5 582.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 482.5 582.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(49) 488.5 582.67 T
+(frame object) 324 569.67 T
+(f_back) 342 556.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . .) 376.75 556.67 T
+(17) 488.5 556.67 T
+(f_builtins) 342 543.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . .) 387.75 543.67 T
+(17) 488.5 543.67 T
+(f_code) 342 530.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . .) 376.75 530.67 T
+(17) 488.5 530.67 T
+(f_globals) 342 517.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . .) 387.75 517.67 T
+(17) 488.5 517.67 T
+(f_lasti) 342 504.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . .) 374 504.67 T
+(17) 488.5 504.67 T
+(f_lineno) 342 491.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . .) 382.25 491.67 T
+(17) 488.5 491.67 T
+(f_locals) 342 478.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . .) 382.25 478.67 T
+(17) 488.5 478.67 T
+(f_owner) 342 465.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . .) 382.25 465.67 T
+(17) 488.5 465.67 T
+(f_restricted) 342 452.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . .) 396 452.67 T
+(17) 488.5 452.67 T
+(f_trace) 342 439.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . .) 376.75 439.67 T
+(17) 488.5 439.67 T
+(from) 324 426.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . .) 349.25 426.67 T
+(6) 460 426.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 465.5 426.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(23) 471.5 426.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 482.5 426.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(43) 488.5 426.67 T
+(from x import *) 324 413.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . .) 398.75 413.67 T
+(43) 488.5 413.67 T
+(function) 324 400.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . .) 365.75 400.67 T
+(14) 454.5 400.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 465.5 400.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(32) 471.5 400.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 482.5 400.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(48) 488.5 400.67 T
+(anonymous) 342 387.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . .) 396 387.67 T
+(35) 488.5 387.67 T
+(built-in) 342 374.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . .) 379.5 374.67 T
+(15) 488.5 374.67 T
+(user-defined) 342 361.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . .) 401.5 361.67 T
+(14) 471.5 361.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 482.5 361.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(48) 488.5 361.67 T
+(function object) 324 348.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . .) 396 348.67 T
+(16) 488.5 348.67 T
+(func_code) 342 335.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . .) 393.25 335.67 T
+(14) 488.5 335.67 T
+(func_defaults) 342 322.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . .) 407 322.67 T
+(14) 488.5 322.67 T
+(func_doc) 342 309.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . .) 387.75 309.67 T
+(14) 488.5 309.67 T
+(func_globals) 342 296.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . .) 404.25 296.67 T
+(14) 471.5 296.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(\320) 482.5 296.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(15) 488.5 296.67 T
+(func_name) 342 283.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . .) 396 283.67 T
+(14) 488.5 283.67 T
+0 12 Q
+(G) 324 262 T
+1 11 Q
+(garbage collection) 324 248.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . .) 409.75 248.67 T
+(11) 488.5 248.67 T
+(getlineno) 324 235.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . .) 368.5 235.67 T
+(17) 488.5 235.67 T
+(global) 324 222.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . .) 354.75 222.67 T
+(23) 403.5 222.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 414.5 222.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(27) 420.5 222.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 431.5 222.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(40) 437.5 222.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(\320) 448.5 222.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(41) 454.5 222.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 465.5 222.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(43) 471.5 222.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(\320) 482.5 222.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(44) 488.5 222.67 T
+(globals) 324 209.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . .) 360.25 209.67 T
+(24) 471.5 209.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 482.5 209.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(44) 488.5 209.67 T
+(grammar) 324 196.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . .) 368.5 196.67 T
+(1) 494 196.67 T
+0 12 Q
+(H) 324 175 T
+1 11 Q
+(handle an exception) 324 161.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . .) 415.25 161.67 T
+(25) 488.5 161.67 T
+(handler) 324 148.67 T
+(exception) 342 135.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . .) 390.5 135.67 T
+(17) 488.5 135.67 T
+(hash) 324 122.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . . .) 349.25 122.67 T
+(19) 488.5 122.67 T
+(hash character) 324 109.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . .) 390.5 109.67 T
+(3) 494 109.67 T
+(hexadecimal literal) 324 96.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . .) 412.5 96.67 T
+(8) 494 96.67 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "55" 61
+%%Page: "56" 62
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 12 Q
+0 X
+0 0 0 1 0 0 0 K
+4.8 (I) 270 748 S
+0 9.6 Q
+4.8 (NDEX) 278.13 748 S
+0 0 0 1 0 0 0 K
+1 10 Q
+(56) 76.5 32.83 T
+0 0 0 1 0 0 0 K
+297 720 297 63 2 L
+0.5 H
+2 Z
+N
+67.5 720 67.5 63 2 L
+N
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 12 Q
+(I) 76.5 712 T
+1 11 Q
+(id) 76.5 698.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . . . . .) 90.75 698.67 T
+(11) 241 698.67 T
+(Identifier) 76.5 685.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . .) 121 685.67 T
+(5) 246.5 685.67 T
+(identifier) 76.5 672.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . .) 121 672.67 T
+(27) 241 672.67 T
+(special meaning) 94.5 659.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . .) 170.5 659.67 T
+(6) 246.5 659.67 T
+(if) 76.5 646.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . . . . . . .) 88 646.67 T
+(45) 241 646.67 T
+(im_class) 76.5 633.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . .) 118.25 633.67 T
+(16) 241 633.67 T
+(im_self) 76.5 620.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . .) 112.75 620.67 T
+(15) 241 620.67 T
+(imaginary literal) 76.5 607.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . .) 154 607.67 T
+(8) 246.5 607.67 T
+(immutable) 76.5 594.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . .) 129.25 594.67 T
+(13) 241 594.67 T
+(import) 76.5 581.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . .) 110 581.67 T
+(6) 195.5 581.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 201 581.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(15) 207 581.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 218 581.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(23) 224 581.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 235 581.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(43) 241 581.67 T
+(ImportError) 76.5 568.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . .) 134.75 568.67 T
+(43) 241 568.67 T
+(in) 76.5 555.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . .) 90.75 555.67 T
+(35) 224 555.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 235 555.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(46) 241 555.67 T
+(INDENT token) 76.5 542.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . .) 148.5 542.67 T
+(4) 246.5 542.67 T
+(Indentation) 76.5 529.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . .) 132 529.67 T
+(4) 246.5 529.67 T
+(indentation) 76.5 516.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . .) 129.25 516.67 T
+(4) 246.5 516.67 T
+(indentation errors) 76.5 503.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . .) 159.5 503.67 T
+(5) 246.5 503.67 T
+(index operation) 76.5 490.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . .) 148.5 490.67 T
+(13) 241 490.67 T
+(IndexError) 76.5 477.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . .) 129.25 477.67 T
+(40) 241 477.67 T
+(inheritance) 76.5 464.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . .) 129.25 464.67 T
+(49) 241 464.67 T
+(initialization) 76.5 451.67 T
+(module) 94.5 438.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . .) 132 438.67 T
+(43) 241 438.67 T
+(input) 76.5 425.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . . . .) 104.5 425.67 T
+(52) 241 425.67 T
+(instance) 76.5 412.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . .) 118.25 412.67 T
+(15) 207 412.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(\320) 218 412.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(16) 224 412.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 235 412.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(32) 241 412.67 T
+(call) 94.5 399.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . .) 115.5 399.67 T
+(20) 241 399.67 T
+(class) 94.5 386.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . .) 121 386.67 T
+(16) 241 386.67 T
+(integer) 76.5 373.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . .) 112.75 373.67 T
+(8) 212.5 373.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 218 373.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(12) 224 373.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 235 373.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(27) 241 373.67 T
+(long) 94.5 360.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . .) 118.25 360.67 T
+(8) 246.5 360.67 T
+(integer literal) 76.5 347.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . .) 140.25 347.67 T
+(8) 246.5 347.67 T
+(interactive mode) 76.5 334.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . .) 154 334.67 T
+(51) 241 334.67 T
+(internal type) 76.5 321.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . .) 137.5 321.67 T
+(16) 241 321.67 T
+(interpreter) 76.5 308.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . .) 126.5 308.67 T
+(51) 241 308.67 T
+(invertion) 76.5 295.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . .) 121 295.67 T
+(32) 241 295.67 T
+(is) 76.5 282.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . . . .) 88 282.67 T
+(11) 224 282.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 235 282.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(35) 241 282.67 T
+(is not) 76.5 269.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . . . .) 104.5 269.67 T
+(35) 241 269.67 T
+(item) 76.5 256.67 T
+(selection) 94.5 243.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . .) 137.5 243.67 T
+(13) 241 243.67 T
+(string) 94.5 230.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . .) 123.75 230.67 T
+(30) 241 230.67 T
+0 12 Q
+(K) 76.5 209 T
+1 11 Q
+(key) 76.5 195.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . . . .) 96.25 195.67 T
+(28) 241 195.67 T
+(key/datum pair) 76.5 182.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . .) 148.5 182.67 T
+(28) 241 182.67 T
+(keyword) 76.5 169.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . .) 118.25 169.67 T
+(5) 246.5 169.67 T
+0 12 Q
+(L) 76.5 148 T
+1 11 Q
+(Lambda) 76.5 134.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . .) 118.25 134.67 T
+(35) 241 134.67 T
+(leading whitespace) 76.5 121.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . .) 165 121.67 T
+(4) 246.5 121.67 T
+(len) 76.5 108.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . . . . . .) 93.5 108.67 T
+(13) 241 108.67 T
+(lexical analysis) 76.5 95.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . .) 148.5 95.67 T
+(3) 246.5 95.67 T
+(lexical analyzer) 76.5 82.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . .) 151.25 82.67 T
+(5) 246.5 82.67 T
+(lexical definitions) 76.5 69.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . .) 159.5 69.67 T
+(1) 246.5 69.67 T
+(line) 306 712.67 T
+(blank) 324 699.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . .) 352 699.67 T
+(4) 476 699.67 T
+(continuation) 324 686.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . .) 382.25 686.67 T
+(3) 476 686.67 T
+(joining) 324 673.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . .) 360.25 673.67 T
+(3) 476 673.67 T
+(physical) 324 660.67 T
+(split across) 342 647.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . .) 396 647.67 T
+(3) 476 647.67 T
+(line joining) 306 634.67 T
+(implicit) 324 621.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . .) 363 621.67 T
+(4) 476 621.67 T
+(line structure) 306 608.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . .) 368.5 608.67 T
+(3) 476 608.67 T
+(lines) 306 595.67 T
+(logical) 324 582.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . .) 357.5 582.67 T
+(3) 476 582.67 T
+(physical) 324 569.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . .) 365.75 569.67 T
+(3) 476 569.67 T
+(list) 306 556.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . .) 324.5 556.67 T
+(13) 402.5 556.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 413.5 556.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(28) 419.5 556.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(\320) 430.5 556.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(30) 436.5 556.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 447.5 556.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(40) 453.5 556.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 464.5 556.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(46) 470.5 556.67 T
+(empty) 324 543.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . .) 354.75 543.67 T
+(28) 470.5 543.67 T
+(expression) 324 530.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . .) 376.75 530.67 T
+(36) 453.5 530.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 464.5 530.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(39) 470.5 530.67 T
+(target) 324 517.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . .) 354.75 517.67 T
+(40) 470.5 517.67 T
+(deletion) 342 504.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . .) 382.25 504.67 T
+(41) 470.5 504.67 T
+(Literal) 306 491.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . . . .) 341 491.67 T
+(6) 476 491.67 T
+(literal) 306 478.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . . . .) 335.5 478.67 T
+(27) 470.5 478.67 T
+(locals) 306 465.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . .) 335.5 465.67 T
+(24) 453.5 465.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 464.5 465.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(44) 470.5 465.67 T
+(logical line) 306 452.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . .) 360.25 452.67 T
+(3) 476 452.67 T
+(long integer) 306 439.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . .) 363 439.67 T
+(12) 453.5 439.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 464.5 439.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(27) 470.5 439.67 T
+(long integer literal) 306 426.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . .) 390.5 426.67 T
+(8) 476 426.67 T
+(loop) 306 413.67 T
+(over mutable sequence) 324 400.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . .) 429 400.67 T
+(46) 470.5 400.67 T
+0 12 Q
+(M) 306 379 T
+1 11 Q
+(makefile) 306 365.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . .) 349.25 365.67 T
+(16) 470.5 365.67 T
+(mapping) 306 352.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . .) 349.25 352.67 T
+(13) 419.5 352.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 430.5 352.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(16) 436.5 352.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 447.5 352.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(29) 453.5 352.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 464.5 352.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(40) 470.5 352.67 T
+(method) 306 339.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . .) 343.75 339.67 T
+(32) 470.5 339.67 T
+(bound) 324 326.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . .) 354.75 326.67 T
+(14) 470.5 326.67 T
+(built-in) 324 313.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . .) 360.25 313.67 T
+(15) 470.5 313.67 T
+(unbound) 324 300.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . .) 365.75 300.67 T
+(14) 470.5 300.67 T
+(user-defined) 324 287.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . .) 382.25 287.67 T
+(14) 470.5 287.67 T
+(creation) 342 274.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . .) 382.25 274.67 T
+(14) 470.5 274.67 T
+(method object) 306 261.67 T
+(__name__) 324 248.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . .) 374 248.67 T
+(14) 470.5 248.67 T
+(im_class) 324 235.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . .) 365.75 235.67 T
+(14) 470.5 235.67 T
+(im_func) 324 222.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . .) 365.75 222.67 T
+(14) 470.5 222.67 T
+(im_func.__doc__) 324 209.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . .) 407 209.67 T
+(14) 470.5 209.67 T
+(im_self) 324 196.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . .) 360.25 196.67 T
+(14) 470.5 196.67 T
+(minus) 306 183.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . .) 338.25 183.67 T
+(32) 470.5 183.67 T
+(module) 306 170.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . .) 343.75 170.67 T
+(15) 436.5 170.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 447.5 170.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(29) 453.5 170.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 464.5 170.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(43) 470.5 170.67 T
+(built-in) 324 157.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . .) 360.25 157.67 T
+(43) 470.5 157.67 T
+(extension) 324 144.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . .) 371.25 144.67 T
+(12) 470.5 144.67 T
+(importing) 324 131.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . .) 371.25 131.67 T
+(43) 470.5 131.67 T
+(user-defined) 324 118.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . .) 382.25 118.67 T
+(43) 470.5 118.67 T
+(modulo) 306 105.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . .) 343.75 105.67 T
+(33) 470.5 105.67 T
+(multiplication) 306 92.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . .) 371.25 92.67 T
+(33) 470.5 92.67 T
+(mutable) 306 79.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . .) 346.5 79.67 T
+(14) 436.5 79.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 447.5 79.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(39) 453.5 79.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(\320) 464.5 79.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(40) 470.5 79.67 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "56" 62
+%%Page: "57" 63
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 12 Q
+0 X
+0 0 0 1 0 0 0 K
+4.8 (I) 288 748 S
+0 9.6 Q
+4.8 (NDEX) 296.13 748 S
+0 0 0 1 0 0 0 K
+1 10 Q
+(57) 525.5 32.83 T
+0 0 0 1 0 0 0 K
+315 720 315 63 2 L
+0.5 H
+2 Z
+N
+85.5 720 85.5 63 2 L
+N
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+(mutable sequence) 94.5 712.67 T
+(loop over) 112.5 699.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . .) 159.5 699.67 T
+(46) 259 699.67 T
+0 12 Q
+(N) 94.5 678 T
+1 11 Q
+(name) 94.5 664.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . .) 123.75 664.67 T
+(5) 247.5 664.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 253 664.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(27) 259 664.67 T
+(binding) 112.5 651.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . .) 151.25 651.67 T
+(23) 242 651.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 253 651.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(39) 259 651.67 T
+(class) 112.5 638.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . .) 137.5 638.67 T
+(49) 259 638.67 T
+(function) 112.5 625.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . .) 154 625.67 T
+(48) 259 625.67 T
+(global) 112.5 612.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . .) 143 612.67 T
+(27) 259 612.67 T
+(mangling) 112.5 599.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . .) 159.5 599.67 T
+(6) 264.5 599.67 T
+(module) 112.5 586.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . .) 148.5 586.67 T
+(43) 259 586.67 T
+(rebinding) 112.5 573.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . .) 159.5 573.67 T
+(23) 242 573.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 253 573.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(39) 259 573.67 T
+(unbinding) 112.5 560.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . .) 162.25 560.67 T
+(23) 242 560.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 253 560.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(41) 259 560.67 T
+(name space) 94.5 547.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . .) 151.25 547.67 T
+(23) 259 547.67 T
+(global) 112.5 534.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . .) 143 534.67 T
+(14) 242 534.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 253 534.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(23) 259 534.67 T
+(local) 112.5 521.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . .) 137.5 521.67 T
+(23) 259 521.67 T
+(module) 112.5 508.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . .) 148.5 508.67 T
+(15) 259 508.67 T
+(NameError) 94.5 495.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . .) 148.5 495.67 T
+(24) 242 495.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 253 495.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(27) 259 495.67 T
+(negation) 94.5 482.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . .) 137.5 482.67 T
+(32) 259 482.67 T
+(NEWLINE token) 94.5 469.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . .) 176 469.67 T
+(3) 236 469.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(\320) 241.5 469.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(4) 247.5 469.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 253 469.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(45) 259 469.67 T
+(None) 94.5 456.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . .) 123.75 456.67 T
+(12) 242 456.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 253 456.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(39) 259 456.67 T
+(not) 94.5 443.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . . . .) 112.75 443.67 T
+(35) 259 443.67 T
+(not in) 94.5 430.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . .) 123.75 430.67 T
+(35) 259 430.67 T
+(notation) 94.5 417.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . .) 134.75 417.67 T
+(1) 264.5 417.67 T
+(null operation) 94.5 404.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . .) 159.5 404.67 T
+(41) 259 404.67 T
+(number) 94.5 391.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . .) 132 391.67 T
+(8) 230.5 391.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 236 391.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(12) 242 391.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 253 391.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(16) 259 391.67 T
+(numbers) 94.5 378.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . .) 137.5 378.67 T
+(16) 259 378.67 T
+(numeric) 94.5 365.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . .) 134.75 365.67 T
+(12) 259 365.67 T
+(numeric arithmetic) 94.5 352.67 T
+(mixed mode) 112.5 339.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . .) 170.5 339.67 T
+(22) 259 339.67 T
+(numeric literal) 94.5 326.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . .) 162.25 326.67 T
+(8) 264.5 326.67 T
+0 12 Q
+(O) 94.5 305 T
+1 11 Q
+(object) 94.5 291.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . . .) 126.5 291.67 T
+(11) 259 291.67 T
+(address in memory) 112.5 278.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . .) 200.75 278.67 T
+(11) 259 278.67 T
+(container) 112.5 265.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . .) 156.75 265.67 T
+(11) 259 265.67 T
+(identity) 112.5 252.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . .) 151.25 252.67 T
+(11) 259 252.67 T
+(immutable) 112.5 239.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . .) 165 239.67 T
+(11) 259 239.67 T
+(mutable) 112.5 226.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . .) 151.25 226.67 T
+(11) 259 226.67 T
+(reference to external resource) 112.5 213.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. .) 247.5 213.67 T
+(11) 259 213.67 T
+(type) 112.5 200.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . .) 134.75 200.67 T
+(11) 259 200.67 T
+(unreachable) 112.5 187.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . .) 170.5 187.67 T
+(11) 259 187.67 T
+(value) 112.5 174.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . .) 140.25 174.67 T
+(11) 259 174.67 T
+(object closure) 94.5 161.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . .) 159.5 161.67 T
+(14) 259 161.67 T
+(octal literal) 94.5 148.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . .) 148.5 148.67 T
+(8) 264.5 148.67 T
+(open) 94.5 135.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . . . .) 121 135.67 T
+(16) 259 135.67 T
+(operation) 94.5 122.67 T
+(arithmetic) 112.5 109.67 T
+(binary) 130.5 96.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . .) 162.25 96.67 T
+(32) 259 96.67 T
+(unary) 130.5 83.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . .) 159.5 83.67 T
+(32) 259 83.67 T
+(bit-wise) 112.5 70.67 T
+(binary) 360 712.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . .) 393.25 712.67 T
+(33) 488.5 712.67 T
+(unary) 360 699.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . .) 390.5 699.67 T
+(32) 488.5 699.67 T
+(boolean) 342 686.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . .) 382.25 686.67 T
+(35) 488.5 686.67 T
+(null) 342 673.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . .) 363 673.67 T
+(41) 488.5 673.67 T
+(shifting) 342 660.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . .) 379.5 660.67 T
+(33) 488.5 660.67 T
+(operator) 324 647.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . .) 365.75 647.67 T
+(9) 494 647.67 T
+(optimization) 324 634.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . .) 385 634.67 T
+(15) 488.5 634.67 T
+(or) 324 621.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . . . . .) 338.25 621.67 T
+(35) 488.5 621.67 T
+(bit-wise) 342 608.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . .) 382.25 608.67 T
+(34) 488.5 608.67 T
+(exclusive) 342 595.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . .) 387.75 595.67 T
+(34) 488.5 595.67 T
+(inclusive) 342 582.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . .) 385 582.67 T
+(34) 488.5 582.67 T
+(ord) 324 569.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . . . .) 343.75 569.67 T
+(13) 488.5 569.67 T
+(output) 324 556.67 T
+(standard) 342 543.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . .) 385 543.67 T
+(39) 471.5 543.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 482.5 543.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(41) 488.5 543.67 T
+(OverflowError) 324 530.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . .) 393.25 530.67 T
+(12) 488.5 530.67 T
+0 12 Q
+(P) 324 509 T
+1 11 Q
+(parameter) 324 495.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . .) 371.25 495.67 T
+(48) 488.5 495.67 T
+(parameter list) 324 482.67 T
+(variable length) 342 469.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . .) 412.5 469.67 T
+(48) 488.5 469.67 T
+(parenthesized form) 324 456.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . .) 412.5 456.67 T
+(28) 488.5 456.67 T
+(parser) 324 443.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . .) 354.75 443.67 T
+(3) 482.5 443.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 488 443.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(5) 494 443.67 T
+(Pascal) 324 430.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . . .) 357.5 430.67 T
+(46) 488.5 430.67 T
+(pass) 324 417.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . . . . .) 346.5 417.67 T
+(41) 488.5 417.67 T
+(path) 324 404.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . . . . .) 346.5 404.67 T
+(43) 488.5 404.67 T
+(plain integer) 324 391.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . .) 385 391.67 T
+(12) 471.5 391.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 482.5 391.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(27) 488.5 391.67 T
+(plain integer literal) 324 378.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . .) 412.5 378.67 T
+(8) 494 378.67 T
+(plus) 324 365.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . . . . .) 346.5 365.67 T
+(32) 488.5 365.67 T
+(popen) 324 352.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . .) 354.75 352.67 T
+(16) 488.5 352.67 T
+(pow) 324 339.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . . . . .) 346.5 339.67 T
+(32) 488.5 339.67 T
+(power operator) 324 326.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . .) 396 326.67 T
+(32) 488.5 326.67 T
+(primary) 324 313.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . .) 363 313.67 T
+(29) 488.5 313.67 T
+(print) 324 300.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . .) 349.25 300.67 T
+(19) 471.5 300.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 482.5 300.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(41) 488.5 300.67 T
+(program) 324 287.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . .) 365.75 287.67 T
+(51) 488.5 287.67 T
+(PYTHONPATH) 324 274.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . .) 401.5 274.67 T
+(43) 488.5 274.67 T
+0 12 Q
+(Q) 324 253 T
+1 11 Q
+(quotes) 324 239.67 T
+(backward) 342 226.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . .) 390.5 226.67 T
+(18) 471.5 226.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 482.5 226.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(29) 488.5 226.67 T
+(double) 342 213.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . .) 376.75 213.67 T
+(6) 494 213.67 T
+(reverse) 342 200.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . .) 379.5 200.67 T
+(18) 471.5 200.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 482.5 200.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(29) 488.5 200.67 T
+(single) 342 187.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . .) 374 187.67 T
+(6) 494 187.67 T
+0 12 Q
+(R) 324 166 T
+1 11 Q
+(raise) 324 152.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . . .) 349.25 152.67 T
+(42) 488.5 152.67 T
+(raised an exception) 324 139.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . .) 412.5 139.67 T
+(25) 488.5 139.67 T
+(range) 324 126.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . . . .) 352 126.67 T
+(46) 488.5 126.67 T
+(raw_input) 324 113.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . .) 374 113.67 T
+(52) 488.5 113.67 T
+(readline) 324 100.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . .) 363 100.67 T
+(52) 488.5 100.67 T
+(recursive) 324 87.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . .) 368.5 87.67 T
+(29) 488.5 87.67 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "57" 63
+%%Page: "58" 64
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 12 Q
+0 X
+0 0 0 1 0 0 0 K
+4.8 (I) 270 748 S
+0 9.6 Q
+4.8 (NDEX) 278.13 748 S
+0 0 0 1 0 0 0 K
+1 10 Q
+(58) 76.5 32.83 T
+0 0 0 1 0 0 0 K
+297 720 297 63 2 L
+0.5 H
+2 Z
+N
+67.5 720 67.5 63 2 L
+N
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+(reference) 76.5 712.67 T
+(attribute) 94.5 699.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . .) 134.75 699.67 T
+(29) 241 699.67 T
+(circular) 94.5 686.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . .) 132 686.67 T
+(11) 241 686.67 T
+(count) 94.5 673.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . .) 123.75 673.67 T
+(18) 241 673.67 T
+(counting) 94.5 660.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . .) 137.5 660.67 T
+(11) 241 660.67 T
+(remainder) 76.5 647.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . .) 126.5 647.67 T
+(33) 241 647.67 T
+(repr) 76.5 634.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . .) 99 634.67 T
+(18) 207 634.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 218 634.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(29) 224 634.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 235 634.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(39) 241 634.67 T
+(representation) 76.5 621.67 T
+(integer) 94.5 608.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . .) 129.25 608.67 T
+(12) 241 608.67 T
+(reserved word) 76.5 595.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . .) 143 595.67 T
+(5) 246.5 595.67 T
+(restricted execution mode) 76.5 582.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . .) 195.25 582.67 T
+(24) 241 582.67 T
+(return) 76.5 569.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . .) 107.25 569.67 T
+(42) 224 569.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 235 569.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(47) 241 569.67 T
+(RuntimeError) 76.5 556.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . .) 143 556.67 T
+(42) 241 556.67 T
+0 12 Q
+(S) 76.5 535 T
+1 11 Q
+(scope) 76.5 521.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . .) 107.25 521.67 T
+(24) 241 521.67 T
+(script) 76.5 508.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . . . .) 104.5 508.67 T
+(23) 241 508.67 T
+(search path) 76.5 495.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . .) 132 495.67 T
+(43) 241 495.67 T
+(semicolon) 76.5 482.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . .) 126.5 482.67 T
+(45) 241 482.67 T
+(sequence) 76.5 469.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . .) 121 469.67 T
+(13) 139 469.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 150 469.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(16) 156 469.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 167 469.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(29) 173 469.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(\320) 184 469.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(30) 190 469.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 201 469.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(35) 207 469.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 218 469.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(40) 224 469.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 235 469.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(46) 241 469.67 T
+(immutable) 94.5 456.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . .) 145.75 456.67 T
+(13) 241 456.67 T
+(mutable) 94.5 443.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . .) 134.75 443.67 T
+(13) 241 443.67 T
+(sign) 76.5 430.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . . . . . .) 99 430.67 T
+(9) 246.5 430.67 T
+(slice) 76.5 417.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . .) 101.75 417.67 T
+(20) 207 417.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 218 417.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(30) 224 417.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 235 417.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(40) 241 417.67 T
+(boundary) 94.5 404.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . .) 140.25 404.67 T
+(30) 224 404.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 235 404.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(41) 241 404.67 T
+(extended) 94.5 391.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . .) 137.5 391.67 T
+(30) 241 391.67 T
+(simple) 94.5 378.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . .) 129.25 378.67 T
+(30) 241 378.67 T
+(Slice objects) 76.5 365.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . .) 137.5 365.67 T
+(17) 241 365.67 T
+(slicing) 76.5 352.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . .) 110 352.67 T
+(13) 224 352.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 235 352.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(30) 241 352.67 T
+(space) 76.5 339.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . . . . .) 104.5 339.67 T
+(4) 246.5 339.67 T
+(space count) 76.5 326.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . .) 132 326.67 T
+(4) 246.5 326.67 T
+(square bracket) 76.5 313.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . .) 145.75 313.67 T
+(4) 246.5 313.67 T
+(stack) 76.5 300.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . . . . .) 104.5 300.67 T
+(4) 246.5 300.67 T
+(execution) 94.5 287.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . .) 143 287.67 T
+(17) 241 287.67 T
+(stack frame) 76.5 274.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . .) 132 274.67 T
+(17) 241 274.67 T
+(standard inpu) 76.5 261.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . .) 140.25 261.67 T
+(51) 241 261.67 T
+(standard output) 76.5 248.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . .) 148.5 248.67 T
+(41) 241 248.67 T
+(statement) 76.5 235.67 T
+(assignment) 94.5 222.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . .) 148.5 222.67 T
+(13) 241 222.67 T
+(compound) 94.5 209.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . .) 145.75 209.67 T
+(45) 241 209.67 T
+(expression) 94.5 196.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . .) 145.75 196.67 T
+(39) 241 196.67 T
+(loop) 94.5 183.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . .) 118.25 183.67 T
+(42) 207 183.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(\320) 218 183.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(43) 224 183.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 235 183.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(46) 241 183.67 T
+(simple) 94.5 170.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . .) 129.25 170.67 T
+(39) 241 170.67 T
+(statement grouping) 76.5 157.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . .) 165 157.67 T
+(4) 246.5 157.67 T
+(statements) 76.5 144.67 T
+(assignment) 94.5 131.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . .) 148.5 131.67 T
+(39) 241 131.67 T
+(stderr) 76.5 118.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . .) 107.25 118.67 T
+(16) 241 118.67 T
+(stdin) 76.5 105.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . . .) 101.75 105.67 T
+(16) 241 105.67 T
+(stdio) 76.5 92.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . . .) 101.75 92.67 T
+(16) 241 92.67 T
+(stdout) 76.5 79.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . .) 107.25 79.67 T
+(16) 224 79.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 235 79.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(42) 241 79.67 T
+(str) 76.5 66.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . . . .) 90.75 66.67 T
+(19) 224 66.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 235 66.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(29) 241 66.67 T
+(string) 306 712.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . .) 335.5 712.67 T
+(13) 419.5 712.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 430.5 712.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(29) 436.5 712.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(\320) 447.5 712.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(30) 453.5 712.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 464.5 712.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(46) 470.5 712.67 T
+(triple-quoted) 324 699.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . .) 385 699.67 T
+(4) 476 699.67 T
+(string literal) 306 686.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . .) 363 686.67 T
+(6) 476 686.67 T
+(concatenation) 324 673.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . .) 390.5 673.67 T
+(7) 476 673.67 T
+(subscription) 306 660.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . .) 363 660.67 T
+(13) 453.5 660.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 464.5 660.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(29) 470.5 660.67 T
+(subtraction) 306 647.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . .) 360.25 647.67 T
+(33) 470.5 647.67 T
+(suite) 306 634.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . . . . .) 330 634.67 T
+(45) 470.5 634.67 T
+(suppression) 306 621.67 T
+(newline) 324 608.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . .) 363 608.67 T
+(42) 470.5 608.67 T
+(syntax) 306 595.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . .) 338.25 595.67 T
+(1) 459 595.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 464.5 595.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(27) 470.5 595.67 T
+(SyntaxError) 306 582.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . .) 363 582.67 T
+(43) 470.5 582.67 T
+(sys) 306 569.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . .) 324.5 569.67 T
+(42) 453.5 569.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 464.5 569.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(51) 470.5 569.67 T
+(exc_traceback) 324 556.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . .) 390.5 556.67 T
+(17) 453.5 556.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 464.5 556.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(47) 470.5 556.67 T
+(exc_type) 324 543.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . .) 368.5 543.67 T
+(47) 470.5 543.67 T
+(exc_value) 324 530.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . .) 374 530.67 T
+(47) 470.5 530.67 T
+(last_traceback) 324 517.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . .) 390.5 517.67 T
+(17) 470.5 517.67 T
+(sys.exc_traceback) 306 504.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . .) 390.5 504.67 T
+(18) 470.5 504.67 T
+(sys.last_traceback) 306 491.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . .) 390.5 491.67 T
+(18) 470.5 491.67 T
+(sys.modules) 306 478.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . .) 365.75 478.67 T
+(43) 470.5 478.67 T
+(sys.path) 306 465.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . .) 346.5 465.67 T
+(43) 470.5 465.67 T
+(sys.stderr) 306 452.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . .) 352 452.67 T
+(16) 470.5 452.67 T
+(sys.stdin) 306 439.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . .) 349.25 439.67 T
+(16) 470.5 439.67 T
+(sys.stdout) 306 426.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . .) 354.75 426.67 T
+(16) 470.5 426.67 T
+0 12 Q
+(T) 306 405 T
+1 11 Q
+(tab) 306 391.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . . . . . . .) 324.5 391.67 T
+(4) 476 391.67 T
+(target) 306 378.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . . . .) 335.5 378.67 T
+(40) 470.5 378.67 T
+(deletion) 324 365.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . .) 363 365.67 T
+(41) 470.5 365.67 T
+(loop control) 324 352.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . .) 382.25 352.67 T
+(42) 470.5 352.67 T
+(test) 306 339.67 T
+(identity) 324 326.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . .) 363 326.67 T
+(35) 470.5 326.67 T
+(membership) 324 313.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . .) 382.25 313.67 T
+(35) 470.5 313.67 T
+(token) 306 300.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . . . . . .) 335.5 300.67 T
+(3) 476 300.67 T
+(delimiter) 324 287.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . .) 368.5 287.67 T
+(5) 476 287.67 T
+(identifier) 324 274.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . .) 368.5 274.67 T
+(5) 476 274.67 T
+(keyword) 324 261.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . .) 365.75 261.67 T
+(5) 476 261.67 T
+(literal) 324 248.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . .) 354.75 248.67 T
+(5) 476 248.67 T
+(operator) 324 235.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . .) 365.75 235.67 T
+(5) 476 235.67 T
+(tracback object) 306 222.67 T
+(tb_frame) 324 209.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . .) 368.5 209.67 T
+(17) 470.5 209.67 T
+(tb_lasti) 324 196.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . .) 360.25 196.67 T
+(17) 470.5 196.67 T
+(tb_lineno) 324 183.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . .) 371.25 183.67 T
+(17) 470.5 183.67 T
+(tb_next) 324 170.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . .) 360.25 170.67 T
+(17) 470.5 170.67 T
+(trace) 306 157.67 T
+(stack) 324 144.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . .) 352 144.67 T
+(17) 470.5 144.67 T
+(traceback) 306 131.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . .) 352 131.67 T
+(42) 470.5 131.67 T
+(traceback object) 306 118.67 T
+(exc_traceback) 324 105.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . .) 390.5 105.67 T
+(17) 470.5 105.67 T
+(last_traceback) 324 92.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . .) 390.5 92.67 T
+(17) 470.5 92.67 T
+(transformation) 306 79.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . .) 374 79.67 T
+(15) 470.5 79.67 T
+(triple-quoted strings) 306 66.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . .) 398.75 66.67 T
+(6) 476 66.67 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "58" 64
+%%Page: "59" 65
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 12 Q
+0 X
+0 0 0 1 0 0 0 K
+4.8 (I) 288 748 S
+0 9.6 Q
+4.8 (NDEX) 296.13 748 S
+0 0 0 1 0 0 0 K
+1 10 Q
+(59) 525.5 32.83 T
+0 0 0 1 0 0 0 K
+315 720 315 63 2 L
+0.5 H
+2 Z
+N
+85.5 720 85.5 63 2 L
+N
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 11 Q
+(try) 94.5 712.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . .) 110 712.67 T
+(11) 208 712.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 219 712.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(17) 225 712.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 236 712.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(42) 242 712.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 253 712.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(47) 259 712.67 T
+(finally) 112.5 699.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . .) 145.75 699.67 T
+(43) 259 699.67 T
+(tuple) 94.5 686.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . .) 121 686.67 T
+(13) 191 686.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 202 686.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(29) 208 686.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(\320) 219 686.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(30) 225 686.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 236 686.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(36) 242 686.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 253 686.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(46) 259 686.67 T
+(empty) 112.5 673.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . .) 143 673.67 T
+(13) 225 673.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 236 673.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(28) 242 673.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 253 673.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(36) 259 673.67 T
+(singleton) 112.5 660.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . .) 156.75 660.67 T
+(13) 259 660.67 T
+(type) 94.5 647.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . .) 118.25 647.67 T
+(11) 242 647.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(\320) 253 647.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(12) 259 647.67 T
+(data) 112.5 634.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . . .) 134.75 634.67 T
+(12) 259 634.67 T
+(immutable) 130.5 621.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . .) 181.5 621.67 T
+(28) 259 621.67 T
+(hierarchy) 112.5 608.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . .) 159.5 608.67 T
+(12) 259 608.67 T
+(TypeError) 94.5 595.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . .) 145.75 595.67 T
+(29) 208 595.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 219 595.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(31) 225 595.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(\320) 236 595.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(32) 242 595.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 253 595.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(40) 259 595.67 T
+0 12 Q
+(U) 94.5 574 T
+1 11 Q
+(UNIX) 94.5 560.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . . . .) 126.5 560.67 T
+(4) 247.5 560.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 253 560.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(51) 259 560.67 T
+(unrecognized escape sequences) 94.5 547.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . .) 236.5 547.67 T
+(7) 264.5 547.67 T
+(user-defined) 94.5 534.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . .) 154 534.67 T
+(14) 259 534.67 T
+(user-defined function) 94.5 521.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . .) 192.5 521.67 T
+(32) 259 521.67 T
+0 12 Q
+(V) 324 712 T
+1 11 Q
+(value) 324 698.67 T
+(parameter) 342 685.67 T
+(default) 360 672.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . .) 396 672.67 T
+(48) 488.5 672.67 T
+(writing) 342 659.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . .) 379.5 659.67 T
+(39) 488.5 659.67 T
+(ValueError) 324 646.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . .) 376.75 646.67 T
+(33) 488.5 646.67 T
+(values) 324 633.67 T
+(writing) 342 620.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . . .) 379.5 620.67 T
+(41) 488.5 620.67 T
+(Von Neumann) 324 607.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . .) 393.25 607.67 T
+(11) 488.5 607.67 T
+0 12 Q
+(W) 324 586 T
+1 11 Q
+(while) 324 572.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(. . . . . . . . . . . . . . . . . . .) 352 572.67 T
+(42) 454.5 572.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(\320) 465.5 572.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(43) 471.5 572.67 T
+0 0 0 1 0 0 0 K
+1 12 Q
+(,) 482.5 572.67 T
+0 0 0 1 0 0 0 K
+1 11 Q
+(46) 488.5 572.67 T
+(whitespace) 324 559.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . . . .) 376.75 559.67 T
+(4) 494 559.67 T
+0 12 Q
+(X) 324 538 T
+1 11 Q
+(xor) 324 524.67 T
+(bit-wise) 342 511.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . . . . . . .) 382.25 511.67 T
+(34) 488.5 511.67 T
+0 12 Q
+(Z) 324 490 T
+1 11 Q
+(ZeroDivisionError) 324 476.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( . . . . . . . . . . . . . .) 409.75 476.67 T
+(33) 488.5 476.67 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "59" 65
+%%Trailer
+%%BoundingBox: 0 0 612 792
+%%PageOrder: Ascend
+%%Pages: 65
+%%DocumentFonts: Helvetica-Bold
+%%+ Times-Roman
+%%+ Courier
+%%+ Times-Italic
+%%+ Times-Bold
+%%+ Helvetica
+%%+ Courier-Oblique
+%%+ Courier-Bold
+%%EOF
diff --git a/Doc/ref/ref.tex b/Doc/ref/ref.tex
deleted file mode 100644
index e63fa7c..0000000
--- a/Doc/ref/ref.tex
+++ /dev/null
@@ -1,68 +0,0 @@
-\documentstyle[twoside,11pt,myformat]{report}
-
-\title{Python Reference Manual}
-
-\input{boilerplate}
-
-% Tell \index to actually write the .idx file
-\makeindex
-
-\begin{document}
-
-\pagenumbering{roman}
-
-\maketitle
-
-\input{copyright}
-
-\begin{abstract}
-
-\noindent
-Python is a simple, yet powerful, interpreted programming language
-that bridges the gap between C and shell programming, and is thus
-ideally suited for ``throw-away programming'' and rapid prototyping.
-Its syntax is put together from constructs borrowed from a variety of
-other languages; most prominent are influences from ABC, C, Modula-3
-and Icon.
-
-The Python interpreter is easily extended with new functions and data
-types implemented in C. Python is also suitable as an extension
-language for highly customizable C applications such as editors or
-window managers.
-
-Python is available for various operating systems, amongst which
-several flavors of {\UNIX} (including Linux), the Apple Macintosh O.S.,
-MS-DOS, MS-Windows 3.1, Windows NT, and OS/2.
-
-This reference manual describes the syntax and ``core semantics'' of
-the language. It is terse, but attempts to be exact and complete.
-The semantics of non-essential built-in object types and of the
-built-in functions and modules are described in the {\em Python
-Library Reference}. For an informal introduction to the language, see
-the {\em Python Tutorial}.
-
-\end{abstract}
-
-\pagebreak
-
-{
-\parskip = 0mm
-\tableofcontents
-}
-
-\pagebreak
-
-\pagenumbering{arabic}
-
-\include{ref1} % Introduction
-\include{ref2} % Lexical analysis
-\include{ref3} % Data model
-\include{ref4} % Execution model
-\include{ref5} % Expressions and conditions
-\include{ref6} % Simple statements
-\include{ref7} % Compound statements
-\include{ref8} % Top-level components
-
-\input{ref.ind}
-
-\end{document}
diff --git a/Doc/ref/ref1.tex b/Doc/ref/ref1.tex
deleted file mode 100644
index 30bfcce..0000000
--- a/Doc/ref/ref1.tex
+++ /dev/null
@@ -1,81 +0,0 @@
-\chapter{Introduction}
-
-This reference manual describes the Python programming language.
-It is not intended as a tutorial.
-
-While I am trying to be as precise as possible, I chose to use English
-rather than formal specifications for everything except syntax and
-lexical analysis. This should make the document more understandable
-to the average reader, but will leave room for ambiguities.
-Consequently, if you were coming from Mars and tried to re-implement
-Python from this document alone, you might have to guess things and in
-fact you would probably end up implementing quite a different language.
-On the other hand, if you are using
-Python and wonder what the precise rules about a particular area of
-the language are, you should definitely be able to find them here.
-
-It is dangerous to add too many implementation details to a language
-reference document --- the implementation may change, and other
-implementations of the same language may work differently. On the
-other hand, there is currently only one Python implementation, and
-its particular quirks are sometimes worth being mentioned, especially
-where the implementation imposes additional limitations. Therefore,
-you'll find short ``implementation notes'' sprinkled throughout the
-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
-mentioned when they interact in a significant way with the language
-definition.
-
-\section{Notation}
-
-The descriptions of lexical analysis and syntax use a modified BNF
-grammar notation. This uses the following style of definition:
-\index{BNF}
-\index{grammar}
-\index{syntax}
-\index{notation}
-
-\begin{verbatim}
-name: lc_letter (lc_letter | "_")*
-lc_letter: "a"..."z"
-\end{verbatim}
-
-The first line says that a \verb@name@ is an \verb@lc_letter@ followed by
-a sequence of zero or more \verb@lc_letter@s and underscores. An
-\verb@lc_letter@ in turn is any of the single characters `a' through `z'.
-(This rule is actually adhered to for the names defined in lexical and
-grammar rules in this document.)
-
-Each rule begins with a name (which is the name defined by the rule)
-and a colon. A vertical bar (\verb@|@) is used to separate
-alternatives; it is the least binding operator in this notation. A
-star (\verb@*@) means zero or more repetitions of the preceding item;
-likewise, a plus (\verb@+@) means one or more repetitions, and a
-phrase enclosed in square brackets (\verb@[ ]@) means zero or one
-occurrences (in other words, the enclosed phrase is optional). The
-\verb@*@ and \verb@+@ operators bind as tightly as possible;
-parentheses are used for grouping. Literal strings are enclosed in
-quotes. White space is only meaningful to separate tokens.
-Rules are normally contained on a single line; rules with many
-alternatives may be formatted alternatively with each line after the
-first beginning with a vertical bar.
-
-In lexical definitions (as the example above), two more conventions
-are used: Two literal characters separated by three dots mean a choice
-of any single character in the given (inclusive) range of \ASCII{}
-characters. A phrase between angular brackets (\verb@<...>@) gives an
-informal description of the symbol defined; e.g. this could be used
-to describe the notion of `control character' if needed.
-\index{lexical definitions}
-\index{ASCII}
-
-Even though the notation used is almost the same, there is a big
-difference between the meaning of lexical and syntactic definitions:
-a lexical definition operates on the individual characters of the
-input source, while a syntax definition operates on the stream of
-tokens generated by the lexical analysis. All uses of BNF in the next
-chapter (``Lexical Analysis'') are lexical definitions; uses in
-subsequent chapters are syntactic definitions.
diff --git a/Doc/ref/ref2.tex b/Doc/ref/ref2.tex
deleted file mode 100644
index b093998..0000000
--- a/Doc/ref/ref2.tex
+++ /dev/null
@@ -1,372 +0,0 @@
-\chapter{Lexical analysis}
-
-A Python program is read by a {\em parser}. Input to the parser is a
-stream of {\em tokens}, generated by the {\em lexical analyzer}. This
-chapter describes how the lexical analyzer breaks a file into tokens.
-\index{lexical analysis}
-\index{parser}
-\index{token}
-
-\section{Line structure}
-
-A Python program is divided in a number of logical lines. The end of
-a logical line is represented by the token NEWLINE. Statements cannot
-cross logical line boundaries except where NEWLINE is allowed by the
-syntax (e.g. between statements in compound statements).
-\index{line structure}
-\index{logical line}
-\index{NEWLINE token}
-
-\subsection{Comments}
-
-A comment starts with a hash character (\verb@#@) that is not part of
-a string literal, and ends at the end of the physical line. A comment
-always signifies the end of the logical line. Comments are ignored by
-the syntax.
-\index{comment}
-\index{logical line}
-\index{physical line}
-\index{hash character}
-
-\subsection{Explicit line joining}
-
-Two or more physical lines may be joined into logical lines using
-backslash characters (\verb/\/), as follows: when a physical line ends
-in a backslash that is not part of a string literal or comment, it is
-joined with the following forming a single logical line, deleting the
-backslash and the following end-of-line character. For example:
-\index{physical line}
-\index{line joining}
-\index{line continuation}
-\index{backslash character}
-%
-\begin{verbatim}
-if 1900 < year < 2100 and 1 <= month <= 12 \
- and 1 <= day <= 31 and 0 <= hour < 24 \
- and 0 <= minute < 60 and 0 <= second < 60: # Looks like a valid date
- return 1
-\end{verbatim}
-
-A line ending in a backslash cannot carry a comment; a backslash does
-not continue a comment (but it does continue a string literal, see
-below).
-
-\subsection{Implicit line joining}
-
-Expressions in parentheses, square brackets or curly braces can be
-split over more than one physical line without using backslashes.
-For example:
-
-\begin{verbatim}
-month_names = ['Januari', 'Februari', 'Maart', # These are the
- 'April', 'Mei', 'Juni', # Dutch names
- 'Juli', 'Augustus', 'September', # for the months
- 'Oktober', 'November', 'December'] # of the year
-\end{verbatim}
-
-Implicitly continued lines can carry comments. The indentation of the
-continuation lines is not important. Blank continuation lines are
-allowed.
-
-\subsection{Blank lines}
-
-A logical line that contains only spaces, tabs, and possibly a
-comment, is ignored (i.e., no NEWLINE token is generated), except that
-during interactive input of statements, an entirely blank logical line
-terminates a multi-line statement.
-\index{blank line}
-
-\subsection{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
-turn is used to determine the grouping of statements.
-\index{indentation}
-\index{whitespace}
-\index{leading whitespace}
-\index{space}
-\index{tab}
-\index{grouping}
-\index{statement grouping}
-
-First, tabs are replaced (from left to right) by one to eight spaces
-such that the total number of characters up to there is a multiple of
-eight (this is intended to be the same rule as used by {\UNIX}). The
-total number of spaces preceding the first non-blank character then
-determines the line's indentation. Indentation cannot be split over
-multiple physical lines using backslashes.
-
-The indentation levels of consecutive lines are used to generate
-INDENT and DEDENT tokens, using a stack, as follows.
-\index{INDENT token}
-\index{DEDENT token}
-
-Before the first line of the file is read, a single zero is pushed on
-the stack; this will never be popped off again. The numbers pushed on
-the stack will always be strictly increasing from bottom to top. At
-the beginning of each logical line, the line's indentation level is
-compared to the top of the stack. If it is equal, nothing happens.
-If it is larger, it is pushed on the stack, and one INDENT token is
-generated. If it is smaller, it {\em must} be one of the numbers
-occurring on the stack; all numbers on the stack that are larger are
-popped off, and for each number popped off a DEDENT token is
-generated. At the end of the file, a DEDENT token is generated for
-each number remaining on the stack that is larger than zero.
-
-Here is an example of a correctly (though confusingly) indented piece
-of Python code:
-
-\begin{verbatim}
-def perm(l):
- # Compute the list of all permutations of l
-
- if len(l) <= 1:
- return [l]
- r = []
- for i in range(len(l)):
- s = l[:i] + l[i+1:]
- p = perm(s)
- for x in p:
- r.append(l[i:i+1] + x)
- return r
-\end{verbatim}
-
-The following example shows various indentation errors:
-
-\begin{verbatim}
- def perm(l): # error: first line indented
- for i in range(len(l)): # error: not indented
- s = l[:i] + l[i+1:]
- p = perm(l[:i] + l[i+1:]) # error: unexpected indent
- for x in p:
- r.append(l[i:i+1] + x)
- return r # error: inconsistent dedent
-\end{verbatim}
-
-(Actually, the first three errors are detected by the parser; only the
-last error is found by the lexical analyzer --- the indentation of
-\verb@return r@ does not match a level popped off the stack.)
-
-\section{Other tokens}
-
-Besides NEWLINE, INDENT and DEDENT, the following categories of tokens
-exist: identifiers, keywords, literals, operators, and delimiters.
-Spaces and tabs are not tokens, but serve to delimit tokens. Where
-ambiguity exists, a token comprises the longest possible string that
-forms a legal token, when read from left to right.
-
-\section{Identifiers}
-
-Identifiers (also referred to as names) are described by the following
-lexical definitions:
-\index{identifier}
-\index{name}
-
-\begin{verbatim}
-identifier: (letter|"_") (letter|digit|"_")*
-letter: lowercase | uppercase
-lowercase: "a"..."z"
-uppercase: "A"..."Z"
-digit: "0"..."9"
-\end{verbatim}
-
-Identifiers are unlimited in length. Case is significant.
-
-\subsection{Keywords}
-
-The following identifiers are used as reserved words, or {\em
-keywords} of the language, and cannot be used as ordinary
-identifiers. They must be spelled exactly as written here:
-\index{keyword}
-\index{reserved word}
-
-\begin{verbatim}
-and elif global not try
-break else if or while
-class except import pass
-continue finally in print
-def for is raise
-del from lambda return
-\end{verbatim}
-
-% When adding keywords, pipe it through keywords.py for reformatting
-
-\section{Literals} \label{literals}
-
-Literals are notations for constant values of some built-in types.
-\index{literal}
-\index{constant}
-
-\subsection{String literals}
-
-String literals are described by the following lexical definitions:
-\index{string literal}
-
-\begin{verbatim}
-stringliteral: shortstring | longstring
-shortstring: "'" shortstringitem* "'" | '"' shortstringitem* '"'
-longstring: "'''" longstringitem* "'''" | '"""' longstringitem* '"""'
-shortstringitem: shortstringchar | escapeseq
-longstringitem: longstringchar | escapeseq
-shortstringchar: <any ASCII character except "\" or newline or the quote>
-longstringchar: <any ASCII character except "\">
-escapeseq: "\" <any ASCII character>
-\end{verbatim}
-\index{ASCII}
-
-In ``long strings'' (strings surrounded by sets of three quotes),
-unescaped newlines and quotes are allowed (and are retained), except
-that three unescaped quotes in a row terminate the string. (A
-``quote'' is the character used to open the string, i.e. either
-\verb/'/ or \verb/"/.)
-
-Escape sequences in strings are interpreted according to rules similar
-to those used by Standard C. The recognized escape sequences are:
-\index{physical line}
-\index{escape sequence}
-\index{Standard C}
-\index{C}
-
-\begin{center}
-\begin{tabular}{|l|l|}
-\hline
-\verb/\/{\em newline} & Ignored \\
-\verb/\\/ & Backslash (\verb/\/) \\
-\verb/\'/ & Single quote (\verb/'/) \\
-\verb/\"/ & Double quote (\verb/"/) \\
-\verb/\a/ & \ASCII{} Bell (BEL) \\
-\verb/\b/ & \ASCII{} Backspace (BS) \\
-%\verb/\E/ & \ASCII{} Escape (ESC) \\
-\verb/\f/ & \ASCII{} Formfeed (FF) \\
-\verb/\n/ & \ASCII{} Linefeed (LF) \\
-\verb/\r/ & \ASCII{} Carriage Return (CR) \\
-\verb/\t/ & \ASCII{} Horizontal Tab (TAB) \\
-\verb/\v/ & \ASCII{} Vertical Tab (VT) \\
-\verb/\/{\em ooo} & \ASCII{} character with octal value {\em ooo} \\
-\verb/\x/{\em xx...} & \ASCII{} character with hex value {\em xx...} \\
-\hline
-\end{tabular}
-\end{center}
-\index{ASCII}
-
-In strict compatibility with Standard C, up to three octal digits are
-accepted, but an unlimited number of hex digits is taken to be part of
-the hex escape (and then the lower 8 bits of the resulting hex number
-are used in all current implementations...).
-
-All unrecognized escape sequences are left in the string unchanged,
-i.e., {\em the backslash is left in the string.} (This behavior is
-useful when debugging: if an escape sequence is mistyped, the
-resulting output is more easily recognized as broken. It also helps a
-great deal for string literals used as regular expressions or
-otherwise passed to other modules that do their own escape handling.)
-\index{unrecognized escape sequence}
-
-\subsection{Numeric literals}
-
-There are three types of numeric literals: plain integers, long
-integers, and floating point numbers.
-\index{number}
-\index{numeric literal}
-\index{integer literal}
-\index{plain integer literal}
-\index{long integer literal}
-\index{floating point literal}
-\index{hexadecimal literal}
-\index{octal literal}
-\index{decimal literal}
-
-Integer and long integer literals are described by the following
-lexical definitions:
-
-\begin{verbatim}
-longinteger: integer ("l"|"L")
-integer: decimalinteger | octinteger | hexinteger
-decimalinteger: nonzerodigit digit* | "0"
-octinteger: "0" octdigit+
-hexinteger: "0" ("x"|"X") hexdigit+
-
-nonzerodigit: "1"..."9"
-octdigit: "0"..."7"
-hexdigit: digit|"a"..."f"|"A"..."F"
-\end{verbatim}
-
-Although both lower case `l' and upper case `L' are allowed as suffix
-for long integers, it is strongly recommended to always use `L', since
-the letter `l' looks too much like the digit `1'.
-
-Plain integer decimal literals must be at most 2147483647 (i.e., the
-largest positive integer, using 32-bit arithmetic). Plain octal and
-hexadecimal literals may be as large as 4294967295, but values larger
-than 2147483647 are converted to a negative value by subtracting
-4294967296. There is no limit for long integer literals apart from
-what can be stored in available memory.
-
-Some examples of plain and long integer literals:
-
-\begin{verbatim}
-7 2147483647 0177 0x80000000
-3L 79228162514264337593543950336L 0377L 0x100000000L
-\end{verbatim}
-
-Floating point literals are described by the following lexical
-definitions:
-
-\begin{verbatim}
-floatnumber: pointfloat | exponentfloat
-pointfloat: [intpart] fraction | intpart "."
-exponentfloat: (intpart | pointfloat) exponent
-intpart: digit+
-fraction: "." digit+
-exponent: ("e"|"E") ["+"|"-"] digit+
-\end{verbatim}
-
-The allowed range of floating point literals is
-implementation-dependent.
-
-Some examples of floating point literals:
-
-\begin{verbatim}
-3.14 10. .001 1e100 3.14e-10
-\end{verbatim}
-
-Note that numeric literals do not include a sign; a phrase like
-\verb@-1@ is actually an expression composed of the operator
-\verb@-@ and the literal \verb@1@.
-
-\section{Operators}
-
-The following tokens are operators:
-\index{operators}
-
-\begin{verbatim}
-+ - * / %
-<< >> & | ^ ~
-< == > <= <> != >=
-\end{verbatim}
-
-The comparison operators \verb@<>@ and \verb@!=@ are alternate
-spellings of the same operator.
-
-\section{Delimiters}
-
-The following tokens serve as delimiters or otherwise have a special
-meaning:
-\index{delimiters}
-
-\begin{verbatim}
-( ) [ ] { }
-, : . " ` '
-= ;
-\end{verbatim}
-
-The following printing \ASCII{} characters are not used in Python. Their
-occurrence outside string literals and comments is an unconditional
-error:
-\index{ASCII}
-
-\begin{verbatim}
-@ $ ?
-\end{verbatim}
-
-They may be used by future versions of the language though!
diff --git a/Doc/ref/ref3.tex b/Doc/ref/ref3.tex
deleted file mode 100644
index ca3525a..0000000
--- a/Doc/ref/ref3.tex
+++ /dev/null
@@ -1,885 +0,0 @@
-\chapter{Data model}
-
-\section{Objects, values and types}
-
-{\em Objects} are Python's abstraction for data. All data in a Python
-program is represented by objects or by relations between objects.
-(In a sense, and in conformance to Von Neumann's model of a
-``stored program computer'', code is also represented by objects.)
-\index{object}
-\index{data}
-
-Every object has an identity, a type and a value. An object's {\em
-identity} never changes once it has been created; you may think of it
-as the object's address in memory. An object's {\em type} is also
-unchangeable. It determines the operations that an object supports
-(e.g. ``does it have a length?'') and also defines the possible
-values for objects of that type. The {\em value} of some objects can
-change. Objects whose value can change are said to be {\em mutable};
-objects whose value is unchangeable once they are created are called
-{\em immutable}. The type determines an object's (im)mutability.
-\index{identity of an object}
-\index{value of an object}
-\index{type of an object}
-\index{mutable object}
-\index{immutable object}
-
-Objects are never explicitly destroyed; however, when they become
-unreachable they may be garbage-collected. An implementation is
-allowed to delay garbage collection or omit it altogether --- it is a
-matter of implementation quality how garbage collection is
-implemented, as long as no objects are collected that are still
-reachable. (Implementation note: the current implementation uses a
-reference-counting scheme which collects most objects as soon as they
-become unreachable, but never collects garbage containing circular
-references.)
-\index{garbage collection}
-\index{reference counting}
-\index{unreachable object}
-
-Note that the use of the implementation's tracing or debugging
-facilities may keep objects alive that would normally be collectable.
-
-Some objects contain references to ``external'' resources such as open
-files or windows. It is understood that these resources are freed
-when the object is garbage-collected, but since garbage collection is
-not guaranteed to happen, such objects also provide an explicit way to
-release the external resource, usually a \verb@close@ method.
-Programs are strongly recommended to always explicitly close such
-objects.
-
-Some objects contain references to other objects; these are called
-{\em containers}. Examples of containers are tuples, lists and
-dictionaries. The references are part of a container's value. In
-most cases, when we talk about the value of a container, we imply the
-values, not the identities of the contained objects; however, when we
-talk about the (im)mutability of a container, only the identities of
-the immediately contained objects are implied. (So, if an immutable
-container contains a reference to a mutable object, its value changes
-if that mutable object is changed.)
-\index{container}
-
-Types affect almost all aspects of objects' lives. Even the meaning
-of object identity is affected in some sense: for immutable types,
-operations that compute new values may actually return a reference to
-any existing object with the same type and value, while for mutable
-objects this is not allowed. E.g. after
-
-\begin{verbatim}
-a = 1; b = 1; c = []; d = []
-\end{verbatim}
-
-\verb@a@ and \verb@b@ may or may not refer to the same object with the
-value one, depending on the implementation, but \verb@c@ and \verb@d@
-are guaranteed to refer to two different, unique, newly created empty
-lists.
-
-\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
-Python may add types to the type hierarchy (e.g. rational or complex
-numbers, efficiently stored arrays of integers, etc.).
-\index{type}
-\indexii{data}{type}
-\indexii{type}{hierarchy}
-\indexii{extension}{module}
-\index{C}
-
-Some of the type descriptions below contain a paragraph listing
-`special attributes'. These are attributes that provide access to the
-implementation and are not intended for general use. Their definition
-may change in the future. There are also some `generic' special
-attributes, not listed with the individual objects: \verb@__methods__@
-is a list of the method names of a built-in object, if it has any;
-\verb@__members__@ is a list of the data attribute names of a built-in
-object, if it has any.
-\index{attribute}
-\indexii{special}{attribute}
-\indexiii{generic}{special}{attribute}
-\ttindex{__methods__}
-\ttindex{__members__}
-
-\begin{description}
-
-\item[None]
-This type has a single value. There is a single object with this value.
-This object is accessed through the built-in name \verb@None@.
-It is returned from functions that don't explicitly return an object.
-\ttindex{None}
-\obindex{None@{\tt None}}
-
-\item[Numbers]
-These are created by numeric literals and returned as results by
-arithmetic operators and arithmetic built-in functions. Numeric
-objects are immutable; once created their value never changes. Python
-numbers are of course strongly related to mathematical numbers, but
-subject to the limitations of numerical representation in computers.
-\obindex{number}
-\obindex{numeric}
-
-Python distinguishes between integers and floating point numbers:
-
-\begin{description}
-\item[Integers]
-These represent elements from the mathematical set of whole numbers.
-\obindex{integer}
-
-There are two types of integers:
-
-\begin{description}
-
-\item[Plain integers]
-These represent numbers in the range -2147483648 through 2147483647.
-(The range may be larger on machines with a larger natural word
-size, but not smaller.)
-When the result of an operation falls outside this range, the
-exception \verb@OverflowError@ is raised.
-For the purpose of shift and mask operations, integers are assumed to
-have a binary, 2's complement notation using 32 or more bits, and
-hiding no bits from the user (i.e., all 4294967296 different bit
-patterns correspond to different values).
-\obindex{plain integer}
-
-\item[Long integers]
-These represent numbers in an unlimited range, subject to available
-(virtual) memory only. For the purpose of shift and mask operations,
-a binary representation is assumed, and negative numbers are
-represented in a variant of 2's complement which gives the illusion of
-an infinite string of sign bits extending to the left.
-\obindex{long integer}
-
-\end{description} % Integers
-
-The rules for integer representation are intended to give the most
-meaningful interpretation of shift and mask operations involving
-negative integers and the least surprises when switching between the
-plain and long integer domains. For any operation except left shift,
-if it yields a result in the plain integer domain without causing
-overflow, it will yield the same result in the long integer domain or
-when using mixed operands.
-\indexii{integer}{representation}
-
-\item[Floating point numbers]
-These represent machine-level double precision floating point numbers.
-You are at the mercy of the underlying machine architecture and
-C implementation for the accepted range and handling of overflow.
-\obindex{floating point}
-\indexii{floating point}{number}
-\index{C}
-
-\end{description} % Numbers
-
-\item[Sequences]
-These represent finite ordered sets indexed by natural numbers.
-The built-in function \verb@len()@ returns the number of elements
-of a sequence. When this number is \var{n}, the index set contains
-the numbers 0, 1, \ldots, \var{n}-1. Element \var{i} of sequence
-\var{a} is selected by \code{\var{a}[\var{i}]}.
-\obindex{seqence}
-\bifuncindex{len}
-\index{index operation}
-\index{item selection}
-\index{subscription}
-
-Sequences also support slicing: \verb@a[i:j]@ selects all elements
-with index \var{k} such that \var{i} \code{<=} \var{k} \code{<}
-\var{j}. When used as an expression, a slice is a sequence of the
-same type --- this implies that the index set is renumbered so that it
-starts at 0 again.
-\index{slicing}
-
-Sequences are distinguished according to their mutability:
-
-\begin{description}
-%
-\item[Immutable sequences]
-An object of an immutable sequence type cannot change once it is
-created. (If the object contains references to other objects,
-these other objects may be mutable and may be changed; however
-the collection of objects directly referenced by an immutable object
-cannot change.)
-\obindex{immutable sequence}
-\obindex{immutable}
-
-The following types are immutable sequences:
-
-\begin{description}
-
-\item[Strings]
-The elements of a string are characters. There is no separate
-character type; a character is represented by a string of one element.
-Characters represent (at least) 8-bit bytes. The built-in
-functions \verb@chr()@ and \verb@ord()@ convert between characters
-and nonnegative integers representing the byte values.
-Bytes with the values 0-127 represent the corresponding \ASCII{} values.
-The string data type is also used to represent arrays of bytes, e.g.
-to hold data read from a file.
-\obindex{string}
-\index{character}
-\index{byte}
-\index{ASCII}
-\bifuncindex{chr}
-\bifuncindex{ord}
-
-(On systems whose native character set is not \ASCII{}, strings may use
-EBCDIC in their internal representation, provided the functions
-\verb@chr()@ and \verb@ord()@ implement a mapping between \ASCII{} and
-EBCDIC, and string comparison preserves the \ASCII{} order.
-Or perhaps someone can propose a better rule?)
-\index{ASCII}
-\index{EBCDIC}
-\index{character set}
-\indexii{string}{comparison}
-\bifuncindex{chr}
-\bifuncindex{ord}
-
-\item[Tuples]
-The elements of a tuple are arbitrary Python objects.
-Tuples of two or more elements are formed by comma-separated lists
-of expressions. A tuple of one element (a `singleton') can be formed
-by affixing a comma to an expression (an expression by itself does
-not create a tuple, since parentheses must be usable for grouping of
-expressions). An empty tuple can be formed by enclosing `nothing' in
-parentheses.
-\obindex{tuple}
-\indexii{singleton}{tuple}
-\indexii{empty}{tuple}
-
-\end{description} % Immutable sequences
-
-\item[Mutable sequences]
-Mutable sequences can be changed after they are created. The
-subscription and slicing notations can be used as the target of
-assignment and \verb@del@ (delete) statements.
-\obindex{mutable sequece}
-\obindex{mutable}
-\indexii{assignment}{statement}
-\index{delete}
-\stindex{del}
-\index{subscription}
-\index{slicing}
-
-There is currently a single mutable sequence type:
-
-\begin{description}
-
-\item[Lists]
-The elements of a list are arbitrary Python objects. Lists are formed
-by placing a comma-separated list of expressions in square brackets.
-(Note that there are no special cases needed to form lists of length 0
-or 1.)
-\obindex{list}
-
-\end{description} % Mutable sequences
-
-\end{description} % Sequences
-
-\item[Mapping types]
-These represent finite sets of objects indexed by arbitrary index sets.
-The subscript notation \verb@a[k]@ selects the element indexed
-by \verb@k@ from the mapping \verb@a@; this can be used in
-expressions and as the target of assignments or \verb@del@ statements.
-The built-in function \verb@len()@ returns the number of elements
-in a mapping.
-\bifuncindex{len}
-\index{subscription}
-\obindex{mapping}
-
-There is currently a single mapping type:
-
-\begin{description}
-
-\item[Dictionaries]
-These represent finite sets of objects indexed by almost arbitrary
-values. The only types of values not acceptable as keys are values
-containing lists or dictionaries or other mutable types that are
-compared by value rather than by object identity --- the reason being
-that the implementation requires that a key's hash value be constant.
-Numeric types used for keys obey the normal rules for numeric
-comparison: if two numbers compare equal (e.g. 1 and 1.0) then they
-can be used interchangeably to index the same dictionary entry.
-
-Dictionaries are mutable; they are created by the \verb@{...}@
-notation (see section \ref{dict}).
-\obindex{dictionary}
-\obindex{mutable}
-
-\end{description} % Mapping types
-
-\item[Callable types]
-These are the types to which the function call (invocation) operation,
-written as \verb@function(argument, argument, ...)@, can be applied:
-\indexii{function}{call}
-\index{invocation}
-\indexii{function}{argument}
-\obindex{callable}
-
-\begin{description}
-
-\item[User-defined functions]
-A user-defined function object is created by a function definition
-(see section \ref{function}). It should be called with an argument
-list containing the same number of items as the function's formal
-parameter list.
-\indexii{user-defined}{function}
-\obindex{function}
-\obindex{user-defined function}
-
-Special read-only attributes: \verb@func_code@ is the code object
-representing the compiled function body, and \verb@func_globals@ is (a
-reference to) the dictionary that holds the function's global
-variables --- it implements the global name space of the module in
-which the function was defined.
-\ttindex{func_code}
-\ttindex{func_globals}
-\indexii{global}{name space}
-
-\item[User-defined methods]
-A user-defined method (a.k.a. {\em object closure}) is a pair of a
-class instance object and a user-defined function. It should be
-called with an argument list containing one item less than the number
-of items in the function's formal parameter list. When called, the
-class instance becomes the first argument, and the call arguments are
-shifted one to the right.
-\obindex{method}
-\obindex{user-defined method}
-\indexii{user-defined}{method}
-\index{object closure}
-
-Special read-only attributes: \verb@im_self@ is the class instance
-object, \verb@im_func@ is the function object.
-\ttindex{im_func}
-\ttindex{im_self}
-
-\item[Built-in functions]
-A built-in function object is a wrapper around a C function. Examples
-of built-in functions are \verb@len@ and \verb@math.sin@. There
-are no special attributes. The number and type of the arguments are
-determined by the C function.
-\obindex{built-in function}
-\obindex{function}
-\index{C}
-
-\item[Built-in methods]
-This is really a different disguise of a built-in function, this time
-containing an object passed to the C function as an implicit extra
-argument. An example of a built-in method is \verb@list.append@ if
-\verb@list@ is a list object.
-\obindex{built-in method}
-\obindex{method}
-\indexii{built-in}{method}
-
-\item[Classes]
-Class objects are described below. When a class object is called as a
-function, a new class instance (also described below) is created and
-returned. This implies a call to the class's \verb@__init__@ method
-if it has one. Any arguments are passed on to the \verb@__init__@
-method --- if there is no \verb@__init__@ method, the class must be called
-without arguments.
-\ttindex{__init__}
-\obindex{class}
-\obindex{class instance}
-\obindex{instance}
-\indexii{class object}{call}
-
-\end{description}
-
-\item[Modules]
-Modules are imported by the \verb@import@ statement (see section
-\ref{import}). A module object is a container for a module's name
-space, which is a dictionary (the same dictionary as referenced by the
-\verb@func_globals@ attribute of functions defined in the module).
-Module attribute references are translated to lookups in this
-dictionary. A module object does not contain the code object used to
-initialize the module (since it isn't needed once the initialization
-is done).
-\stindex{import}
-\obindex{module}
-
-Attribute assignment update the module's name space dictionary.
-
-Special read-only attribute: \verb@__dict__@ yields the module's name
-space as a dictionary object. Predefined attributes: \verb@__name__@
-yields the module's name as a string object; \verb@__doc__@ yields the
-module's documentation string as a string object, or
-\verb@None@ if no documentation string was found.
-\ttindex{__dict__}
-\ttindex{__name__}
-\ttindex{__doc__}
-\indexii{module}{name space}
-
-\item[Classes]
-Class objects are created by class definitions (see section
-\ref{class}). A class is a container for a dictionary containing the
-class's name space. Class attribute references are translated to
-lookups in this dictionary. When an attribute name is not found
-there, the attribute search continues in the base classes. The search
-is depth-first, left-to-right in the order of their occurrence in the
-base class list.
-\obindex{class}
-\obindex{class instance}
-\obindex{instance}
-\indexii{class object}{call}
-\index{container}
-\obindex{dictionary}
-\indexii{class}{attribute}
-
-Class attribute assignments update the class's dictionary, never the
-dictionary of a base class.
-\indexiii{class}{attribute}{assignment}
-
-A class can be called as a function to yield a class instance (see
-above).
-\indexii{class object}{call}
-
-Special read-only attributes: \verb@__dict__@ yields the dictionary
-containing the class's name space; \verb@__bases__@ yields a tuple
-(possibly empty or a singleton) containing the base classes, in the
-order of their occurrence in the base class list.
-\ttindex{__dict__}
-\ttindex{__bases__}
-
-\item[Class instances]
-A class instance is created by calling a class object as a
-function. A class instance has a dictionary in which
-attribute references are searched. When an attribute is not found
-there, and the instance's class has an attribute by that name, and
-that class attribute is a user-defined function (and in no other
-cases), the instance attribute reference yields a user-defined method
-object (see above) constructed from the instance and the function.
-\obindex{class instance}
-\obindex{instance}
-\indexii{class}{instance}
-\indexii{class instance}{attribute}
-
-Attribute assignments update the instance's dictionary.
-\indexiii{class instance}{attribute}{assignment}
-
-Class instances can pretend to be numbers, sequences, or mappings if
-they have methods with certain special names. These are described in
-section \ref{specialnames}.
-\obindex{number}
-\obindex{sequence}
-\obindex{mapping}
-
-Special read-only attributes: \verb@__dict__@ yields the attribute
-dictionary; \verb@__class__@ yields the instance's class.
-\ttindex{__dict__}
-\ttindex{__class__}
-
-\item[Files]
-A file object represents an open file. (It is a wrapper around a C
-{\tt stdio} file pointer.) File objects are created by the
-\verb@open()@ built-in function, and also by \verb@posix.popen()@ and
-the \verb@makefile@ method of socket objects. \verb@sys.stdin@,
-\verb@sys.stdout@ and \verb@sys.stderr@ are file objects corresponding
-to the interpreter's standard input, output and error streams.
-See the Python Library Reference for methods of file objects and other
-details.
-\obindex{file}
-\index{C}
-\index{stdio}
-\bifuncindex{open}
-\bifuncindex{popen}
-\bifuncindex{makefile}
-\ttindex{stdin}
-\ttindex{stdout}
-\ttindex{stderr}
-\ttindex{sys.stdin}
-\ttindex{sys.stdout}
-\ttindex{sys.stderr}
-
-\item[Internal types]
-A few types used internally by the interpreter are exposed to the user.
-Their definition may change with future versions of the interpreter,
-but they are mentioned here for completeness.
-\index{internal type}
-
-\begin{description}
-
-\item[Code objects]
-Code objects represent ``pseudo-compiled'' executable Python code.
-The difference between a code
-object and a function object is that the function object contains an
-explicit reference to the function's context (the module in which it
-was defined) while a code object contains no context.
-\obindex{code}
-
-Special read-only attributes: \verb@co_code@ is a string representing
-the sequence of instructions; \verb@co_consts@ is a list of literals
-used by the code; \verb@co_names@ is a list of names (strings) used by
-the code; \verb@co_filename@ is the filename from which the code was
-compiled. (To find out the line numbers, you would have to decode the
-instructions; the standard library module \verb@dis@ contains an
-example of how to do this.)
-\ttindex{co_code}
-\ttindex{co_consts}
-\ttindex{co_names}
-\ttindex{co_filename}
-
-\item[Frame objects]
-Frame objects represent execution frames. They may occur in traceback
-objects (see below).
-\obindex{frame}
-
-Special read-only attributes: \verb@f_back@ is to the previous
-stack frame (towards the caller), or \verb@None@ if this is the bottom
-stack frame; \verb@f_code@ is the code object being executed in this
-frame; \verb@f_globals@ is the dictionary used to look up global
-variables; \verb@f_locals@ is used for local variables;
-\verb@f_lineno@ gives the line number and \verb@f_lasti@ gives the
-precise instruction (this is an index into the instruction string of
-the code object).
-\ttindex{f_back}
-\ttindex{f_code}
-\ttindex{f_globals}
-\ttindex{f_locals}
-\ttindex{f_lineno}
-\ttindex{f_lasti}
-
-\item[Traceback objects] \label{traceback}
-Traceback objects represent a stack trace of an exception. A
-traceback object is created when an exception occurs. When the search
-for an exception handler unwinds the execution stack, at each unwound
-level a traceback object is inserted in front of the current
-traceback. When an exception handler is entered
-(see also section \ref{try}), the stack trace is
-made available to the program as \verb@sys.exc_traceback@. When the
-program contains no suitable handler, the stack trace is written
-(nicely formatted) to the standard error stream; if the interpreter is
-interactive, it is also made available to the user as
-\verb@sys.last_traceback@.
-\obindex{traceback}
-\indexii{stack}{trace}
-\indexii{exception}{handler}
-\indexii{execution}{stack}
-\ttindex{exc_traceback}
-\ttindex{last_traceback}
-\ttindex{sys.exc_traceback}
-\ttindex{sys.last_traceback}
-
-Special read-only attributes: \verb@tb_next@ is the next level in the
-stack trace (towards the frame where the exception occurred), or
-\verb@None@ if there is no next level; \verb@tb_frame@ points to the
-execution frame of the current level; \verb@tb_lineno@ gives the line
-number where the exception occurred; \verb@tb_lasti@ indicates the
-precise instruction. The line number and last instruction in the
-traceback may differ from the line number of its frame object if the
-exception occurred in a \verb@try@ statement with no matching
-\verb@except@ clause or with a \verb@finally@ clause.
-\ttindex{tb_next}
-\ttindex{tb_frame}
-\ttindex{tb_lineno}
-\ttindex{tb_lasti}
-\stindex{try}
-
-\end{description} % Internal types
-
-\end{description} % Types
-
-
-\section{Special method names} \label{specialnames}
-
-A class can implement certain operations that are invoked by special
-syntax (such as subscription or arithmetic operations) by defining
-methods with special names. For instance, if a class defines a
-method named \verb@__getitem__@, and \verb@x@ is an instance of this
-class, then \verb@x[i]@ is equivalent to \verb@x.__getitem__(i)@.
-(The reverse is not true --- if \verb@x@ is a list object,
-\verb@x.__getitem__(i)@ is not equivalent to \verb@x[i]@.)
-\ttindex{__getitem__}
-
-Except for \verb@__repr__@, \verb@__str__@ and \verb@__cmp__@,
-attempts to execute an
-operation raise an exception when no appropriate method is defined.
-For \verb@__repr__@, the default is to return a string describing the
-object's class and address.
-For \verb@__cmp__@, the default is to compare instances based on their
-address.
-For \verb@__str__@, the default is to use \verb@__repr__@.
-\ttindex{__repr__}
-\ttindex{__str__}
-\ttindex{__cmp__}
-
-
-\subsection{Special methods for any type}
-
-\begin{description}
-
-\item[{\tt __init__(self, args...)}]
-Called when the instance is created. The arguments are those passed
-to the class constructor expression. If a base class has an
-\code{__init__} method the derived class's \code{__init__} method must
-explicitly call it to ensure proper initialization of the base class
-part of the instance.
-\ttindex{__init__}
-\indexii{class}{constructor}
-
-
-\item[{\tt __del__(self)}]
-Called when the instance is about to be destroyed. If a base class
-has an \code{__del__} method the derived class's \code{__del__} method
-must explicitly call it to ensure proper deletion of the base class
-part of the instance. Note that it is possible for the \code{__del__}
-method to postpone destruction of the instance by creating a new
-reference to it. It may then be called at a later time when this new
-reference is deleted. It is not guaranteed that
-\code{__del__} methods are called for objects that still exist when
-the interpreter exits.
-If an exception occurs in a \code{__del__} method, it is ignored, and
-a warning is printed on stderr.
-\ttindex{__del__}
-\stindex{del}
-
-Note that \code{del x} doesn't directly call \code{x.__del__} --- the
-former decrements the reference count for \code{x} by one, but
-\code{x.__del__} is only called when its reference count reaches zero.
-
-\strong{Warning:} due to the precarious circumstances under which
-\code{__del__} methods are executed, exceptions that occur during
-their execution are \emph{ignored}.
-
-\item[{\tt __repr__(self)}]
-Called by the \verb@repr()@ built-in function and by string conversions
-(reverse or backward quotes) to compute the string representation of an object.
-\ttindex{__repr__}
-\bifuncindex{repr}
-\indexii{string}{conversion}
-\indexii{reverse}{quotes}
-\indexii{backward}{quotes}
-\index{back-quotes}
-
-\item[{\tt __str__(self)}]
-Called by the \verb@str()@ built-in function and by the \verb@print@
-statement compute the string representation of an object.
-\ttindex{__str__}
-\bifuncindex{str}
-\stindex{print}
-
-\item[{\tt __cmp__(self, other)}]
-Called by all comparison operations. Should return -1 if
-\verb@self < other@, 0 if \verb@self == other@, +1 if
-\verb@self > other@. If no \code{__cmp__} operation is defined, class
-instances are compared by object identity (``address'').
-(Implementation note: due to limitations in the interpreter,
-exceptions raised by comparisons are ignored, and the objects will be
-considered equal in this case.)
-\ttindex{__cmp__}
-\bifuncindex{cmp}
-\index{comparisons}
-
-\item[{\tt __hash__(self)}]
-Called for the key object for dictionary operations,
-and by the built-in function
-\code{hash()}. Should return a 32-bit integer usable as a hash value
-for dictionary operations. The only required property is that objects
-which compare equal have the same hash value; it is advised to somehow
-mix together (e.g. using exclusive or) the hash values for the
-components of the object that also play a part in comparison of
-objects. If a class does not define a \code{__cmp__} method it should
-not define a \code{__hash__} operation either; if it defines
-\code{__cmp__} but not \code{__hash__} its instances will not be
-usable as dictionary keys. If a class defines mutable objects and
-implements a \code{__cmp__} method it should not implement
-\code{__hash__}, since the dictionary implementation assumes that a
-key's hash value is a constant.
-\obindex{dictionary}
-\ttindex{__cmp__}
-\ttindex{__hash__}
-\bifuncindex{hash}
-
-\item[{\tt __call__(self, *args)}]
-Called when the instance is ``called'' as a function.
-\ttindex{__call__}
-\indexii{call}{instance}
-
-\end{description}
-
-
-\subsection{Special methods for attribute access}
-
-The following methods can be used to change the meaning of attribute
-access for class instances.
-
-\begin{description}
-
-\item[{\tt __getattr__(self, name)}]
-Called when an attribute lookup has not found the attribute in the
-usual places (i.e. it is not an instance attribute nor is it found in
-the class tree for \code{self}). \code{name} is the attribute name.
-\ttindex{__getattr__}
-
-Note that if the attribute is found through the normal mechanism,
-\code{__getattr__} is not called. (This is an asymmetry between
-\code{__getattr__} and \code{__setattr__}.)
-This is done both for efficiency reasons and because otherwise
-\code{__getattr__} would have no way to access other attributes of the
-instance.
-Note that at least for instance variables, \code{__getattr__} can fake
-total control by simply not inserting any values in the instance
-attribute dictionary.
-\ttindex{__setattr__}
-
-\item[{\tt __setattr__(self, name, value)}]
-Called when an attribute assignment is attempted. This is called
-instead of the normal mechanism (i.e. store the value as an instance
-attribute). \code{name} is the attribute name, \code{value} is the
-value to be assigned to it.
-\ttindex{__setattr__}
-
-If \code{__setattr__} wants to assign to an instance attribute, it
-should not simply execute \code{self.\var{name} = value} --- this would
-cause a recursive call. Instead, it should insert the value in the
-dictionary of instance attributes, e.g. \code{self.__dict__[name] =
-value}.
-\ttindex{__dict__}
-
-\item[{\tt __delattr__(self, name)}]
-Like \code{__setattr__} but for attribute deletion instead of
-assignment.
-\ttindex{__delattr__}
-
-\end{description}
-
-
-\subsection{Special methods for sequence and mapping types}
-
-\begin{description}
-
-\item[{\tt __len__(self)}]
-Called to implement the built-in function \verb@len()@. Should return
-the length of the object, an integer \verb@>=@ 0. Also, an object
-whose \verb@__len__()@ method returns 0 is considered to be false in a
-Boolean context.
-\ttindex{__len__}
-
-\item[{\tt __getitem__(self, key)}]
-Called to implement evaluation of \verb@self[key]@. Note that the
-special interpretation of negative keys (if the class wishes to
-emulate a sequence type) is up to the \verb@__getitem__@ method.
-\ttindex{__getitem__}
-
-\item[{\tt __setitem__(self, key, value)}]
-Called to implement assignment to \verb@self[key]@. Same note as for
-\verb@__getitem__@.
-\ttindex{__setitem__}
-
-\item[{\tt __delitem__(self, key)}]
-Called to implement deletion of \verb@self[key]@. Same note as for
-\verb@__getitem__@.
-\ttindex{__delitem__}
-
-\end{description}
-
-
-\subsection{Special methods for sequence types}
-
-\begin{description}
-
-\item[{\tt __getslice__(self, i, j)}]
-Called to implement evaluation of \verb@self[i:j]@. Note that missing
-\verb@i@ or \verb@j@ are replaced by 0 or \verb@len(self)@,
-respectively, and \verb@len(self)@ has been added (once) to originally
-negative \verb@i@ or \verb@j@ by the time this function is called
-(unlike for \verb@__getitem__@).
-\ttindex{__getslice__}
-
-\item[{\tt __setslice__(self, i, j, sequence)}]
-Called to implement assignment to \verb@self[i:j]@. Same notes as for
-\verb@__getslice__@.
-\ttindex{__setslice__}
-
-\item[{\tt __delslice__(self, i, j)}]
-Called to implement deletion of \verb@self[i:j]@. Same notes as for
-\verb@__getslice__@.
-\ttindex{__delslice__}
-
-\end{description}
-
-
-\subsection{Special methods for numeric types}
-
-\begin{description}
-
-\item[{\tt __add__(self, other)}]\itemjoin
-\item[{\tt __sub__(self, other)}]\itemjoin
-\item[{\tt __mul__(self, other)}]\itemjoin
-\item[{\tt __div__(self, other)}]\itemjoin
-\item[{\tt __mod__(self, other)}]\itemjoin
-\item[{\tt __divmod__(self, other)}]\itemjoin
-\item[{\tt __pow__(self, other)}]\itemjoin
-\item[{\tt __lshift__(self, other)}]\itemjoin
-\item[{\tt __rshift__(self, other)}]\itemjoin
-\item[{\tt __and__(self, other)}]\itemjoin
-\item[{\tt __xor__(self, other)}]\itemjoin
-\item[{\tt __or__(self, other)}]\itembreak
-Called to implement the binary arithmetic operations (\verb@+@,
-\verb@-@, \verb@*@, \verb@/@, \verb@%@, \verb@divmod()@, \verb@pow()@,
-\verb@<<@, \verb@>>@, \verb@&@, \verb@^@, \verb@|@).
-\ttindex{__or__}
-\ttindex{__xor__}
-\ttindex{__and__}
-\ttindex{__rshift__}
-\ttindex{__lshift__}
-\ttindex{__pow__}
-\ttindex{__divmod__}
-\ttindex{__mod__}
-\ttindex{__div__}
-\ttindex{__mul__}
-\ttindex{__sub__}
-\ttindex{__add__}
-
-\item[{\tt __neg__(self)}]\itemjoin
-\item[{\tt __pos__(self)}]\itemjoin
-\item[{\tt __abs__(self)}]\itemjoin
-\item[{\tt __invert__(self)}]\itembreak
-Called to implement the unary arithmetic operations (\verb@-@, \verb@+@,
-\verb@abs()@ and \verb@~@).
-\ttindex{__invert__}
-\ttindex{__abs__}
-\ttindex{__pos__}
-\ttindex{__neg__}
-
-\item[{\tt __nonzero__(self)}]
-Called to implement boolean testing; should return 0 or 1. An
-alternative name for this method is \verb@__len__@.
-\ttindex{__nonzero__}
-
-\item[{\tt __coerce__(self, other)}]
-Called to implement ``mixed-mode'' numeric arithmetic. Should either
-return a tuple containing self and other converted to a common numeric
-type, or None if no way of conversion is known. When the common type
-would be the type of other, it is sufficient to return None, since the
-interpreter will also ask the other object to attempt a coercion (but
-sometimes, if the implementation of the other type cannot be changed,
-it is useful to do the conversion to the other type here).
-\ttindex{__coerce__}
-
-Note that this method is not called to coerce the arguments to \verb@+@
-and \verb@*@, because these are also used to implement sequence
-concatenation and repetition, respectively. Also note that, for the
-same reason, in \verb@n*x@, where \verb@n@ is a built-in number and
-\verb@x@ is an instance, a call to \verb@x.__mul__(n)@ is made.%
-\footnote{The interpreter should really distinguish between
-user-defined classes implementing sequences, mappings or numbers, but
-currently it doesn't --- hence this strange exception.}
-\ttindex{__mul__}
-
-\item[{\tt __int__(self)}]\itemjoin
-\item[{\tt __long__(self)}]\itemjoin
-\item[{\tt __float__(self)}]\itembreak
-Called to implement the built-in functions \verb@int()@, \verb@long()@
-and \verb@float()@. Should return a value of the appropriate type.
-\ttindex{__float__}
-\ttindex{__long__}
-\ttindex{__int__}
-
-\item[{\tt __oct__(self)}]\itemjoin
-\item[{\tt __hex__(self)}]\itembreak
-Called to implement the built-in functions \verb@oct()@ and
-\verb@hex()@. Should return a string value.
-\ttindex{__hex__}
-\ttindex{__oct__}
-
-\end{description}
diff --git a/Doc/ref/ref4.tex b/Doc/ref/ref4.tex
deleted file mode 100644
index 4b4d522..0000000
--- a/Doc/ref/ref4.tex
+++ /dev/null
@@ -1,201 +0,0 @@
-\chapter{Execution model}
-\index{execution model}
-
-\section{Code blocks, execution frames, and name spaces} \label{execframes}
-\index{code block}
-\indexii{execution}{frame}
-\index{name space}
-
-A {\em code block} is a piece of Python program text that can be
-executed as a unit, such as a module, a class definition or a function
-body. Some code blocks (like modules) are executed only once, others
-(like function bodies) may be executed many times. Code blocks may
-textually contain other code blocks. Code blocks may invoke other
-code blocks (that may or may not be textually contained in them) as
-part of their execution, e.g. by invoking (calling) a function.
-\index{code block}
-\indexii{code}{block}
-
-The following are code blocks: A module is a code block. A function
-body is a code block. A class definition is a code block. Each
-command typed interactively is a separate code block; a script file is
-a code block. The string argument passed to the built-in function
-\verb@eval@ and to the \verb@exec@ statement are code blocks.
-And finally, the
-expression read and evaluated by the built-in function \verb@input@ is
-a code block.
-
-A code block is executed in an execution frame. An {\em execution
-frame} contains some administrative information (used for debugging),
-determines where and how execution continues after the code block's
-execution has completed, and (perhaps most importantly) defines two
-name spaces, the local and the global name space, that affect
-execution of the code block.
-\indexii{execution}{frame}
-
-A {\em name space} is a mapping from names (identifiers) to objects.
-A particular name space may be referenced by more than one execution
-frame, and from other places as well. Adding a name to a name space
-is called {\em binding} a name (to an object); changing the mapping of
-a name is called {\em rebinding}; removing a name is {\em unbinding}.
-Name spaces are functionally equivalent to dictionaries.
-\index{name space}
-\indexii{binding}{name}
-\indexii{rebinding}{name}
-\indexii{unbinding}{name}
-
-The {\em local name space} of an execution frame determines the default
-place where names are defined and searched. The {\em global name
-space} determines the place where names listed in \verb@global@
-statements are defined and searched, and where names that are not
-explicitly bound in the current code block are searched.
-\indexii{local}{name space}
-\indexii{global}{name space}
-\stindex{global}
-
-Whether a name is local or global in a code block is determined by
-static inspection of the source text for the code block: in the
-absence of \verb@global@ statements, a name that is bound anywhere in
-the code block is local in the entire code block; all other names are
-considered global. The \verb@global@ statement forces global
-interpretation of selected names throughout the code block. The
-following constructs bind names: formal parameters, \verb@import@
-statements, class and function definitions (these bind the class or
-function name), and targets that are identifiers if occurring in an
-assignment, \verb@for@ loop header, or \verb@except@ clause header.
-
-A target occurring in a \verb@del@ statement is also considered bound
-for this purpose (though the actual semantics are to ``unbind'' the
-name).
-
-When a global name is not found in the global name space, it is
-searched in the list of ``built-in'' names (which is actually the
-global name space of the module \verb@__builtin__@). When a name is not
-found at all, the \verb@NameError@ exception is raised.%
-\footnote{If the code block contains {\tt exec} statements or the
-construct {\tt from \ldots import *}, the semantics of names not
-explicitly mentioned in a {\tt global} statement change subtly: name
-lookup first searches the local name space, then the global one, then
-the built-in one.}
-\bimodindex{__builtin__}
-\stindex{from}
-\stindex{exec}
-\stindex{global}
-\ttindex{NameError}
-
-The following table lists the meaning of the local and global name
-space for various types of code blocks. The name space for a
-particular module is automatically created when the module is first
-referenced. Note that in almost all cases, the global name space is
-the name space of the containing module --- scopes in Python do not
-nest!
-
-\begin{center}
-\begin{tabular}{|l|l|l|l|}
-\hline
-Code block type & Global name space & Local name space & Notes \\
-\hline
-Module & n.s. for this module & same as global & \\
-Script & n.s. for \verb@__main__@ & same as global & \\
-Interactive command & n.s. for \verb@__main__@ & same as global & \\
-Class definition & global n.s. of containing block & new n.s. & \\
-Function body & global n.s. of containing block & new n.s. & (2) \\
-String passed to \verb@exec@ statement
- & global n.s. of containing block
- & local n.s. of containing block & (1) \\
-String passed to \verb@eval()@
- & global n.s. of caller & local n.s. of caller & (1) \\
-File read by \verb@execfile()@
- & global n.s. of caller & local n.s. of caller & (1) \\
-Expression read by \verb@input@
- & global n.s. of caller & local n.s. of caller & \\
-\hline
-\end{tabular}
-\end{center}
-\bimodindex{__main__}
-
-Notes:
-
-\begin{description}
-
-\item[n.s.] means {\em name space}
-
-\item[(1)] The global and local name space for these can be
-overridden with optional extra arguments.
-
-\item[(2)] The body of lambda forms (see section \ref{lambda}) is
-treated exactly the same as a (nested) function definition. Lambda
-forms have their own name space consisting of their formal arguments.
-\indexii{lambda}{form}
-
-\end{description}
-
-The built-in functions \verb@globals()@ and \verb@locals()@ returns a
-dictionary representing the current global and local name space,
-respectively. The effect of modifications to this dictionary on the
-name space are undefined.%
-\footnote{The current implementations return the dictionary actually
-used to implement the name space, {\em except} for functions, where
-the optimizer may cause the local name space to be implemented
-differently, and \verb@locals()@ returns a read-only dictionary.}
-
-\section{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
-conditions. An exception is {\em raised} at the point where the error
-is detected; it may be {\em handled} by the surrounding code block or
-by any code block that directly or indirectly invoked the code block
-where the error occurred.
-\index{exception}
-\index{raise an exception}
-\index{handle an exception}
-\index{exception handler}
-\index{errors}
-\index{error handling}
-
-The Python interpreter raises an exception when it detects an run-time
-error (such as division by zero). A Python program can also
-explicitly raise an exception with the \verb@raise@ statement.
-Exception handlers are specified with the \verb@try...except@
-statement.
-
-Python uses the ``termination'' model of error handling: an exception
-handler can find out what happened and continue execution at an outer
-level, but it cannot repair the cause of the error and retry the
-failing operation (except by re-entering the the offending piece of
-code from the top).
-
-When an exception is not handled at all, the interpreter terminates
-execution of the program, or returns to its interactive main loop.
-
-Exceptions are identified by string objects or class instances. Two
-different string objects with the same value identify different
-exceptions. An exception can be raised with a class instance. Such
-exceptions are caught by specifying an except clause that has the
-class name (or a base class) as the condition.
-
-When an exception is raised, an object (maybe \verb@None@) is passed
-as the exception's ``parameter''; this object does not affect the
-selection of an exception handler, but is passed to the selected
-exception handler as additional information. For exceptions raised
-with a class instance, the instance is passed as the ``parameter''.
-
-For example:
-
-\begin{verbatim}
->>> class Error:
-... def __init__(self, msg): self.msg = msg
-...
->>> class SpecificError(Error): pass
-...
->>> try:
-... raise SpecificError('broken')
-... except Error, obj:
-... print obj.msg
-...
-broken
-\end{verbatim}
-
-See also the description of the \verb@try@ and \verb@raise@
-statements.
diff --git a/Doc/ref/ref5.tex b/Doc/ref/ref5.tex
deleted file mode 100644
index b2fea3c..0000000
--- a/Doc/ref/ref5.tex
+++ /dev/null
@@ -1,759 +0,0 @@
-\chapter{Expressions and conditions}
-\index{expression}
-\index{condition}
-
-{\bf Note:} In this and the following chapters, extended BNF notation
-will be used to describe syntax, not lexical analysis.
-\index{BNF}
-
-This chapter explains the meaning of the elements of expressions and
-conditions. Conditions are a superset of expressions, and a condition
-may be used wherever an expression is required by enclosing it in
-parentheses. The only places where expressions are used in the syntax
-instead of conditions is in expression statements and on the
-right-hand side of assignment statements; this catches some nasty bugs
-like accidentally writing \verb@x == 1@ instead of \verb@x = 1@.
-\indexii{assignment}{statement}
-
-The comma plays several roles in Python's syntax. It is usually an
-operator with a lower precedence than all others, but occasionally
-serves other purposes as well; e.g. it separates function arguments,
-is used in list and dictionary constructors, and has special semantics
-in \verb@print@ statements.
-\index{comma}
-
-When (one alternative of) a syntax rule has the form
-
-\begin{verbatim}
-name: othername
-\end{verbatim}
-
-and no semantics are given, the semantics of this form of \verb@name@
-are the same as for \verb@othername@.
-\index{syntax}
-
-\section{Arithmetic conversions}
-\indexii{arithmetic}{conversion}
-
-When a description of an arithmetic operator below uses the phrase
-``the numeric arguments are converted to a common type'',
-this both means that if either argument is not a number, a
-\verb@TypeError@ exception is raised, and that otherwise
-the following conversions are applied:
-\exindex{TypeError}
-\indexii{floating point}{number}
-\indexii{long}{integer}
-\indexii{plain}{integer}
-
-\begin{itemize}
-\item first, if either argument is a floating point number,
- the other is converted to floating point;
-\item else, if either argument is a long integer,
- the other is converted to long integer;
-\item otherwise, both must be plain integers and no conversion
- is necessary.
-\end{itemize}
-
-\section{Atoms}
-\index{atom}
-
-Atoms are the most basic elements of expressions. Forms enclosed in
-reverse quotes or in parentheses, brackets or braces are also
-categorized syntactically as atoms. The syntax for atoms is:
-
-\begin{verbatim}
-atom: identifier | literal | enclosure
-enclosure: parenth_form|list_display|dict_display|string_conversion
-\end{verbatim}
-
-\subsection{Identifiers (Names)}
-\index{name}
-\index{identifier}
-
-An identifier occurring as an atom is a reference to a local, global
-or built-in name binding. If a name is assigned to anywhere in a code
-block (even in unreachable code), and is not mentioned in a
-\verb@global@ statement in that code block, then it refers to a local
-name throughout that code block. When it is not assigned to anywhere
-in the block, or when it is assigned to but also explicitly listed in
-a \verb@global@ statement, it refers to a global name if one exists,
-else to a built-in name (and this binding may dynamically change).
-\indexii{name}{binding}
-\index{code block}
-\stindex{global}
-\indexii{built-in}{name}
-\indexii{global}{name}
-
-When the name is bound to an object, evaluation of the atom yields
-that object. When a name is not bound, an attempt to evaluate it
-raises a \verb@NameError@ exception.
-\exindex{NameError}
-
-\subsection{Literals}
-\index{literal}
-
-Python knows string and numeric literals:
-
-\begin{verbatim}
-literal: stringliteral | integer | longinteger | floatnumber
-\end{verbatim}
-
-Evaluation of a literal yields an object of the given type (string,
-integer, long integer, floating point number) with the given value.
-The value may be approximated in the case of floating point literals.
-See section \ref{literals} for details.
-
-All literals correspond to immutable data types, and hence the
-object's identity is less important than its value. Multiple
-evaluations of literals with the same value (either the same
-occurrence in the program text or a different occurrence) may obtain
-the same object or a different object with the same value.
-\indexiii{immutable}{data}{type}
-
-(In the original implementation, all literals in the same code block
-with the same type and value yield the same object.)
-
-\subsection{Parenthesized forms}
-\index{parenthesized form}
-
-A parenthesized form is an optional condition list enclosed in
-parentheses:
-
-\begin{verbatim}
-parenth_form: "(" [condition_list] ")"
-\end{verbatim}
-
-A parenthesized condition list yields whatever that condition list
-yields.
-
-An empty pair of parentheses yields an empty tuple object. Since
-tuples are immutable, the rules for literals apply here.
-\indexii{empty}{tuple}
-
-(Note that tuples are not formed by the parentheses, but rather by use
-of the comma operator. The exception is the empty tuple, for which
-parentheses {\em are} required --- allowing unparenthesized ``nothing''
-in expressions would cause ambiguities and allow common typos to
-pass uncaught.)
-\index{comma}
-\indexii{tuple}{display}
-
-\subsection{List displays}
-\indexii{list}{display}
-
-A list display is a possibly empty series of conditions enclosed in
-square brackets:
-
-\begin{verbatim}
-list_display: "[" [condition_list] "]"
-\end{verbatim}
-
-A list display yields a new list object.
-\obindex{list}
-
-If it has no condition list, the list object has no items. Otherwise,
-the elements of the condition list are evaluated from left to right
-and inserted in the list object in that order.
-\indexii{empty}{list}
-
-\subsection{Dictionary displays} \label{dict}
-\indexii{dictionary}{display}
-
-A dictionary display is a possibly empty series of key/datum pairs
-enclosed in curly braces:
-\index{key}
-\index{datum}
-\index{key/datum pair}
-
-\begin{verbatim}
-dict_display: "{" [key_datum_list] "}"
-key_datum_list: key_datum ("," key_datum)* [","]
-key_datum: condition ":" condition
-\end{verbatim}
-
-A dictionary display yields a new dictionary object.
-\obindex{dictionary}
-
-The key/datum pairs are evaluated from left to right to define the
-entries of the dictionary: each key object is used as a key into the
-dictionary to store the corresponding datum.
-
-Restrictions on the types of the key values are listed earlier in
-section \ref{types}.
-Clashes between duplicate keys are not detected; the last
-datum (textually rightmost in the display) stored for a given key
-value prevails.
-\exindex{TypeError}
-
-\subsection{String conversions}
-\indexii{string}{conversion}
-\indexii{reverse}{quotes}
-\indexii{backward}{quotes}
-\index{back-quotes}
-
-A string conversion is a condition list enclosed in reverse (or
-backward) quotes:
-
-\begin{verbatim}
-string_conversion: "`" condition_list "`"
-\end{verbatim}
-
-A string conversion evaluates the contained condition list and
-converts the resulting object into a string according to rules
-specific to its type.
-
-If the object is a string, a number, \verb@None@, or a tuple, list or
-dictionary containing only objects whose type is one of these, the
-resulting string is a valid Python expression which can be passed to
-the built-in function \verb@eval()@ to yield an expression with the
-same value (or an approximation, if floating point numbers are
-involved).
-
-(In particular, converting a string adds quotes around it and converts
-``funny'' characters to escape sequences that are safe to print.)
-
-It is illegal to attempt to convert recursive objects (e.g. lists or
-dictionaries that contain a reference to themselves, directly or
-indirectly.)
-\obindex{recursive}
-
-The built-in function \verb@repr()@ performs exactly the same
-conversion in its argument as enclosing it it reverse quotes does.
-The built-in function \verb@str()@ performs a similar but more
-user-friendly conversion.
-\bifuncindex{repr}
-\bifuncindex{str}
-
-\section{Primaries} \label{primaries}
-\index{primary}
-
-Primaries represent the most tightly bound operations of the language.
-Their syntax is:
-
-\begin{verbatim}
-primary: atom | attributeref | subscription | slicing | call
-\end{verbatim}
-
-\subsection{Attribute references}
-\indexii{attribute}{reference}
-
-An attribute reference is a primary followed by a period and a name:
-
-\begin{verbatim}
-attributeref: primary "." identifier
-\end{verbatim}
-
-The primary must evaluate to an object of a type that supports
-attribute references, e.g. a module or a list. This object is then
-asked to produce the attribute whose name is the identifier. If this
-attribute is not available, the exception \verb@AttributeError@ is
-raised. Otherwise, the type and value of the object produced is
-determined by the object. Multiple evaluations of the same attribute
-reference may yield different objects.
-\obindex{module}
-\obindex{list}
-
-\subsection{Subscriptions}
-\index{subscription}
-
-A subscription selects an item of a sequence (string, tuple or list)
-or mapping (dictionary) object:
-\obindex{sequence}
-\obindex{mapping}
-\obindex{string}
-\obindex{tuple}
-\obindex{list}
-\obindex{dictionary}
-\indexii{sequence}{item}
-
-\begin{verbatim}
-subscription: primary "[" condition "]"
-\end{verbatim}
-
-The primary must evaluate to an object of a sequence or mapping type.
-
-If it is a mapping, the condition must evaluate to an object whose
-value is one of the keys of the mapping, and the subscription selects
-the value in the mapping that corresponds to that key.
-
-If it is a sequence, the condition must evaluate to a plain integer.
-If this value is negative, the length of the sequence is added to it
-(so that, e.g. \verb@x[-1]@ selects the last item of \verb@x@.)
-The resulting value must be a nonnegative integer smaller than the
-number of items in the sequence, and the subscription selects the item
-whose index is that value (counting from zero).
-
-A string's items are characters. A character is not a separate data
-type but a string of exactly one character.
-\index{character}
-\indexii{string}{item}
-
-\subsection{Slicings}
-\index{slicing}
-\index{slice}
-
-A slicing (or slice) selects a range of items in a sequence (string,
-tuple or list) object:
-\obindex{sequence}
-\obindex{string}
-\obindex{tuple}
-\obindex{list}
-
-\begin{verbatim}
-slicing: primary "[" [condition] ":" [condition] "]"
-\end{verbatim}
-
-The primary must evaluate to a sequence object. The lower and upper
-bound expressions, if present, must evaluate to plain integers;
-defaults are zero and the sequence's length, respectively. If either
-bound is negative, the sequence's length is added to it. The slicing
-now selects all items with index \var{k} such that
-\code{\var{i} <= \var{k} < \var{j}} where \var{i}
-and \var{j} are the specified lower and upper bounds. This may be an
-empty sequence. It is not an error if \var{i} or \var{j} lie outside the
-range of valid indexes (such items don't exist so they aren't
-selected).
-
-\subsection{Calls} \label{calls}
-\index{call}
-
-A call calls a callable object (e.g. a function) with a possibly empty
-series of arguments:\footnote{The new syntax for keyword arguments is
-not yet documented in this manual. See chapter 12 of the Tutorial.}
-\obindex{callable}
-
-\begin{verbatim}
-call: primary "(" [condition_list] ")"
-\end{verbatim}
-
-The primary must evaluate to a callable object (user-defined
-functions, built-in functions, methods of built-in objects, class
-objects, and methods of class instances are callable). If it is a
-class, the argument list must be empty; otherwise, the arguments are
-evaluated.
-
-A call always returns some value, possibly \verb@None@, unless it
-raises an exception. How this value is computed depends on the type
-of the callable object. If it is:
-
-\begin{description}
-
-\item[a user-defined function:] the code block for the function is
-executed, passing it the argument list. The first thing the code
-block will do is bind the formal parameters to the arguments; this is
-described in section \ref{function}. When the code block executes a
-\verb@return@ statement, this specifies the return value of the
-function call.
-\indexii{function}{call}
-\indexiii{user-defined}{function}{call}
-\obindex{user-defined function}
-\obindex{function}
-
-\item[a built-in function or method:] the result is up to the
-interpreter; see the library reference manual for the descriptions of
-built-in functions and methods.
-\indexii{function}{call}
-\indexii{built-in function}{call}
-\indexii{method}{call}
-\indexii{built-in method}{call}
-\obindex{built-in method}
-\obindex{built-in function}
-\obindex{method}
-\obindex{function}
-
-\item[a class object:] a new instance of that class is returned.
-\obindex{class}
-\indexii{class object}{call}
-
-\item[a class instance method:] the corresponding user-defined
-function is called, with an argument list that is one longer than the
-argument list of the call: the instance becomes the first argument.
-\obindex{class instance}
-\obindex{instance}
-\indexii{instance}{call}
-\indexii{class instance}{call}
-
-\end{description}
-
-\section{Unary arithmetic operations}
-\indexiii{unary}{arithmetic}{operation}
-\indexiii{unary}{bit-wise}{operation}
-
-All unary arithmetic (and bit-wise) operations have the same priority:
-
-\begin{verbatim}
-u_expr: primary | "-" u_expr | "+" u_expr | "~" u_expr
-\end{verbatim}
-
-The unary \verb@"-"@ (minus) operator yields the negation of its
-numeric argument.
-\index{negation}
-\index{minus}
-
-The unary \verb@"+"@ (plus) operator yields its numeric argument
-unchanged.
-\index{plus}
-
-The unary \verb@"~"@ (invert) operator yields the bit-wise inversion
-of its plain or long integer argument. The bit-wise inversion of
-\verb@x@ is defined as \verb@-(x+1)@.
-\index{inversion}
-
-In all three cases, if the argument does not have the proper type,
-a \verb@TypeError@ exception is raised.
-\exindex{TypeError}
-
-\section{Binary arithmetic operations}
-\indexiii{binary}{arithmetic}{operation}
-
-The binary arithmetic operations have the conventional priority
-levels. Note that some of these operations also apply to certain
-non-numeric types. There is no ``power'' operator, so there are only
-two levels, one for multiplicative operators and one for additive
-operators:
-
-\begin{verbatim}
-m_expr: u_expr | m_expr "*" u_expr
- | m_expr "/" u_expr | m_expr "%" u_expr
-a_expr: m_expr | aexpr "+" m_expr | aexpr "-" m_expr
-\end{verbatim}
-
-The \verb@"*"@ (multiplication) operator yields the product of its
-arguments. The arguments must either both be numbers, or one argument
-must be a plain integer and the other must be a sequence. In the
-former case, the numbers are converted to a common type and then
-multiplied together. In the latter case, sequence repetition is
-performed; a negative repetition factor yields an empty sequence.
-\index{multiplication}
-
-The \verb@"/"@ (division) operator yields the quotient of its
-arguments. The numeric arguments are first converted to a common
-type. Plain or long integer division yields an integer of the same
-type; the result is that of mathematical division with the `floor'
-function applied to the result. Division by zero raises the
-\verb@ZeroDivisionError@ exception.
-\exindex{ZeroDivisionError}
-\index{division}
-
-The \verb@"%"@ (modulo) operator yields the remainder from the
-division of the first argument by the second. The numeric arguments
-are first converted to a common type. A zero right argument raises
-the \verb@ZeroDivisionError@ exception. The arguments may be floating
-point numbers, e.g. \verb@3.14 % 0.7@ equals \verb@0.34@. The modulo
-operator always yields a result with the same sign as its second
-operand (or zero); the absolute value of the result is strictly
-smaller than the second operand.
-\index{modulo}
-
-The integer division and modulo operators are connected by the
-following identity: \verb@x == (x/y)*y + (x%y)@. Integer division and
-modulo are also connected with the built-in function \verb@divmod()@:
-\verb@divmod(x, y) == (x/y, x%y)@. These identities don't hold for
-floating point numbers; there a similar identity holds where
-\verb@x/y@ is replaced by \verb@floor(x/y)@).
-
-The \verb@"+"@ (addition) operator yields the sum of its arguments.
-The arguments must either both be numbers, or both sequences of the
-same type. In the former case, the numbers are converted to a common
-type and then added together. In the latter case, the sequences are
-concatenated.
-\index{addition}
-
-The \verb@"-"@ (subtraction) operator yields the difference of its
-arguments. The numeric arguments are first converted to a common
-type.
-\index{subtraction}
-
-\section{Shifting operations}
-\indexii{shifting}{operation}
-
-The shifting operations have lower priority than the arithmetic
-operations:
-
-\begin{verbatim}
-shift_expr: a_expr | shift_expr ( "<<" | ">>" ) a_expr
-\end{verbatim}
-
-These operators accept plain or long integers as arguments. The
-arguments are converted to a common type. They shift the first
-argument to the left or right by the number of bits given by the
-second argument.
-
-A right shift by \var{n} bits is defined as division by
-\code{pow(2,\var{n})}. A left shift by \var{n} bits is defined as
-multiplication with \code{pow(2,\var{n})}; for plain integers there is
-no overflow check so this drops bits and flips the sign if the result
-is not less than \code{pow(2,31)} in absolute value.
-
-Negative shift counts raise a \verb@ValueError@ exception.
-\exindex{ValueError}
-
-\section{Binary bit-wise operations}
-\indexiii{binary}{bit-wise}{operation}
-
-Each of the three bitwise operations has a different priority level:
-
-\begin{verbatim}
-and_expr: shift_expr | and_expr "&" shift_expr
-xor_expr: and_expr | xor_expr "^" and_expr
-or_expr: xor_expr | or_expr "|" xor_expr
-\end{verbatim}
-
-The \verb@"&"@ operator yields the bitwise AND of its arguments, which
-must be plain or long integers. The arguments are converted to a
-common type.
-\indexii{bit-wise}{and}
-
-The \verb@"^"@ operator yields the bitwise XOR (exclusive OR) of its
-arguments, which must be plain or long integers. The arguments are
-converted to a common type.
-\indexii{bit-wise}{xor}
-\indexii{exclusive}{or}
-
-The \verb@"|"@ operator yields the bitwise (inclusive) OR of its
-arguments, which must be plain or long integers. The arguments are
-converted to a common type.
-\indexii{bit-wise}{or}
-\indexii{inclusive}{or}
-
-\section{Comparisons}
-\index{comparison}
-
-Contrary to C, all comparison operations in Python have the same
-priority, which is lower than that of any arithmetic, shifting or
-bitwise operation. Also contrary to C, expressions like
-\verb@a < b < c@ have the interpretation that is conventional in
-mathematics:
-\index{C}
-
-\begin{verbatim}
-comparison: or_expr (comp_operator or_expr)*
-comp_operator: "<"|">"|"=="|">="|"<="|"<>"|"!="|"is" ["not"]|["not"] "in"
-\end{verbatim}
-
-Comparisons yield integer values: 1 for true, 0 for false.
-
-Comparisons can be chained arbitrarily, e.g. \code{x < y <= z} is
-equivalent to \code{x < y and y <= z}, except that \code{y} is
-evaluated only once (but in both cases \code{z} is not evaluated at all
-when \code{x < y} is found to be false).
-\indexii{chaining}{comparisons}
-
-Formally, if \var{a}, \var{b}, \var{c}, \ldots, \var{y}, \var{z} are
-expressions and \var{opa}, \var{opb}, \ldots, \var{opy} are comparison
-operators, then \var{a opa b opb c} \ldots \var{y opy z} is equivalent
-to \var{a opa b} \code{and} \var{b opb c} \code{and} \ldots \code{and}
-\var{y opy z}, except that each expression is evaluated at most once.
-
-Note that \var{a opa b opb c} doesn't imply any kind of comparison
-between \var{a} and \var{c}, so that e.g.\ \code{x < y > z} is
-perfectly legal (though perhaps not pretty).
-
-The forms \verb@<>@ and \verb@!=@ are equivalent; for consistency with
-C, \verb@!=@ is preferred; where \verb@!=@ is mentioned below
-\verb@<>@ is also implied.
-
-The operators {\tt "<", ">", "==", ">=", "<="}, and {\tt "!="} compare
-the values of two objects. The objects needn't have the same type.
-If both are numbers, they are coverted to a common type. Otherwise,
-objects of different types {\em always} compare unequal, and are
-ordered consistently but arbitrarily.
-
-(This unusual definition of comparison is done to simplify the
-definition of operations like sorting and the \verb@in@ and
-\verb@not@ \verb@in@ operators.)
-
-Comparison of objects of the same type depends on the type:
-
-\begin{itemize}
-
-\item
-Numbers are compared arithmetically.
-
-\item
-Strings are compared lexicographically using the numeric equivalents
-(the result of the built-in function \verb@ord@) of their characters.
-
-\item
-Tuples and lists are compared lexicographically using comparison of
-corresponding items.
-
-\item
-Mappings (dictionaries) are compared through lexicographic
-comparison of their sorted (key, value) lists.%
-\footnote{This is expensive since it requires sorting the keys first,
-but about the only sensible definition. An earlier version of Python
-compared dictionaries by identity only, but this caused surprises
-because people expected to be able to test a dictionary for emptiness
-by comparing it to {\tt \{\}}.}
-
-\item
-Most other types compare unequal unless they are the same object;
-the choice whether one object is considered smaller or larger than
-another one is made arbitrarily but consistently within one
-execution of a program.
-
-\end{itemize}
-
-The operators \verb@in@ and \verb@not in@ test for sequence
-membership: if \var{y} is a sequence, \code{\var{x} in \var{y}} is
-true if and only if there exists an index \var{i} such that
-\code{\var{x} = \var{y}[\var{i}]}.
-\code{\var{x} not in \var{y}} yields the inverse truth value. The
-exception \verb@TypeError@ is raised when \var{y} is not a sequence,
-or when \var{y} is a string and \var{x} is not a string of length one.%
-\footnote{The latter restriction is sometimes a nuisance.}
-\opindex{in}
-\opindex{not in}
-\indexii{membership}{test}
-\obindex{sequence}
-
-The operators \verb@is@ and \verb@is not@ test for object identity:
-\var{x} \code{is} \var{y} is true if and only if \var{x} and \var{y}
-are the same object. \var{x} \code{is not} \var{y} yields the inverse
-truth value.
-\opindex{is}
-\opindex{is not}
-\indexii{identity}{test}
-
-\section{Boolean operations} \label{Booleans}
-\indexii{Boolean}{operation}
-
-Boolean operations have the lowest priority of all Python operations:
-
-\begin{verbatim}
-condition: or_test | lambda_form
-or_test: and_test | or_test "or" and_test
-and_test: not_test | and_test "and" not_test
-not_test: comparison | "not" not_test
-lambda_form: "lambda" [parameter_list]: condition
-\end{verbatim}
-
-In the context of Boolean operations, and also when conditions are
-used by control flow statements, the following values are interpreted
-as false: \verb@None@, numeric zero of all types, empty sequences
-(strings, tuples and lists), and empty mappings (dictionaries). All
-other values are interpreted as true.
-
-The operator \verb@not@ yields 1 if its argument is false, 0 otherwise.
-\opindex{not}
-
-The condition \var{x} \verb@and@ \var{y} first evaluates \var{x}; if
-\var{x} is false, its value is returned; otherwise, \var{y} is
-evaluated and the resulting value is returned.
-\opindex{and}
-
-The condition \var{x} \verb@or@ \var{y} first evaluates \var{x}; if
-\var{x} is true, its value is returned; otherwise, \var{y} is
-evaluated and the resulting value is returned.
-\opindex{or}
-
-(Note that \verb@and@ and \verb@or@ do not restrict the value and type
-they return to 0 and 1, but rather return the last evaluated argument.
-This is sometimes useful, e.g. if \verb@s@ is a string that should be
-replaced by a default value if it is empty, the expression
-\verb@s or 'foo'@ yields the desired value. Because \verb@not@ has to
-invent a value anyway, it does not bother to return a value of the
-same type as its argument, so e.g. \verb@not 'foo'@ yields \verb@0@,
-not \verb@''@.)
-
-Lambda forms (lambda expressions) have the same syntactic position as
-conditions. They are a shorthand to create anonymous functions; the
-expression {\em {\tt lambda} arguments{\tt :} condition}
-yields a function object that behaves virtually identical to one
-defined with
-{\em {\tt def} name {\tt (}arguments{\tt ): return} condition}.
-See section \ref{function} for the syntax of
-parameter lists. Note that functions created with lambda forms cannot
-contain statements.
-\label{lambda}
-\indexii{lambda}{expression}
-\indexii{lambda}{form}
-\indexii{anonmymous}{function}
-
-\section{Expression lists and condition lists}
-\indexii{expression}{list}
-\indexii{condition}{list}
-
-\begin{verbatim}
-expression_list: or_expr ("," or_expr)* [","]
-condintion_list: condition ("," condition)* [","]
-\end{verbatim}
-
-The only difference between expression lists and condition lists is
-the lowest priority of operators that can be used in them without
-being enclosed in parentheses; condition lists allow all operators,
-while expression lists don't allow comparisons and Boolean operators
-(they do allow bitwise and shift operators though).
-
-Expression lists are used in expression statements and assignments;
-condition lists are used everywhere else where a list of
-comma-separated values is required.
-
-An expression (condition) list containing at least one comma yields a
-tuple. The length of the tuple is the number of expressions
-(conditions) in the list. The expressions (conditions) are evaluated
-from left to right. (Condition lists are used syntactically is a few
-places where no tuple is constructed but a list of values is needed
-nevertheless.)
-\obindex{tuple}
-
-The trailing comma is required only to create a single tuple (a.k.a. a
-{\em singleton}); it is optional in all other cases. A single
-expression (condition) without a trailing comma doesn't create a
-tuple, but rather yields the value of that expression (condition).
-\indexii{trailing}{comma}
-
-(To create an empty tuple, use an empty pair of parentheses:
-\verb@()@.)
-
-\section{Summary}
-
-The following table summarizes the operator precedences in Python,
-from lowest precedence (least binding) to highest precedence (most
-binding). Operators in the same box have the same precedence. Unless
-the syntax is explicitly given, operators are binary. Operators in
-the same box group left to right (except for comparisons, which
-chain from left to right --- see above).
-
-\begin{center}
-\begin{tabular}{|c|c|}
-\hline
-\code{or} & Boolean OR \\
-\hline
-\code{and} & Boolean AND \\
-\hline
-\code{not} \var{x} & Boolean NOT \\
-\hline
-\code{in}, \code{not} \code{in} & Membership tests \\
-\code{is}, \code{is} \code{not} & Identity tests \\
-\code{<}, \code{<=}, \code{>}, \code{>=}, \code{<>}, \code{!=}, \code{=} &
- Comparisons \\
-\hline
-\code{|} & Bitwise OR \\
-\hline
-\code{\^} & Bitwise XOR \\
-\hline
-\code{\&} & Bitwise AND \\
-\hline
-\code{<<}, \code{>>} & Shifts \\
-\hline
-\code{+}, \code{-} & Addition and subtraction \\
-\hline
-\code{*}, \code{/}, \code{\%} & Multiplication, division, remainder \\
-\hline
-\code{+\var{x}}, \code{-\var{x}} & Positive, negative \\
-\code{\~\var{x}} & Bitwise not \\
-\hline
-\code{\var{x}.\var{attribute}} & Attribute reference \\
-\code{\var{x}[\var{index}]} & Subscription \\
-\code{\var{x}[\var{index}:\var{index}]} & Slicing \\
-\code{\var{f}(\var{arguments}...)} & Function call \\
-\hline
-\code{(\var{expressions}\ldots)} & Binding or tuple display \\
-\code{[\var{expressions}\ldots]} & List display \\
-\code{\{\var{key}:\var{datum}\ldots\}} & Dictionary display \\
-\code{`\var{expression}\ldots`} & String conversion \\
-\hline
-\end{tabular}
-\end{center}
diff --git a/Doc/ref/ref6.tex b/Doc/ref/ref6.tex
deleted file mode 100644
index 5bd468c..0000000
--- a/Doc/ref/ref6.tex
+++ /dev/null
@@ -1,512 +0,0 @@
-\chapter{Simple statements}
-\indexii{simple}{statement}
-
-Simple statements are comprised within a single logical line.
-Several simple statements may occur on a single line separated
-by semicolons. The syntax for simple statements is:
-
-\begin{verbatim}
-simple_stmt: expression_stmt
- | assignment_stmt
- | pass_stmt
- | del_stmt
- | print_stmt
- | return_stmt
- | raise_stmt
- | break_stmt
- | continue_stmt
- | import_stmt
- | global_stmt
- | exec_stmt
-\end{verbatim}
-
-\section{Expression statements}
-\indexii{expression}{statement}
-
-Expression statements are used (mostly interactively) to compute and
-write a value, or (usually) to call a procedure (a function that
-returns no meaningful result; in Python, procedures return the value
-\verb@None@):
-
-\begin{verbatim}
-expression_stmt: condition_list
-\end{verbatim}
-
-An expression statement evaluates the condition list (which may be a
-single condition).
-\indexii{expression}{list}
-
-In interactive mode, if the value is not \verb@None@, it is converted
-to a string using the rules for string conversions (expressions in
-reverse quotes), and the resulting string is written to standard
-output (see section \ref{print}) on a line by itself.
-(The exception for \verb@None@ is made so that procedure calls, which
-are syntactically equivalent to expressions, do not cause any output.)
-\ttindex{None}
-\indexii{string}{conversion}
-\index{output}
-\indexii{standard}{output}
-\indexii{writing}{values}
-\indexii{procedure}{call}
-
-\section{Assignment statements}
-\indexii{assignment}{statement}
-
-Assignment statements are used to (re)bind names to values and to
-modify attributes or items of mutable objects:
-\indexii{binding}{name}
-\indexii{rebinding}{name}
-\obindex{mutable}
-\indexii{attribute}{assignment}
-
-\begin{verbatim}
-assignment_stmt: (target_list "=")+ expression_list
-target_list: target ("," target)* [","]
-target: identifier | "(" target_list ")" | "[" target_list "]"
- | attributeref | subscription | slicing
-\end{verbatim}
-
-(See section \ref{primaries} for the syntax definitions for the last
-three symbols.)
-
-An assignment statement evaluates the expression list (remember that
-this can be a single expression or a comma-separated list, the latter
-yielding a tuple) and assigns the single resulting object to each of
-the target lists, from left to right.
-\indexii{expression}{list}
-
-Assignment is defined recursively depending on the form of the target
-(list). When a target is part of a mutable object (an attribute
-reference, subscription or slicing), the mutable object must
-ultimately perform the assignment and decide about its validity, and
-may raise an exception if the assignment is unacceptable. The rules
-observed by various types and the exceptions raised are given with the
-definition of the object types (see section \ref{types}).
-\index{target}
-\indexii{target}{list}
-
-Assignment of an object to a target list is recursively defined as
-follows.
-\indexiii{target}{list}{assignment}
-
-\begin{itemize}
-\item
-If the target list is a single target: the object is assigned to that
-target.
-
-\item
-If the target list is a comma-separated list of targets: the object
-must be a tuple with the same number of items as the list contains
-targets, and the items are assigned, from left to right, to the
-corresponding targets.
-
-\end{itemize}
-
-Assignment of an object to a single target is recursively defined as
-follows.
-
-\begin{itemize} % nested
-
-\item
-If the target is an identifier (name):
-
-\begin{itemize}
-
-\item
-If the name does not occur in a \verb@global@ statement in the current
-code block: the name is bound to the object in the current local name
-space.
-\stindex{global}
-
-\item
-Otherwise: the name is bound to the object in the current global name
-space.
-
-\end{itemize} % nested
-
-The name is rebound if it was already bound.
-
-\item
-If the target is a target list enclosed in parentheses: the object is
-assigned to that target list as described above.
-
-\item
-If the target is a target list enclosed in square brackets: the object
-must be a list with the same number of items as the target list
-contains targets, and its items are assigned, from left to right, to
-the corresponding targets.
-
-\item
-If the target is an attribute reference: The primary expression in the
-reference is evaluated. It should yield an object with assignable
-attributes; if this is not the case, \verb@TypeError@ is raised. That
-object is then asked to assign the assigned object to the given
-attribute; if it cannot perform the assignment, it raises an exception
-(usually but not necessarily \verb@AttributeError@).
-\indexii{attribute}{assignment}
-
-\item
-If the target is a subscription: The primary expression in the
-reference is evaluated. It should yield either a mutable sequence
-(list) object or a mapping (dictionary) object. Next, the subscript
-expression is evaluated.
-\indexii{subscription}{assignment}
-\obindex{mutable}
-
-If the primary is a mutable sequence object (a list), the subscript
-must yield a plain integer. If it is negative, the sequence's length
-is added to it. The resulting value must be a nonnegative integer
-less than the sequence's length, and the sequence is asked to assign
-the assigned object to its item with that index. If the index is out
-of range, \verb@IndexError@ is raised (assignment to a subscripted
-sequence cannot add new items to a list).
-\obindex{sequence}
-\obindex{list}
-
-If the primary is a mapping (dictionary) object, the subscript must
-have a type compatible with the mapping's key type, and the mapping is
-then asked to create a key/datum pair which maps the subscript to
-the assigned object. This can either replace an existing key/value
-pair with the same key value, or insert a new key/value pair (if no
-key with the same value existed).
-\obindex{mapping}
-\obindex{dictionary}
-
-\item
-If the target is a slicing: The primary expression in the reference is
-evaluated. It should yield a mutable sequence object (e.g. a list). The
-assigned object should be a sequence object of the same type. Next,
-the lower and upper bound expressions are evaluated, insofar they are
-present; defaults are zero and the sequence's length. The bounds
-should evaluate to (small) integers. If either bound is negative, the
-sequence's length is added to it. The resulting bounds are clipped to
-lie between zero and the sequence's length, inclusive. Finally, the
-sequence object is asked to replace the slice with the items of the
-assigned sequence. The length of the slice may be different from the
-length of the assigned sequence, thus changing the length of the
-target sequence, if the object allows it.
-\indexii{slicing}{assignment}
-
-\end{itemize}
-
-(In the current implementation, the syntax for targets is taken
-to be the same as for expressions, and invalid syntax is rejected
-during the code generation phase, causing less detailed error
-messages.)
-
-WARNING: Although the definition of assignment implies that overlaps
-between the left-hand side and the right-hand side are `safe' (e.g.
-\verb@a, b = b, a@ swaps two variables), overlaps within the
-collection of assigned-to variables are not safe! For instance, the
-following program prints \code@[0, 2]@:
-
-\begin{verbatim}
-x = [0, 1]
-i = 0
-i, x[i] = 1, 2
-print x
-\end{verbatim}
-
-
-\section{The {\tt pass} statement}
-\stindex{pass}
-
-\begin{verbatim}
-pass_stmt: "pass"
-\end{verbatim}
-
-\verb@pass@ is a null operation --- when it is executed, nothing
-happens. It is useful as a placeholder when a statement is
-required syntactically, but no code needs to be executed, for example:
-\indexii{null}{operation}
-
-\begin{verbatim}
-def f(arg): pass # a function that does nothing (yet)
-
-class C: pass # a class with no methods (yet)
-\end{verbatim}
-
-\section{The {\tt del} statement}
-\stindex{del}
-
-\begin{verbatim}
-del_stmt: "del" target_list
-\end{verbatim}
-
-Deletion is recursively defined very similar to the way assignment is
-defined. Rather that spelling it out in full details, here are some
-hints.
-\indexii{deletion}{target}
-\indexiii{deletion}{target}{list}
-
-Deletion of a target list recursively deletes each target, from left
-to right.
-
-Deletion of a name removes the binding of that name (which must exist)
-from the local or global name space, depending on whether the name
-occurs in a \verb@global@ statement in the same code block.
-\stindex{global}
-\indexii{unbinding}{name}
-
-Deletion of attribute references, subscriptions and slicings
-is passed to the primary object involved; deletion of a slicing
-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 {\tt print} statement} \label{print}
-\stindex{print}
-
-\begin{verbatim}
-print_stmt: "print" [ condition ("," condition)* [","] ]
-\end{verbatim}
-
-\verb@print@ evaluates each condition in turn and writes the resulting
-object to standard output (see below). If an object is not a string,
-it is first converted to a string using the rules for string
-conversions. The (resulting or original) string is then written. A
-space is written before each object is (converted and) written, unless
-the output system believes it is positioned at the beginning of a
-line. This is the case: (1) when no characters have yet been written
-to standard output; or (2) when the last character written to standard
-output is \verb/\n/; or (3) when the last write operation on standard
-output was not a \verb@print@ statement. (In some cases it may be
-functional to write an empty string to standard output for this
-reason.)
-\index{output}
-\indexii{writing}{values}
-
-A \verb/"\n"/ character is written at the end, unless the \verb@print@
-statement ends with a comma. This is the only action if the statement
-contains just the keyword \verb@print@.
-\indexii{trailing}{comma}
-\indexii{newline}{suppression}
-
-Standard output is defined as the file object named \verb@stdout@
-in the built-in module \verb@sys@. If no such object exists,
-or if it is not a writable file, a \verb@RuntimeError@ exception is raised.
-(The original implementation attempts to write to the system's original
-standard output instead, but this is not safe, and should be fixed.)
-\indexii{standard}{output}
-\bimodindex{sys}
-\ttindex{stdout}
-\exindex{RuntimeError}
-
-\section{The {\tt return} statement}
-\stindex{return}
-
-\begin{verbatim}
-return_stmt: "return" [condition_list]
-\end{verbatim}
-
-\verb@return@ may only occur syntactically nested in a function
-definition, not within a nested class definition.
-\indexii{function}{definition}
-\indexii{class}{definition}
-
-If a condition list is present, it is evaluated, else \verb@None@
-is substituted.
-
-\verb@return@ leaves the current function call with the condition
-list (or \verb@None@) as return value.
-
-When \verb@return@ passes control out of a \verb@try@ statement
-with a \verb@finally@ clause, that finally clause is executed
-before really leaving the function.
-\kwindex{finally}
-
-\section{The {\tt raise} statement}
-\stindex{raise}
-
-\begin{verbatim}
-raise_stmt: "raise" condition ["," condition ["," condition]]
-\end{verbatim}
-
-\verb@raise@ evaluates its first condition, which must yield
-a string, class, or instance object. If there is a second condition,
-this is evaluated, else \verb@None@ is substituted. If the first
-condition is a class object, then the second condition must be an
-instance of that class or one of its derivatives. If the first
-condition is an instance object, the second condition must be
-\verb@None@.
-\index{exception}
-\indexii{raising}{exception}
-
-If the first object is a class or string, it then raises the exception
-identified by the first object, with the second one (or \verb@None@)
-as its parameter. If the first object is an instance, it raises the
-exception identified by the class of the object, with the instance as
-its parameter (and there should be no second object, or the second
-object should be \verb@None@).
-
-If a third object is present, and it it not \verb@None@, it should be
-a traceback object (see section \ref{traceback}), and it is
-substituted instead of the current location as the place where the
-exception occurred. This is useful to re-raise an exception
-transparently in an except clause.
-\obindex{traceback}
-
-\section{The {\tt break} statement}
-\stindex{break}
-
-\begin{verbatim}
-break_stmt: "break"
-\end{verbatim}
-
-\verb@break@ may only occur syntactically nested in a \verb@for@
-or \verb@while@ loop, but not nested in a function or class definition
-within that loop.
-\stindex{for}
-\stindex{while}
-\indexii{loop}{statement}
-
-It terminates the nearest enclosing loop, skipping the optional
-\verb@else@ clause if the loop has one.
-\kwindex{else}
-
-If a \verb@for@ loop is terminated by \verb@break@, the loop control
-target keeps its current value.
-\indexii{loop control}{target}
-
-When \verb@break@ passes control out of a \verb@try@ statement
-with a \verb@finally@ clause, that finally clause is executed
-before really leaving the loop.
-\kwindex{finally}
-
-\section{The {\tt continue} statement}
-\stindex{continue}
-
-\begin{verbatim}
-continue_stmt: "continue"
-\end{verbatim}
-
-\verb@continue@ may only occur syntactically nested in a \verb@for@ or
-\verb@while@ loop, but not nested in a function or class definition or
-\verb@try@ statement within that loop.\footnote{Except that it may
-currently occur within an {\tt except} clause.}
-\stindex{for}
-\stindex{while}
-\indexii{loop}{statement}
-\kwindex{finally}
-
-It continues with the next cycle of the nearest enclosing loop.
-
-\section{The {\tt import} statement} \label{import}
-\stindex{import}
-
-\begin{verbatim}
-import_stmt: "import" identifier ("," identifier)*
- | "from" identifier "import" identifier ("," identifier)*
- | "from" identifier "import" "*"
-\end{verbatim}
-
-Import statements are executed in two steps: (1) find a module, and
-initialize it if necessary; (2) define a name or names in the local
-name space (of the scope where the \verb@import@ statement occurs).
-The first form (without \verb@from@) repeats these steps for each
-identifier in the list, the \verb@from@ form performs them once, with
-the first identifier specifying the module name.
-\indexii{importing}{module}
-\indexii{name}{binding}
-\kwindex{from}
-
-The system maintains a table of modules that have been initialized,
-indexed by module name. (The current implementation makes this table
-accessible as \verb@sys.modules@.) When a module name is found in
-this table, step (1) is finished. If not, a search for a module
-definition is started. This first looks for a built-in module
-definition, and if no built-in module if the given name is found, it
-searches a user-specified list of directories for a file whose name is
-the module name with extension \verb@".py"@. (The current
-implementation uses the list of strings \verb@sys.path@ as the search
-path; it is initialized from the shell environment variable
-\verb@$PYTHONPATH@, with an installation-dependent default.)
-\ttindex{modules}
-\ttindex{sys.modules}
-\indexii{module}{name}
-\indexii{built-in}{module}
-\indexii{user-defined}{module}
-\bimodindex{sys}
-\ttindex{path}
-\ttindex{sys.path}
-\indexii{filename}{extension}
-
-If a built-in module is found, its built-in initialization code is
-executed and step (1) is finished. If no matching file is found,
-\verb@ImportError@ is raised. If a file is found, it is parsed,
-yielding an executable code block. If a syntax error occurs,
-\verb@SyntaxError@ is raised. Otherwise, an empty module of the given
-name is created and inserted in the module table, and then the code
-block is executed in the context of this module. Exceptions during
-this execution terminate step (1).
-\indexii{module}{initialization}
-\exindex{SyntaxError}
-\exindex{ImportError}
-\index{code block}
-
-When step (1) finishes without raising an exception, step (2) can
-begin.
-
-The first form of \verb@import@ statement binds the module name in the
-local name space to the module object, and then goes on to import the
-next identifier, if any. The \verb@from@ from does not bind the
-module name: it goes through the list of identifiers, looks each one
-of them up in the module found in step (1), and binds the name in the
-local name space to the object thus found. If a name is not found,
-\verb@ImportError@ is raised. If the list of identifiers is replaced
-by a star (\verb@*@), all names defined in the module are bound,
-except those beginning with an underscore(\verb@_@).
-\indexii{name}{binding}
-\exindex{ImportError}
-
-Names bound by import statements may not occur in \verb@global@
-statements in the same scope.
-\stindex{global}
-
-The \verb@from@ form with \verb@*@ may only occur in a module scope.
-\kwindex{from}
-\ttindex{from ... import *}
-
-(The current implementation does not enforce the latter two
-restrictions, but programs should not abuse this freedom, as future
-implementations may enforce them or silently change the meaning of the
-program.)
-
-\section{The {\tt global} statement} \label{global}
-\stindex{global}
-
-\begin{verbatim}
-global_stmt: "global" identifier ("," identifier)*
-\end{verbatim}
-
-The \verb@global@ statement is a declaration which holds for the
-entire current code block. It means that the listed identifiers are to be
-interpreted as globals. While {\em using} global names is automatic
-if they are not defined in the local scope, {\em assigning} to global
-names would be impossible without \verb@global@.
-\indexiii{global}{name}{binding}
-
-Names listed in a \verb@global@ statement must not be used in the same
-code block before that \verb@global@ statement is executed.
-
-Names listed in a \verb@global@ statement must not be defined as formal
-parameters or in a \verb@for@ loop control target, \verb@class@
-definition, function definition, or \verb@import@ statement.
-
-(The current implementation does not enforce the latter two
-restrictions, but programs should not abuse this freedom, as future
-implementations may enforce them or silently change the meaning of the
-program.)
-
-Note: the \verb@global@ is a directive to the parser. Therefore, it
-applies only to code parsed at the same time as the \verb@global@
-statement. In particular, a \verb@global@ statement contained in an
-\verb@exec@ statement does not affect the code block {\em containing}
-the \verb@exec@ statement, and code contained in an \verb@exec@
-statement is unaffected by \verb@global@ statements in the code
-containing the \verb@exec@ statement. The same applies to the
-\verb@eval()@, \verb@execfie()@ and \verb@compile()@ functions.
-\stindex{exec}
-\ttindex{eval}
-\ttindex{execfile}
-\ttindex{compile}
diff --git a/Doc/ref/ref7.tex b/Doc/ref/ref7.tex
deleted file mode 100644
index 9bce121..0000000
--- a/Doc/ref/ref7.tex
+++ /dev/null
@@ -1,391 +0,0 @@
-\chapter{Compound statements}
-\indexii{compound}{statement}
-
-Compound statements contain (groups of) other statements; they affect
-or control the execution of those other statements in some way. In
-general, compound statements span multiple lines, although in simple
-incarnations a whole compound statement may be contained in one line.
-
-The \verb@if@, \verb@while@ and \verb@for@ statements implement
-traditional control flow constructs. \verb@try@ specifies exception
-handlers and/or cleanup code for a group of statements. Function and
-class definitions are also syntactically compound statements.
-
-Compound statements consist of one or more `clauses'. A clause
-consists of a header and a `suite'. The clause headers of a
-particular compound statement are all at the same indentation level.
-Each clause header begins with a uniquely identifying keyword and ends
-with a colon. A suite is a group of statements controlled by a
-clause. A suite can be one or more semicolon-separated simple
-statements on the same line as the header, following the header's
-colon, or it can be one or more indented statements on subsequent
-lines. Only the latter form of suite can contain nested compound
-statements; the following is illegal, mostly because it wouldn't be
-clear to which \verb@if@ clause a following \verb@else@ clause would
-belong:
-\index{clause}
-\index{suite}
-
-\begin{verbatim}
-if test1: if test2: print x
-\end{verbatim}
-
-Also note that the semicolon binds tighter than the colon in this
-context, so that in the following example, either all or none of the
-\verb@print@ statements are executed:
-
-\begin{verbatim}
-if x < y < z: print x; print y; print z
-\end{verbatim}
-
-Summarizing:
-
-\begin{verbatim}
-compound_stmt: if_stmt | while_stmt | for_stmt
- | try_stmt | funcdef | classdef
-suite: stmt_list NEWLINE | NEWLINE INDENT statement+ DEDENT
-statement: stmt_list NEWLINE | compound_stmt
-stmt_list: simple_stmt (";" simple_stmt)* [";"]
-\end{verbatim}
-
-Note that statements always end in a \verb@NEWLINE@ possibly followed
-by a \verb@DEDENT@.
-\index{NEWLINE token}
-\index{DEDENT token}
-
-Also note that optional continuation clauses always begin with a
-keyword that cannot start a statement, thus there are no ambiguities
-(the `dangling \verb@else@' problem is solved in Python by requiring
-nested \verb@if@ statements to be indented).
-\indexii{dangling}{else}
-
-The formatting of the grammar rules in the following sections places
-each clause on a separate line for clarity.
-
-\section{The {\tt if} statement}
-\stindex{if}
-
-The \verb@if@ statement is used for conditional execution:
-
-\begin{verbatim}
-if_stmt: "if" condition ":" suite
- ("elif" condition ":" suite)*
- ["else" ":" suite]
-\end{verbatim}
-
-It selects exactly one of the suites by evaluating the conditions one
-by one until one is found to be true (see section \ref{Booleans} for
-the definition of true and false); then that suite is executed (and no
-other part of the \verb@if@ statement is executed or evaluated). If
-all conditions are false, the suite of the \verb@else@ clause, if
-present, is executed.
-\kwindex{elif}
-\kwindex{else}
-
-\section{The {\tt while} statement}
-\stindex{while}
-\indexii{loop}{statement}
-
-The \verb@while@ statement is used for repeated execution as long as a
-condition is true:
-
-\begin{verbatim}
-while_stmt: "while" condition ":" suite
- ["else" ":" suite]
-\end{verbatim}
-
-This repeatedly tests the condition and, if it is true, executes the
-first suite; if the condition is false (which may be the first time it
-is tested) the suite of the \verb@else@ clause, if present, is
-executed and the loop terminates.
-\kwindex{else}
-
-A \verb@break@ statement executed in the first suite terminates the
-loop without executing the \verb@else@ clause's suite. A
-\verb@continue@ statement executed in the first suite skips the rest
-of the suite and goes back to testing the condition.
-\stindex{break}
-\stindex{continue}
-
-\section{The {\tt for} statement}
-\stindex{for}
-\indexii{loop}{statement}
-
-The \verb@for@ statement is used to iterate over the elements of a
-sequence (string, tuple or list):
-\obindex{sequence}
-
-\begin{verbatim}
-for_stmt: "for" target_list "in" condition_list ":" suite
- ["else" ":" suite]
-\end{verbatim}
-
-The condition list is evaluated once; it should yield a sequence. The
-suite is then executed once for each item in the sequence, in the
-order of ascending indices. Each item in turn is assigned to the
-target list using the standard rules for assignments, and then the
-suite is executed. When the items are exhausted (which is immediately
-when the sequence is empty), the suite in the \verb@else@ clause, if
-present, is executed, and the loop terminates.
-\kwindex{in}
-\kwindex{else}
-\indexii{target}{list}
-
-A \verb@break@ statement executed in the first suite terminates the
-loop without executing the \verb@else@ clause's suite. A
-\verb@continue@ statement executed in the first suite skips the rest
-of the suite and continues with the next item, or with the \verb@else@
-clause if there was no next item.
-\stindex{break}
-\stindex{continue}
-
-The suite may assign to the variable(s) in the target list; this does
-not affect the next item assigned to it.
-
-The target list is not deleted when the loop is finished, but if the
-sequence is empty, it will not have been assigned to at all by the
-loop.
-
-Hint: the built-in function \verb@range()@ returns a sequence of
-integers suitable to emulate the effect of Pascal's
-\verb@for i := a to b do@;
-e.g. \verb@range(3)@ returns the list \verb@[0, 1, 2]@.
-\bifuncindex{range}
-\index{Pascal}
-
-{\bf Warning:} There is a subtlety when the sequence is being modified
-by the loop (this can only occur for mutable sequences, i.e. lists).
-An internal counter is used to keep track of which item is used next,
-and this is incremented on each iteration. When this counter has
-reached the length of the sequence the loop terminates. This means that
-if the suite deletes the current (or a previous) item from the
-sequence, the next item will be skipped (since it gets the index of
-the current item which has already been treated). Likewise, if the
-suite inserts an item in the sequence before the current item, the
-current item will be treated again the next time through the loop.
-This can lead to nasty bugs that can be avoided by making a temporary
-copy using a slice of the whole sequence, e.g.
-\index{loop!over mutable sequence}
-\index{mutable sequence!loop over}
-
-\begin{verbatim}
-for x in a[:]:
- if x < 0: a.remove(x)
-\end{verbatim}
-
-\section{The {\tt try} statement} \label{try}
-\stindex{try}
-
-The \verb@try@ statement specifies exception handlers and/or cleanup
-code for a group of statements:
-
-\begin{verbatim}
-try_stmt: try_exc_stmt | try_fin_stmt
-try_exc_stmt: "try" ":" suite
- ("except" [condition ["," target]] ":" suite)+
- ["else" ":" suite]
-try_fin_stmt: "try" ":" suite
- "finally" ":" suite
-\end{verbatim}
-
-There are two forms of \verb@try@ statement: \verb@try...except@ and
-\verb@try...finally@. These forms cannot be mixed.
-
-The \verb@try...except@ form specifies one or more exception handlers
-(the \verb@except@ clauses). When no exception occurs in the
-\verb@try@ clause, no exception handler is executed. When an
-exception occurs in the \verb@try@ suite, a search for an exception
-handler is started. This inspects the except clauses in turn until
-one is found that matches the exception. A condition-less except
-clause, if present, must be last; it matches any exception. For an
-except clause with a condition, that condition is evaluated, and the
-clause matches the exception if the resulting object is ``compatible''
-with the exception. An object is compatible with an exception if it
-is either the object that identifies the exception, or (for exceptions
-that are classes) it is a base class of the exception, or it is a
-tuple containing an item that is compatible with the exception. Note
-that the object identities must match, i.e. it must be the same
-object, not just an object with the same value.
-\kwindex{except}
-
-If no except clause matches the exception, the search for an exception
-handler continues in the surrounding code and on the invocation stack.
-
-If the evaluation of a condition in the header of an except clause
-raises an exception, the original search for a handler is cancelled
-and a search starts for the new exception in the surrounding code and
-on the call stack (it is treated as if the entire \verb@try@ statement
-raised the exception).
-
-When a matching except clause is found, the exception's parameter is
-assigned to the target specified in that except clause, if present,
-and the except clause's suite is executed. When the end of this suite
-is reached, execution continues normally after the entire try
-statement. (This means that if two nested handlers exist for the same
-exception, and the exception occurs in the try clause of the inner
-handler, the outer handler will not handle the exception.)
-
-Before an except clause's suite is executed, details about the
-exception are assigned to three variables in the \verb@sys@ module:
-\verb@sys.exc_type@ receives the object identifying the exception;
-\verb@sys.exc_value@ receives the exception's parameter;
-\verb@sys.exc_traceback@ receives a traceback object (see section
-\ref{traceback}) identifying the point in the program where the
-exception occurred.
-\bimodindex{sys}
-\ttindex{exc_type}
-\ttindex{exc_value}
-\ttindex{exc_traceback}
-\obindex{traceback}
-
-The optional \verb@else@ clause is executed when no exception occurs
-in the \verb@try@ clause. Exceptions in the \verb@else@ clause are
-not handled by the preceding \verb@except@ clauses.
-\kwindex{else}
-
-The \verb@try...finally@ form specifies a `cleanup' handler. The
-\verb@try@ clause is executed. When no exception occurs, the
-\verb@finally@ clause is executed. When an exception occurs in the
-\verb@try@ clause, the exception is temporarily saved, the
-\verb@finally@ clause is executed, and then the saved exception is
-re-raised. If the \verb@finally@ clause raises another exception or
-executes a \verb@return@, \verb@break@ or \verb@continue@ statement,
-the saved exception is lost.
-\kwindex{finally}
-
-When a \verb@return@ or \verb@break@ statement is executed in the
-\verb@try@ suite of a \verb@try...finally@ statement, the
-\verb@finally@ clause is also executed `on the way out'. A
-\verb@continue@ statement is illegal in the \verb@try@ clause. (The
-reason is a problem with the current implementation --- this
-restriction may be lifted in the future).
-\stindex{return}
-\stindex{break}
-\stindex{continue}
-
-\section{Function definitions} \label{function}
-\indexii{function}{definition}
-
-A function definition defines a user-defined function object (see
-section \ref{types}):\footnote{The new syntax to receive arbitrary
-keyword arguments is not yet documented in this manual. See chapter
-12 of the Tutorial.}
-\obindex{user-defined function}
-\obindex{function}
-
-\begin{verbatim}
-funcdef: "def" funcname "(" [parameter_list] ")" ":" suite
-parameter_list: (defparameter ",")* ("*" identifier [, "**" identifier]
- | "**" identifier
- | defparameter [","])
-defparameter: parameter ["=" condition]
-sublist: parameter ("," parameter)* [","]
-parameter: identifier | "(" sublist ")"
-funcname: identifier
-\end{verbatim}
-
-A function definition is an executable statement. Its execution binds
-the function name in the current local name space to a function object
-(a wrapper around the executable code for the function). This
-function object contains a reference to the current global name space
-as the global name space to be used when the function is called.
-\indexii{function}{name}
-\indexii{name}{binding}
-
-The function definition does not execute the function body; this gets
-executed only when the function is called.
-
-When one or more top-level parameters have the form {\em parameter =
-condition}, the function is said to have ``default parameter values''.
-Default parameter values are evaluated when the function definition is
-executed. For a parameter with a default value, the correponding
-argument may be omitted from a call, in which case the parameter's
-default value is substituted. If a parameter has a default value, all
-following parameters must also have a default value --- this is a
-syntactic restriction that is not expressed by the grammar.%
-\footnote{Currently this is not checked; instead,
-{\tt def f(a=1,b)} is interpreted as {\tt def f(a=1,b=None)}.}
-\indexiii{default}{parameter}{value}
-
-Function call semantics are described in section \ref{calls}. When a
-user-defined function is called, first missing arguments for which a
-default value exists are supplied; then the arguments (a.k.a. actual
-parameters) are bound to the (formal) parameters, as follows:
-\indexii{function}{call}
-\indexiii{user-defined}{function}{call}
-\index{parameter}
-\index{argument}
-\indexii{parameter}{formal}
-\indexii{parameter}{actual}
-
-\begin{itemize}
-
-\item
-If there are no formal parameters, there must be no arguments.
-
-\item
-If the formal parameter list does not end in a star followed by an
-identifier, there must be exactly as many arguments as there are
-parameters in the formal parameter list (at the top level); the
-arguments are assigned to the formal parameters one by one. Note that
-the presence or absence of a trailing comma at the top level in either
-the formal or the actual parameter list makes no difference. The
-assignment to a formal parameter is performed as if the parameter
-occurs on the left hand side of an assignment statement whose right
-hand side's value is that of the argument.
-
-\item
-If the formal parameter list ends in a star followed by an identifier,
-preceded by zero or more comma-followed parameters, there must be at
-least as many arguments as there are parameters preceding the star.
-Call this number {\em N}. The first {\em N} arguments are assigned to
-the corresponding formal parameters in the way descibed above. A
-tuple containing the remaining arguments, if any, is then assigned to
-the identifier following the star. This variable will always be a
-tuple: if there are no extra arguments, its value is \verb@()@, if
-there is just one extra argument, it is a singleton tuple.
-\indexii{variable length}{parameter list}
-
-\end{itemize}
-
-Note that the `variable length parameter list' feature only works at
-the top level of the parameter list; individual parameters use a model
-corresponding more closely to that of ordinary assignment. While the
-latter model is generally preferable, because of the greater type
-safety it offers (wrong-sized tuples aren't silently mistreated),
-variable length parameter lists are a sufficiently accepted practice
-in most programming languages that a compromise has been worked out.
-(And anyway, assignment has no equivalent for empty argument lists.)
-
-It is also possible to create anonymous functions (functions not bound
-to a name), for immediate use in expressions. This uses lambda forms,
-described in section \ref{lambda}.
-\indexii{lambda}{form}
-
-\section{Class definitions} \label{class}
-\indexii{class}{definition}
-
-A class definition defines a class object (see section \ref{types}):
-\obindex{class}
-
-\begin{verbatim}
-classdef: "class" classname [inheritance] ":" suite
-inheritance: "(" [condition_list] ")"
-classname: identifier
-\end{verbatim}
-
-A class definition is an executable statement. It first evaluates the
-inheritance list, if present. Each item in the inheritance list
-should evaluate to a class object. The class's suite is then executed
-in a new execution frame (see section \ref{execframes}), using a newly
-created local name space and the original global name space.
-(Usually, the suite contains only function definitions.) When the
-class's suite finishes execution, its execution frame is discarded but
-its local name space is saved. A class object is then created using
-the inheritance list for the base classes and the saved local name
-space for the attribute dictionary. The class name is bound to this
-class object in the original local name space.
-\index{inheritance}
-\indexii{class}{name}
-\indexii{name}{binding}
-\indexii{execution}{frame}
diff --git a/Doc/ref/ref8.tex b/Doc/ref/ref8.tex
deleted file mode 100644
index a9e688a..0000000
--- a/Doc/ref/ref8.tex
+++ /dev/null
@@ -1,105 +0,0 @@
-\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}
-\bimodindex{__main__}
-
-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 the \verb@exec@ statement;
-
-\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}
diff --git a/Doc/ref1.tex b/Doc/ref1.tex
deleted file mode 100644
index 30bfcce..0000000
--- a/Doc/ref1.tex
+++ /dev/null
@@ -1,81 +0,0 @@
-\chapter{Introduction}
-
-This reference manual describes the Python programming language.
-It is not intended as a tutorial.
-
-While I am trying to be as precise as possible, I chose to use English
-rather than formal specifications for everything except syntax and
-lexical analysis. This should make the document more understandable
-to the average reader, but will leave room for ambiguities.
-Consequently, if you were coming from Mars and tried to re-implement
-Python from this document alone, you might have to guess things and in
-fact you would probably end up implementing quite a different language.
-On the other hand, if you are using
-Python and wonder what the precise rules about a particular area of
-the language are, you should definitely be able to find them here.
-
-It is dangerous to add too many implementation details to a language
-reference document --- the implementation may change, and other
-implementations of the same language may work differently. On the
-other hand, there is currently only one Python implementation, and
-its particular quirks are sometimes worth being mentioned, especially
-where the implementation imposes additional limitations. Therefore,
-you'll find short ``implementation notes'' sprinkled throughout the
-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
-mentioned when they interact in a significant way with the language
-definition.
-
-\section{Notation}
-
-The descriptions of lexical analysis and syntax use a modified BNF
-grammar notation. This uses the following style of definition:
-\index{BNF}
-\index{grammar}
-\index{syntax}
-\index{notation}
-
-\begin{verbatim}
-name: lc_letter (lc_letter | "_")*
-lc_letter: "a"..."z"
-\end{verbatim}
-
-The first line says that a \verb@name@ is an \verb@lc_letter@ followed by
-a sequence of zero or more \verb@lc_letter@s and underscores. An
-\verb@lc_letter@ in turn is any of the single characters `a' through `z'.
-(This rule is actually adhered to for the names defined in lexical and
-grammar rules in this document.)
-
-Each rule begins with a name (which is the name defined by the rule)
-and a colon. A vertical bar (\verb@|@) is used to separate
-alternatives; it is the least binding operator in this notation. A
-star (\verb@*@) means zero or more repetitions of the preceding item;
-likewise, a plus (\verb@+@) means one or more repetitions, and a
-phrase enclosed in square brackets (\verb@[ ]@) means zero or one
-occurrences (in other words, the enclosed phrase is optional). The
-\verb@*@ and \verb@+@ operators bind as tightly as possible;
-parentheses are used for grouping. Literal strings are enclosed in
-quotes. White space is only meaningful to separate tokens.
-Rules are normally contained on a single line; rules with many
-alternatives may be formatted alternatively with each line after the
-first beginning with a vertical bar.
-
-In lexical definitions (as the example above), two more conventions
-are used: Two literal characters separated by three dots mean a choice
-of any single character in the given (inclusive) range of \ASCII{}
-characters. A phrase between angular brackets (\verb@<...>@) gives an
-informal description of the symbol defined; e.g. this could be used
-to describe the notion of `control character' if needed.
-\index{lexical definitions}
-\index{ASCII}
-
-Even though the notation used is almost the same, there is a big
-difference between the meaning of lexical and syntactic definitions:
-a lexical definition operates on the individual characters of the
-input source, while a syntax definition operates on the stream of
-tokens generated by the lexical analysis. All uses of BNF in the next
-chapter (``Lexical Analysis'') are lexical definitions; uses in
-subsequent chapters are syntactic definitions.
diff --git a/Doc/ref2.tex b/Doc/ref2.tex
deleted file mode 100644
index b093998..0000000
--- a/Doc/ref2.tex
+++ /dev/null
@@ -1,372 +0,0 @@
-\chapter{Lexical analysis}
-
-A Python program is read by a {\em parser}. Input to the parser is a
-stream of {\em tokens}, generated by the {\em lexical analyzer}. This
-chapter describes how the lexical analyzer breaks a file into tokens.
-\index{lexical analysis}
-\index{parser}
-\index{token}
-
-\section{Line structure}
-
-A Python program is divided in a number of logical lines. The end of
-a logical line is represented by the token NEWLINE. Statements cannot
-cross logical line boundaries except where NEWLINE is allowed by the
-syntax (e.g. between statements in compound statements).
-\index{line structure}
-\index{logical line}
-\index{NEWLINE token}
-
-\subsection{Comments}
-
-A comment starts with a hash character (\verb@#@) that is not part of
-a string literal, and ends at the end of the physical line. A comment
-always signifies the end of the logical line. Comments are ignored by
-the syntax.
-\index{comment}
-\index{logical line}
-\index{physical line}
-\index{hash character}
-
-\subsection{Explicit line joining}
-
-Two or more physical lines may be joined into logical lines using
-backslash characters (\verb/\/), as follows: when a physical line ends
-in a backslash that is not part of a string literal or comment, it is
-joined with the following forming a single logical line, deleting the
-backslash and the following end-of-line character. For example:
-\index{physical line}
-\index{line joining}
-\index{line continuation}
-\index{backslash character}
-%
-\begin{verbatim}
-if 1900 < year < 2100 and 1 <= month <= 12 \
- and 1 <= day <= 31 and 0 <= hour < 24 \
- and 0 <= minute < 60 and 0 <= second < 60: # Looks like a valid date
- return 1
-\end{verbatim}
-
-A line ending in a backslash cannot carry a comment; a backslash does
-not continue a comment (but it does continue a string literal, see
-below).
-
-\subsection{Implicit line joining}
-
-Expressions in parentheses, square brackets or curly braces can be
-split over more than one physical line without using backslashes.
-For example:
-
-\begin{verbatim}
-month_names = ['Januari', 'Februari', 'Maart', # These are the
- 'April', 'Mei', 'Juni', # Dutch names
- 'Juli', 'Augustus', 'September', # for the months
- 'Oktober', 'November', 'December'] # of the year
-\end{verbatim}
-
-Implicitly continued lines can carry comments. The indentation of the
-continuation lines is not important. Blank continuation lines are
-allowed.
-
-\subsection{Blank lines}
-
-A logical line that contains only spaces, tabs, and possibly a
-comment, is ignored (i.e., no NEWLINE token is generated), except that
-during interactive input of statements, an entirely blank logical line
-terminates a multi-line statement.
-\index{blank line}
-
-\subsection{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
-turn is used to determine the grouping of statements.
-\index{indentation}
-\index{whitespace}
-\index{leading whitespace}
-\index{space}
-\index{tab}
-\index{grouping}
-\index{statement grouping}
-
-First, tabs are replaced (from left to right) by one to eight spaces
-such that the total number of characters up to there is a multiple of
-eight (this is intended to be the same rule as used by {\UNIX}). The
-total number of spaces preceding the first non-blank character then
-determines the line's indentation. Indentation cannot be split over
-multiple physical lines using backslashes.
-
-The indentation levels of consecutive lines are used to generate
-INDENT and DEDENT tokens, using a stack, as follows.
-\index{INDENT token}
-\index{DEDENT token}
-
-Before the first line of the file is read, a single zero is pushed on
-the stack; this will never be popped off again. The numbers pushed on
-the stack will always be strictly increasing from bottom to top. At
-the beginning of each logical line, the line's indentation level is
-compared to the top of the stack. If it is equal, nothing happens.
-If it is larger, it is pushed on the stack, and one INDENT token is
-generated. If it is smaller, it {\em must} be one of the numbers
-occurring on the stack; all numbers on the stack that are larger are
-popped off, and for each number popped off a DEDENT token is
-generated. At the end of the file, a DEDENT token is generated for
-each number remaining on the stack that is larger than zero.
-
-Here is an example of a correctly (though confusingly) indented piece
-of Python code:
-
-\begin{verbatim}
-def perm(l):
- # Compute the list of all permutations of l
-
- if len(l) <= 1:
- return [l]
- r = []
- for i in range(len(l)):
- s = l[:i] + l[i+1:]
- p = perm(s)
- for x in p:
- r.append(l[i:i+1] + x)
- return r
-\end{verbatim}
-
-The following example shows various indentation errors:
-
-\begin{verbatim}
- def perm(l): # error: first line indented
- for i in range(len(l)): # error: not indented
- s = l[:i] + l[i+1:]
- p = perm(l[:i] + l[i+1:]) # error: unexpected indent
- for x in p:
- r.append(l[i:i+1] + x)
- return r # error: inconsistent dedent
-\end{verbatim}
-
-(Actually, the first three errors are detected by the parser; only the
-last error is found by the lexical analyzer --- the indentation of
-\verb@return r@ does not match a level popped off the stack.)
-
-\section{Other tokens}
-
-Besides NEWLINE, INDENT and DEDENT, the following categories of tokens
-exist: identifiers, keywords, literals, operators, and delimiters.
-Spaces and tabs are not tokens, but serve to delimit tokens. Where
-ambiguity exists, a token comprises the longest possible string that
-forms a legal token, when read from left to right.
-
-\section{Identifiers}
-
-Identifiers (also referred to as names) are described by the following
-lexical definitions:
-\index{identifier}
-\index{name}
-
-\begin{verbatim}
-identifier: (letter|"_") (letter|digit|"_")*
-letter: lowercase | uppercase
-lowercase: "a"..."z"
-uppercase: "A"..."Z"
-digit: "0"..."9"
-\end{verbatim}
-
-Identifiers are unlimited in length. Case is significant.
-
-\subsection{Keywords}
-
-The following identifiers are used as reserved words, or {\em
-keywords} of the language, and cannot be used as ordinary
-identifiers. They must be spelled exactly as written here:
-\index{keyword}
-\index{reserved word}
-
-\begin{verbatim}
-and elif global not try
-break else if or while
-class except import pass
-continue finally in print
-def for is raise
-del from lambda return
-\end{verbatim}
-
-% When adding keywords, pipe it through keywords.py for reformatting
-
-\section{Literals} \label{literals}
-
-Literals are notations for constant values of some built-in types.
-\index{literal}
-\index{constant}
-
-\subsection{String literals}
-
-String literals are described by the following lexical definitions:
-\index{string literal}
-
-\begin{verbatim}
-stringliteral: shortstring | longstring
-shortstring: "'" shortstringitem* "'" | '"' shortstringitem* '"'
-longstring: "'''" longstringitem* "'''" | '"""' longstringitem* '"""'
-shortstringitem: shortstringchar | escapeseq
-longstringitem: longstringchar | escapeseq
-shortstringchar: <any ASCII character except "\" or newline or the quote>
-longstringchar: <any ASCII character except "\">
-escapeseq: "\" <any ASCII character>
-\end{verbatim}
-\index{ASCII}
-
-In ``long strings'' (strings surrounded by sets of three quotes),
-unescaped newlines and quotes are allowed (and are retained), except
-that three unescaped quotes in a row terminate the string. (A
-``quote'' is the character used to open the string, i.e. either
-\verb/'/ or \verb/"/.)
-
-Escape sequences in strings are interpreted according to rules similar
-to those used by Standard C. The recognized escape sequences are:
-\index{physical line}
-\index{escape sequence}
-\index{Standard C}
-\index{C}
-
-\begin{center}
-\begin{tabular}{|l|l|}
-\hline
-\verb/\/{\em newline} & Ignored \\
-\verb/\\/ & Backslash (\verb/\/) \\
-\verb/\'/ & Single quote (\verb/'/) \\
-\verb/\"/ & Double quote (\verb/"/) \\
-\verb/\a/ & \ASCII{} Bell (BEL) \\
-\verb/\b/ & \ASCII{} Backspace (BS) \\
-%\verb/\E/ & \ASCII{} Escape (ESC) \\
-\verb/\f/ & \ASCII{} Formfeed (FF) \\
-\verb/\n/ & \ASCII{} Linefeed (LF) \\
-\verb/\r/ & \ASCII{} Carriage Return (CR) \\
-\verb/\t/ & \ASCII{} Horizontal Tab (TAB) \\
-\verb/\v/ & \ASCII{} Vertical Tab (VT) \\
-\verb/\/{\em ooo} & \ASCII{} character with octal value {\em ooo} \\
-\verb/\x/{\em xx...} & \ASCII{} character with hex value {\em xx...} \\
-\hline
-\end{tabular}
-\end{center}
-\index{ASCII}
-
-In strict compatibility with Standard C, up to three octal digits are
-accepted, but an unlimited number of hex digits is taken to be part of
-the hex escape (and then the lower 8 bits of the resulting hex number
-are used in all current implementations...).
-
-All unrecognized escape sequences are left in the string unchanged,
-i.e., {\em the backslash is left in the string.} (This behavior is
-useful when debugging: if an escape sequence is mistyped, the
-resulting output is more easily recognized as broken. It also helps a
-great deal for string literals used as regular expressions or
-otherwise passed to other modules that do their own escape handling.)
-\index{unrecognized escape sequence}
-
-\subsection{Numeric literals}
-
-There are three types of numeric literals: plain integers, long
-integers, and floating point numbers.
-\index{number}
-\index{numeric literal}
-\index{integer literal}
-\index{plain integer literal}
-\index{long integer literal}
-\index{floating point literal}
-\index{hexadecimal literal}
-\index{octal literal}
-\index{decimal literal}
-
-Integer and long integer literals are described by the following
-lexical definitions:
-
-\begin{verbatim}
-longinteger: integer ("l"|"L")
-integer: decimalinteger | octinteger | hexinteger
-decimalinteger: nonzerodigit digit* | "0"
-octinteger: "0" octdigit+
-hexinteger: "0" ("x"|"X") hexdigit+
-
-nonzerodigit: "1"..."9"
-octdigit: "0"..."7"
-hexdigit: digit|"a"..."f"|"A"..."F"
-\end{verbatim}
-
-Although both lower case `l' and upper case `L' are allowed as suffix
-for long integers, it is strongly recommended to always use `L', since
-the letter `l' looks too much like the digit `1'.
-
-Plain integer decimal literals must be at most 2147483647 (i.e., the
-largest positive integer, using 32-bit arithmetic). Plain octal and
-hexadecimal literals may be as large as 4294967295, but values larger
-than 2147483647 are converted to a negative value by subtracting
-4294967296. There is no limit for long integer literals apart from
-what can be stored in available memory.
-
-Some examples of plain and long integer literals:
-
-\begin{verbatim}
-7 2147483647 0177 0x80000000
-3L 79228162514264337593543950336L 0377L 0x100000000L
-\end{verbatim}
-
-Floating point literals are described by the following lexical
-definitions:
-
-\begin{verbatim}
-floatnumber: pointfloat | exponentfloat
-pointfloat: [intpart] fraction | intpart "."
-exponentfloat: (intpart | pointfloat) exponent
-intpart: digit+
-fraction: "." digit+
-exponent: ("e"|"E") ["+"|"-"] digit+
-\end{verbatim}
-
-The allowed range of floating point literals is
-implementation-dependent.
-
-Some examples of floating point literals:
-
-\begin{verbatim}
-3.14 10. .001 1e100 3.14e-10
-\end{verbatim}
-
-Note that numeric literals do not include a sign; a phrase like
-\verb@-1@ is actually an expression composed of the operator
-\verb@-@ and the literal \verb@1@.
-
-\section{Operators}
-
-The following tokens are operators:
-\index{operators}
-
-\begin{verbatim}
-+ - * / %
-<< >> & | ^ ~
-< == > <= <> != >=
-\end{verbatim}
-
-The comparison operators \verb@<>@ and \verb@!=@ are alternate
-spellings of the same operator.
-
-\section{Delimiters}
-
-The following tokens serve as delimiters or otherwise have a special
-meaning:
-\index{delimiters}
-
-\begin{verbatim}
-( ) [ ] { }
-, : . " ` '
-= ;
-\end{verbatim}
-
-The following printing \ASCII{} characters are not used in Python. Their
-occurrence outside string literals and comments is an unconditional
-error:
-\index{ASCII}
-
-\begin{verbatim}
-@ $ ?
-\end{verbatim}
-
-They may be used by future versions of the language though!
diff --git a/Doc/ref3.tex b/Doc/ref3.tex
deleted file mode 100644
index ca3525a..0000000
--- a/Doc/ref3.tex
+++ /dev/null
@@ -1,885 +0,0 @@
-\chapter{Data model}
-
-\section{Objects, values and types}
-
-{\em Objects} are Python's abstraction for data. All data in a Python
-program is represented by objects or by relations between objects.
-(In a sense, and in conformance to Von Neumann's model of a
-``stored program computer'', code is also represented by objects.)
-\index{object}
-\index{data}
-
-Every object has an identity, a type and a value. An object's {\em
-identity} never changes once it has been created; you may think of it
-as the object's address in memory. An object's {\em type} is also
-unchangeable. It determines the operations that an object supports
-(e.g. ``does it have a length?'') and also defines the possible
-values for objects of that type. The {\em value} of some objects can
-change. Objects whose value can change are said to be {\em mutable};
-objects whose value is unchangeable once they are created are called
-{\em immutable}. The type determines an object's (im)mutability.
-\index{identity of an object}
-\index{value of an object}
-\index{type of an object}
-\index{mutable object}
-\index{immutable object}
-
-Objects are never explicitly destroyed; however, when they become
-unreachable they may be garbage-collected. An implementation is
-allowed to delay garbage collection or omit it altogether --- it is a
-matter of implementation quality how garbage collection is
-implemented, as long as no objects are collected that are still
-reachable. (Implementation note: the current implementation uses a
-reference-counting scheme which collects most objects as soon as they
-become unreachable, but never collects garbage containing circular
-references.)
-\index{garbage collection}
-\index{reference counting}
-\index{unreachable object}
-
-Note that the use of the implementation's tracing or debugging
-facilities may keep objects alive that would normally be collectable.
-
-Some objects contain references to ``external'' resources such as open
-files or windows. It is understood that these resources are freed
-when the object is garbage-collected, but since garbage collection is
-not guaranteed to happen, such objects also provide an explicit way to
-release the external resource, usually a \verb@close@ method.
-Programs are strongly recommended to always explicitly close such
-objects.
-
-Some objects contain references to other objects; these are called
-{\em containers}. Examples of containers are tuples, lists and
-dictionaries. The references are part of a container's value. In
-most cases, when we talk about the value of a container, we imply the
-values, not the identities of the contained objects; however, when we
-talk about the (im)mutability of a container, only the identities of
-the immediately contained objects are implied. (So, if an immutable
-container contains a reference to a mutable object, its value changes
-if that mutable object is changed.)
-\index{container}
-
-Types affect almost all aspects of objects' lives. Even the meaning
-of object identity is affected in some sense: for immutable types,
-operations that compute new values may actually return a reference to
-any existing object with the same type and value, while for mutable
-objects this is not allowed. E.g. after
-
-\begin{verbatim}
-a = 1; b = 1; c = []; d = []
-\end{verbatim}
-
-\verb@a@ and \verb@b@ may or may not refer to the same object with the
-value one, depending on the implementation, but \verb@c@ and \verb@d@
-are guaranteed to refer to two different, unique, newly created empty
-lists.
-
-\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
-Python may add types to the type hierarchy (e.g. rational or complex
-numbers, efficiently stored arrays of integers, etc.).
-\index{type}
-\indexii{data}{type}
-\indexii{type}{hierarchy}
-\indexii{extension}{module}
-\index{C}
-
-Some of the type descriptions below contain a paragraph listing
-`special attributes'. These are attributes that provide access to the
-implementation and are not intended for general use. Their definition
-may change in the future. There are also some `generic' special
-attributes, not listed with the individual objects: \verb@__methods__@
-is a list of the method names of a built-in object, if it has any;
-\verb@__members__@ is a list of the data attribute names of a built-in
-object, if it has any.
-\index{attribute}
-\indexii{special}{attribute}
-\indexiii{generic}{special}{attribute}
-\ttindex{__methods__}
-\ttindex{__members__}
-
-\begin{description}
-
-\item[None]
-This type has a single value. There is a single object with this value.
-This object is accessed through the built-in name \verb@None@.
-It is returned from functions that don't explicitly return an object.
-\ttindex{None}
-\obindex{None@{\tt None}}
-
-\item[Numbers]
-These are created by numeric literals and returned as results by
-arithmetic operators and arithmetic built-in functions. Numeric
-objects are immutable; once created their value never changes. Python
-numbers are of course strongly related to mathematical numbers, but
-subject to the limitations of numerical representation in computers.
-\obindex{number}
-\obindex{numeric}
-
-Python distinguishes between integers and floating point numbers:
-
-\begin{description}
-\item[Integers]
-These represent elements from the mathematical set of whole numbers.
-\obindex{integer}
-
-There are two types of integers:
-
-\begin{description}
-
-\item[Plain integers]
-These represent numbers in the range -2147483648 through 2147483647.
-(The range may be larger on machines with a larger natural word
-size, but not smaller.)
-When the result of an operation falls outside this range, the
-exception \verb@OverflowError@ is raised.
-For the purpose of shift and mask operations, integers are assumed to
-have a binary, 2's complement notation using 32 or more bits, and
-hiding no bits from the user (i.e., all 4294967296 different bit
-patterns correspond to different values).
-\obindex{plain integer}
-
-\item[Long integers]
-These represent numbers in an unlimited range, subject to available
-(virtual) memory only. For the purpose of shift and mask operations,
-a binary representation is assumed, and negative numbers are
-represented in a variant of 2's complement which gives the illusion of
-an infinite string of sign bits extending to the left.
-\obindex{long integer}
-
-\end{description} % Integers
-
-The rules for integer representation are intended to give the most
-meaningful interpretation of shift and mask operations involving
-negative integers and the least surprises when switching between the
-plain and long integer domains. For any operation except left shift,
-if it yields a result in the plain integer domain without causing
-overflow, it will yield the same result in the long integer domain or
-when using mixed operands.
-\indexii{integer}{representation}
-
-\item[Floating point numbers]
-These represent machine-level double precision floating point numbers.
-You are at the mercy of the underlying machine architecture and
-C implementation for the accepted range and handling of overflow.
-\obindex{floating point}
-\indexii{floating point}{number}
-\index{C}
-
-\end{description} % Numbers
-
-\item[Sequences]
-These represent finite ordered sets indexed by natural numbers.
-The built-in function \verb@len()@ returns the number of elements
-of a sequence. When this number is \var{n}, the index set contains
-the numbers 0, 1, \ldots, \var{n}-1. Element \var{i} of sequence
-\var{a} is selected by \code{\var{a}[\var{i}]}.
-\obindex{seqence}
-\bifuncindex{len}
-\index{index operation}
-\index{item selection}
-\index{subscription}
-
-Sequences also support slicing: \verb@a[i:j]@ selects all elements
-with index \var{k} such that \var{i} \code{<=} \var{k} \code{<}
-\var{j}. When used as an expression, a slice is a sequence of the
-same type --- this implies that the index set is renumbered so that it
-starts at 0 again.
-\index{slicing}
-
-Sequences are distinguished according to their mutability:
-
-\begin{description}
-%
-\item[Immutable sequences]
-An object of an immutable sequence type cannot change once it is
-created. (If the object contains references to other objects,
-these other objects may be mutable and may be changed; however
-the collection of objects directly referenced by an immutable object
-cannot change.)
-\obindex{immutable sequence}
-\obindex{immutable}
-
-The following types are immutable sequences:
-
-\begin{description}
-
-\item[Strings]
-The elements of a string are characters. There is no separate
-character type; a character is represented by a string of one element.
-Characters represent (at least) 8-bit bytes. The built-in
-functions \verb@chr()@ and \verb@ord()@ convert between characters
-and nonnegative integers representing the byte values.
-Bytes with the values 0-127 represent the corresponding \ASCII{} values.
-The string data type is also used to represent arrays of bytes, e.g.
-to hold data read from a file.
-\obindex{string}
-\index{character}
-\index{byte}
-\index{ASCII}
-\bifuncindex{chr}
-\bifuncindex{ord}
-
-(On systems whose native character set is not \ASCII{}, strings may use
-EBCDIC in their internal representation, provided the functions
-\verb@chr()@ and \verb@ord()@ implement a mapping between \ASCII{} and
-EBCDIC, and string comparison preserves the \ASCII{} order.
-Or perhaps someone can propose a better rule?)
-\index{ASCII}
-\index{EBCDIC}
-\index{character set}
-\indexii{string}{comparison}
-\bifuncindex{chr}
-\bifuncindex{ord}
-
-\item[Tuples]
-The elements of a tuple are arbitrary Python objects.
-Tuples of two or more elements are formed by comma-separated lists
-of expressions. A tuple of one element (a `singleton') can be formed
-by affixing a comma to an expression (an expression by itself does
-not create a tuple, since parentheses must be usable for grouping of
-expressions). An empty tuple can be formed by enclosing `nothing' in
-parentheses.
-\obindex{tuple}
-\indexii{singleton}{tuple}
-\indexii{empty}{tuple}
-
-\end{description} % Immutable sequences
-
-\item[Mutable sequences]
-Mutable sequences can be changed after they are created. The
-subscription and slicing notations can be used as the target of
-assignment and \verb@del@ (delete) statements.
-\obindex{mutable sequece}
-\obindex{mutable}
-\indexii{assignment}{statement}
-\index{delete}
-\stindex{del}
-\index{subscription}
-\index{slicing}
-
-There is currently a single mutable sequence type:
-
-\begin{description}
-
-\item[Lists]
-The elements of a list are arbitrary Python objects. Lists are formed
-by placing a comma-separated list of expressions in square brackets.
-(Note that there are no special cases needed to form lists of length 0
-or 1.)
-\obindex{list}
-
-\end{description} % Mutable sequences
-
-\end{description} % Sequences
-
-\item[Mapping types]
-These represent finite sets of objects indexed by arbitrary index sets.
-The subscript notation \verb@a[k]@ selects the element indexed
-by \verb@k@ from the mapping \verb@a@; this can be used in
-expressions and as the target of assignments or \verb@del@ statements.
-The built-in function \verb@len()@ returns the number of elements
-in a mapping.
-\bifuncindex{len}
-\index{subscription}
-\obindex{mapping}
-
-There is currently a single mapping type:
-
-\begin{description}
-
-\item[Dictionaries]
-These represent finite sets of objects indexed by almost arbitrary
-values. The only types of values not acceptable as keys are values
-containing lists or dictionaries or other mutable types that are
-compared by value rather than by object identity --- the reason being
-that the implementation requires that a key's hash value be constant.
-Numeric types used for keys obey the normal rules for numeric
-comparison: if two numbers compare equal (e.g. 1 and 1.0) then they
-can be used interchangeably to index the same dictionary entry.
-
-Dictionaries are mutable; they are created by the \verb@{...}@
-notation (see section \ref{dict}).
-\obindex{dictionary}
-\obindex{mutable}
-
-\end{description} % Mapping types
-
-\item[Callable types]
-These are the types to which the function call (invocation) operation,
-written as \verb@function(argument, argument, ...)@, can be applied:
-\indexii{function}{call}
-\index{invocation}
-\indexii{function}{argument}
-\obindex{callable}
-
-\begin{description}
-
-\item[User-defined functions]
-A user-defined function object is created by a function definition
-(see section \ref{function}). It should be called with an argument
-list containing the same number of items as the function's formal
-parameter list.
-\indexii{user-defined}{function}
-\obindex{function}
-\obindex{user-defined function}
-
-Special read-only attributes: \verb@func_code@ is the code object
-representing the compiled function body, and \verb@func_globals@ is (a
-reference to) the dictionary that holds the function's global
-variables --- it implements the global name space of the module in
-which the function was defined.
-\ttindex{func_code}
-\ttindex{func_globals}
-\indexii{global}{name space}
-
-\item[User-defined methods]
-A user-defined method (a.k.a. {\em object closure}) is a pair of a
-class instance object and a user-defined function. It should be
-called with an argument list containing one item less than the number
-of items in the function's formal parameter list. When called, the
-class instance becomes the first argument, and the call arguments are
-shifted one to the right.
-\obindex{method}
-\obindex{user-defined method}
-\indexii{user-defined}{method}
-\index{object closure}
-
-Special read-only attributes: \verb@im_self@ is the class instance
-object, \verb@im_func@ is the function object.
-\ttindex{im_func}
-\ttindex{im_self}
-
-\item[Built-in functions]
-A built-in function object is a wrapper around a C function. Examples
-of built-in functions are \verb@len@ and \verb@math.sin@. There
-are no special attributes. The number and type of the arguments are
-determined by the C function.
-\obindex{built-in function}
-\obindex{function}
-\index{C}
-
-\item[Built-in methods]
-This is really a different disguise of a built-in function, this time
-containing an object passed to the C function as an implicit extra
-argument. An example of a built-in method is \verb@list.append@ if
-\verb@list@ is a list object.
-\obindex{built-in method}
-\obindex{method}
-\indexii{built-in}{method}
-
-\item[Classes]
-Class objects are described below. When a class object is called as a
-function, a new class instance (also described below) is created and
-returned. This implies a call to the class's \verb@__init__@ method
-if it has one. Any arguments are passed on to the \verb@__init__@
-method --- if there is no \verb@__init__@ method, the class must be called
-without arguments.
-\ttindex{__init__}
-\obindex{class}
-\obindex{class instance}
-\obindex{instance}
-\indexii{class object}{call}
-
-\end{description}
-
-\item[Modules]
-Modules are imported by the \verb@import@ statement (see section
-\ref{import}). A module object is a container for a module's name
-space, which is a dictionary (the same dictionary as referenced by the
-\verb@func_globals@ attribute of functions defined in the module).
-Module attribute references are translated to lookups in this
-dictionary. A module object does not contain the code object used to
-initialize the module (since it isn't needed once the initialization
-is done).
-\stindex{import}
-\obindex{module}
-
-Attribute assignment update the module's name space dictionary.
-
-Special read-only attribute: \verb@__dict__@ yields the module's name
-space as a dictionary object. Predefined attributes: \verb@__name__@
-yields the module's name as a string object; \verb@__doc__@ yields the
-module's documentation string as a string object, or
-\verb@None@ if no documentation string was found.
-\ttindex{__dict__}
-\ttindex{__name__}
-\ttindex{__doc__}
-\indexii{module}{name space}
-
-\item[Classes]
-Class objects are created by class definitions (see section
-\ref{class}). A class is a container for a dictionary containing the
-class's name space. Class attribute references are translated to
-lookups in this dictionary. When an attribute name is not found
-there, the attribute search continues in the base classes. The search
-is depth-first, left-to-right in the order of their occurrence in the
-base class list.
-\obindex{class}
-\obindex{class instance}
-\obindex{instance}
-\indexii{class object}{call}
-\index{container}
-\obindex{dictionary}
-\indexii{class}{attribute}
-
-Class attribute assignments update the class's dictionary, never the
-dictionary of a base class.
-\indexiii{class}{attribute}{assignment}
-
-A class can be called as a function to yield a class instance (see
-above).
-\indexii{class object}{call}
-
-Special read-only attributes: \verb@__dict__@ yields the dictionary
-containing the class's name space; \verb@__bases__@ yields a tuple
-(possibly empty or a singleton) containing the base classes, in the
-order of their occurrence in the base class list.
-\ttindex{__dict__}
-\ttindex{__bases__}
-
-\item[Class instances]
-A class instance is created by calling a class object as a
-function. A class instance has a dictionary in which
-attribute references are searched. When an attribute is not found
-there, and the instance's class has an attribute by that name, and
-that class attribute is a user-defined function (and in no other
-cases), the instance attribute reference yields a user-defined method
-object (see above) constructed from the instance and the function.
-\obindex{class instance}
-\obindex{instance}
-\indexii{class}{instance}
-\indexii{class instance}{attribute}
-
-Attribute assignments update the instance's dictionary.
-\indexiii{class instance}{attribute}{assignment}
-
-Class instances can pretend to be numbers, sequences, or mappings if
-they have methods with certain special names. These are described in
-section \ref{specialnames}.
-\obindex{number}
-\obindex{sequence}
-\obindex{mapping}
-
-Special read-only attributes: \verb@__dict__@ yields the attribute
-dictionary; \verb@__class__@ yields the instance's class.
-\ttindex{__dict__}
-\ttindex{__class__}
-
-\item[Files]
-A file object represents an open file. (It is a wrapper around a C
-{\tt stdio} file pointer.) File objects are created by the
-\verb@open()@ built-in function, and also by \verb@posix.popen()@ and
-the \verb@makefile@ method of socket objects. \verb@sys.stdin@,
-\verb@sys.stdout@ and \verb@sys.stderr@ are file objects corresponding
-to the interpreter's standard input, output and error streams.
-See the Python Library Reference for methods of file objects and other
-details.
-\obindex{file}
-\index{C}
-\index{stdio}
-\bifuncindex{open}
-\bifuncindex{popen}
-\bifuncindex{makefile}
-\ttindex{stdin}
-\ttindex{stdout}
-\ttindex{stderr}
-\ttindex{sys.stdin}
-\ttindex{sys.stdout}
-\ttindex{sys.stderr}
-
-\item[Internal types]
-A few types used internally by the interpreter are exposed to the user.
-Their definition may change with future versions of the interpreter,
-but they are mentioned here for completeness.
-\index{internal type}
-
-\begin{description}
-
-\item[Code objects]
-Code objects represent ``pseudo-compiled'' executable Python code.
-The difference between a code
-object and a function object is that the function object contains an
-explicit reference to the function's context (the module in which it
-was defined) while a code object contains no context.
-\obindex{code}
-
-Special read-only attributes: \verb@co_code@ is a string representing
-the sequence of instructions; \verb@co_consts@ is a list of literals
-used by the code; \verb@co_names@ is a list of names (strings) used by
-the code; \verb@co_filename@ is the filename from which the code was
-compiled. (To find out the line numbers, you would have to decode the
-instructions; the standard library module \verb@dis@ contains an
-example of how to do this.)
-\ttindex{co_code}
-\ttindex{co_consts}
-\ttindex{co_names}
-\ttindex{co_filename}
-
-\item[Frame objects]
-Frame objects represent execution frames. They may occur in traceback
-objects (see below).
-\obindex{frame}
-
-Special read-only attributes: \verb@f_back@ is to the previous
-stack frame (towards the caller), or \verb@None@ if this is the bottom
-stack frame; \verb@f_code@ is the code object being executed in this
-frame; \verb@f_globals@ is the dictionary used to look up global
-variables; \verb@f_locals@ is used for local variables;
-\verb@f_lineno@ gives the line number and \verb@f_lasti@ gives the
-precise instruction (this is an index into the instruction string of
-the code object).
-\ttindex{f_back}
-\ttindex{f_code}
-\ttindex{f_globals}
-\ttindex{f_locals}
-\ttindex{f_lineno}
-\ttindex{f_lasti}
-
-\item[Traceback objects] \label{traceback}
-Traceback objects represent a stack trace of an exception. A
-traceback object is created when an exception occurs. When the search
-for an exception handler unwinds the execution stack, at each unwound
-level a traceback object is inserted in front of the current
-traceback. When an exception handler is entered
-(see also section \ref{try}), the stack trace is
-made available to the program as \verb@sys.exc_traceback@. When the
-program contains no suitable handler, the stack trace is written
-(nicely formatted) to the standard error stream; if the interpreter is
-interactive, it is also made available to the user as
-\verb@sys.last_traceback@.
-\obindex{traceback}
-\indexii{stack}{trace}
-\indexii{exception}{handler}
-\indexii{execution}{stack}
-\ttindex{exc_traceback}
-\ttindex{last_traceback}
-\ttindex{sys.exc_traceback}
-\ttindex{sys.last_traceback}
-
-Special read-only attributes: \verb@tb_next@ is the next level in the
-stack trace (towards the frame where the exception occurred), or
-\verb@None@ if there is no next level; \verb@tb_frame@ points to the
-execution frame of the current level; \verb@tb_lineno@ gives the line
-number where the exception occurred; \verb@tb_lasti@ indicates the
-precise instruction. The line number and last instruction in the
-traceback may differ from the line number of its frame object if the
-exception occurred in a \verb@try@ statement with no matching
-\verb@except@ clause or with a \verb@finally@ clause.
-\ttindex{tb_next}
-\ttindex{tb_frame}
-\ttindex{tb_lineno}
-\ttindex{tb_lasti}
-\stindex{try}
-
-\end{description} % Internal types
-
-\end{description} % Types
-
-
-\section{Special method names} \label{specialnames}
-
-A class can implement certain operations that are invoked by special
-syntax (such as subscription or arithmetic operations) by defining
-methods with special names. For instance, if a class defines a
-method named \verb@__getitem__@, and \verb@x@ is an instance of this
-class, then \verb@x[i]@ is equivalent to \verb@x.__getitem__(i)@.
-(The reverse is not true --- if \verb@x@ is a list object,
-\verb@x.__getitem__(i)@ is not equivalent to \verb@x[i]@.)
-\ttindex{__getitem__}
-
-Except for \verb@__repr__@, \verb@__str__@ and \verb@__cmp__@,
-attempts to execute an
-operation raise an exception when no appropriate method is defined.
-For \verb@__repr__@, the default is to return a string describing the
-object's class and address.
-For \verb@__cmp__@, the default is to compare instances based on their
-address.
-For \verb@__str__@, the default is to use \verb@__repr__@.
-\ttindex{__repr__}
-\ttindex{__str__}
-\ttindex{__cmp__}
-
-
-\subsection{Special methods for any type}
-
-\begin{description}
-
-\item[{\tt __init__(self, args...)}]
-Called when the instance is created. The arguments are those passed
-to the class constructor expression. If a base class has an
-\code{__init__} method the derived class's \code{__init__} method must
-explicitly call it to ensure proper initialization of the base class
-part of the instance.
-\ttindex{__init__}
-\indexii{class}{constructor}
-
-
-\item[{\tt __del__(self)}]
-Called when the instance is about to be destroyed. If a base class
-has an \code{__del__} method the derived class's \code{__del__} method
-must explicitly call it to ensure proper deletion of the base class
-part of the instance. Note that it is possible for the \code{__del__}
-method to postpone destruction of the instance by creating a new
-reference to it. It may then be called at a later time when this new
-reference is deleted. It is not guaranteed that
-\code{__del__} methods are called for objects that still exist when
-the interpreter exits.
-If an exception occurs in a \code{__del__} method, it is ignored, and
-a warning is printed on stderr.
-\ttindex{__del__}
-\stindex{del}
-
-Note that \code{del x} doesn't directly call \code{x.__del__} --- the
-former decrements the reference count for \code{x} by one, but
-\code{x.__del__} is only called when its reference count reaches zero.
-
-\strong{Warning:} due to the precarious circumstances under which
-\code{__del__} methods are executed, exceptions that occur during
-their execution are \emph{ignored}.
-
-\item[{\tt __repr__(self)}]
-Called by the \verb@repr()@ built-in function and by string conversions
-(reverse or backward quotes) to compute the string representation of an object.
-\ttindex{__repr__}
-\bifuncindex{repr}
-\indexii{string}{conversion}
-\indexii{reverse}{quotes}
-\indexii{backward}{quotes}
-\index{back-quotes}
-
-\item[{\tt __str__(self)}]
-Called by the \verb@str()@ built-in function and by the \verb@print@
-statement compute the string representation of an object.
-\ttindex{__str__}
-\bifuncindex{str}
-\stindex{print}
-
-\item[{\tt __cmp__(self, other)}]
-Called by all comparison operations. Should return -1 if
-\verb@self < other@, 0 if \verb@self == other@, +1 if
-\verb@self > other@. If no \code{__cmp__} operation is defined, class
-instances are compared by object identity (``address'').
-(Implementation note: due to limitations in the interpreter,
-exceptions raised by comparisons are ignored, and the objects will be
-considered equal in this case.)
-\ttindex{__cmp__}
-\bifuncindex{cmp}
-\index{comparisons}
-
-\item[{\tt __hash__(self)}]
-Called for the key object for dictionary operations,
-and by the built-in function
-\code{hash()}. Should return a 32-bit integer usable as a hash value
-for dictionary operations. The only required property is that objects
-which compare equal have the same hash value; it is advised to somehow
-mix together (e.g. using exclusive or) the hash values for the
-components of the object that also play a part in comparison of
-objects. If a class does not define a \code{__cmp__} method it should
-not define a \code{__hash__} operation either; if it defines
-\code{__cmp__} but not \code{__hash__} its instances will not be
-usable as dictionary keys. If a class defines mutable objects and
-implements a \code{__cmp__} method it should not implement
-\code{__hash__}, since the dictionary implementation assumes that a
-key's hash value is a constant.
-\obindex{dictionary}
-\ttindex{__cmp__}
-\ttindex{__hash__}
-\bifuncindex{hash}
-
-\item[{\tt __call__(self, *args)}]
-Called when the instance is ``called'' as a function.
-\ttindex{__call__}
-\indexii{call}{instance}
-
-\end{description}
-
-
-\subsection{Special methods for attribute access}
-
-The following methods can be used to change the meaning of attribute
-access for class instances.
-
-\begin{description}
-
-\item[{\tt __getattr__(self, name)}]
-Called when an attribute lookup has not found the attribute in the
-usual places (i.e. it is not an instance attribute nor is it found in
-the class tree for \code{self}). \code{name} is the attribute name.
-\ttindex{__getattr__}
-
-Note that if the attribute is found through the normal mechanism,
-\code{__getattr__} is not called. (This is an asymmetry between
-\code{__getattr__} and \code{__setattr__}.)
-This is done both for efficiency reasons and because otherwise
-\code{__getattr__} would have no way to access other attributes of the
-instance.
-Note that at least for instance variables, \code{__getattr__} can fake
-total control by simply not inserting any values in the instance
-attribute dictionary.
-\ttindex{__setattr__}
-
-\item[{\tt __setattr__(self, name, value)}]
-Called when an attribute assignment is attempted. This is called
-instead of the normal mechanism (i.e. store the value as an instance
-attribute). \code{name} is the attribute name, \code{value} is the
-value to be assigned to it.
-\ttindex{__setattr__}
-
-If \code{__setattr__} wants to assign to an instance attribute, it
-should not simply execute \code{self.\var{name} = value} --- this would
-cause a recursive call. Instead, it should insert the value in the
-dictionary of instance attributes, e.g. \code{self.__dict__[name] =
-value}.
-\ttindex{__dict__}
-
-\item[{\tt __delattr__(self, name)}]
-Like \code{__setattr__} but for attribute deletion instead of
-assignment.
-\ttindex{__delattr__}
-
-\end{description}
-
-
-\subsection{Special methods for sequence and mapping types}
-
-\begin{description}
-
-\item[{\tt __len__(self)}]
-Called to implement the built-in function \verb@len()@. Should return
-the length of the object, an integer \verb@>=@ 0. Also, an object
-whose \verb@__len__()@ method returns 0 is considered to be false in a
-Boolean context.
-\ttindex{__len__}
-
-\item[{\tt __getitem__(self, key)}]
-Called to implement evaluation of \verb@self[key]@. Note that the
-special interpretation of negative keys (if the class wishes to
-emulate a sequence type) is up to the \verb@__getitem__@ method.
-\ttindex{__getitem__}
-
-\item[{\tt __setitem__(self, key, value)}]
-Called to implement assignment to \verb@self[key]@. Same note as for
-\verb@__getitem__@.
-\ttindex{__setitem__}
-
-\item[{\tt __delitem__(self, key)}]
-Called to implement deletion of \verb@self[key]@. Same note as for
-\verb@__getitem__@.
-\ttindex{__delitem__}
-
-\end{description}
-
-
-\subsection{Special methods for sequence types}
-
-\begin{description}
-
-\item[{\tt __getslice__(self, i, j)}]
-Called to implement evaluation of \verb@self[i:j]@. Note that missing
-\verb@i@ or \verb@j@ are replaced by 0 or \verb@len(self)@,
-respectively, and \verb@len(self)@ has been added (once) to originally
-negative \verb@i@ or \verb@j@ by the time this function is called
-(unlike for \verb@__getitem__@).
-\ttindex{__getslice__}
-
-\item[{\tt __setslice__(self, i, j, sequence)}]
-Called to implement assignment to \verb@self[i:j]@. Same notes as for
-\verb@__getslice__@.
-\ttindex{__setslice__}
-
-\item[{\tt __delslice__(self, i, j)}]
-Called to implement deletion of \verb@self[i:j]@. Same notes as for
-\verb@__getslice__@.
-\ttindex{__delslice__}
-
-\end{description}
-
-
-\subsection{Special methods for numeric types}
-
-\begin{description}
-
-\item[{\tt __add__(self, other)}]\itemjoin
-\item[{\tt __sub__(self, other)}]\itemjoin
-\item[{\tt __mul__(self, other)}]\itemjoin
-\item[{\tt __div__(self, other)}]\itemjoin
-\item[{\tt __mod__(self, other)}]\itemjoin
-\item[{\tt __divmod__(self, other)}]\itemjoin
-\item[{\tt __pow__(self, other)}]\itemjoin
-\item[{\tt __lshift__(self, other)}]\itemjoin
-\item[{\tt __rshift__(self, other)}]\itemjoin
-\item[{\tt __and__(self, other)}]\itemjoin
-\item[{\tt __xor__(self, other)}]\itemjoin
-\item[{\tt __or__(self, other)}]\itembreak
-Called to implement the binary arithmetic operations (\verb@+@,
-\verb@-@, \verb@*@, \verb@/@, \verb@%@, \verb@divmod()@, \verb@pow()@,
-\verb@<<@, \verb@>>@, \verb@&@, \verb@^@, \verb@|@).
-\ttindex{__or__}
-\ttindex{__xor__}
-\ttindex{__and__}
-\ttindex{__rshift__}
-\ttindex{__lshift__}
-\ttindex{__pow__}
-\ttindex{__divmod__}
-\ttindex{__mod__}
-\ttindex{__div__}
-\ttindex{__mul__}
-\ttindex{__sub__}
-\ttindex{__add__}
-
-\item[{\tt __neg__(self)}]\itemjoin
-\item[{\tt __pos__(self)}]\itemjoin
-\item[{\tt __abs__(self)}]\itemjoin
-\item[{\tt __invert__(self)}]\itembreak
-Called to implement the unary arithmetic operations (\verb@-@, \verb@+@,
-\verb@abs()@ and \verb@~@).
-\ttindex{__invert__}
-\ttindex{__abs__}
-\ttindex{__pos__}
-\ttindex{__neg__}
-
-\item[{\tt __nonzero__(self)}]
-Called to implement boolean testing; should return 0 or 1. An
-alternative name for this method is \verb@__len__@.
-\ttindex{__nonzero__}
-
-\item[{\tt __coerce__(self, other)}]
-Called to implement ``mixed-mode'' numeric arithmetic. Should either
-return a tuple containing self and other converted to a common numeric
-type, or None if no way of conversion is known. When the common type
-would be the type of other, it is sufficient to return None, since the
-interpreter will also ask the other object to attempt a coercion (but
-sometimes, if the implementation of the other type cannot be changed,
-it is useful to do the conversion to the other type here).
-\ttindex{__coerce__}
-
-Note that this method is not called to coerce the arguments to \verb@+@
-and \verb@*@, because these are also used to implement sequence
-concatenation and repetition, respectively. Also note that, for the
-same reason, in \verb@n*x@, where \verb@n@ is a built-in number and
-\verb@x@ is an instance, a call to \verb@x.__mul__(n)@ is made.%
-\footnote{The interpreter should really distinguish between
-user-defined classes implementing sequences, mappings or numbers, but
-currently it doesn't --- hence this strange exception.}
-\ttindex{__mul__}
-
-\item[{\tt __int__(self)}]\itemjoin
-\item[{\tt __long__(self)}]\itemjoin
-\item[{\tt __float__(self)}]\itembreak
-Called to implement the built-in functions \verb@int()@, \verb@long()@
-and \verb@float()@. Should return a value of the appropriate type.
-\ttindex{__float__}
-\ttindex{__long__}
-\ttindex{__int__}
-
-\item[{\tt __oct__(self)}]\itemjoin
-\item[{\tt __hex__(self)}]\itembreak
-Called to implement the built-in functions \verb@oct()@ and
-\verb@hex()@. Should return a string value.
-\ttindex{__hex__}
-\ttindex{__oct__}
-
-\end{description}
diff --git a/Doc/ref4.tex b/Doc/ref4.tex
deleted file mode 100644
index 4b4d522..0000000
--- a/Doc/ref4.tex
+++ /dev/null
@@ -1,201 +0,0 @@
-\chapter{Execution model}
-\index{execution model}
-
-\section{Code blocks, execution frames, and name spaces} \label{execframes}
-\index{code block}
-\indexii{execution}{frame}
-\index{name space}
-
-A {\em code block} is a piece of Python program text that can be
-executed as a unit, such as a module, a class definition or a function
-body. Some code blocks (like modules) are executed only once, others
-(like function bodies) may be executed many times. Code blocks may
-textually contain other code blocks. Code blocks may invoke other
-code blocks (that may or may not be textually contained in them) as
-part of their execution, e.g. by invoking (calling) a function.
-\index{code block}
-\indexii{code}{block}
-
-The following are code blocks: A module is a code block. A function
-body is a code block. A class definition is a code block. Each
-command typed interactively is a separate code block; a script file is
-a code block. The string argument passed to the built-in function
-\verb@eval@ and to the \verb@exec@ statement are code blocks.
-And finally, the
-expression read and evaluated by the built-in function \verb@input@ is
-a code block.
-
-A code block is executed in an execution frame. An {\em execution
-frame} contains some administrative information (used for debugging),
-determines where and how execution continues after the code block's
-execution has completed, and (perhaps most importantly) defines two
-name spaces, the local and the global name space, that affect
-execution of the code block.
-\indexii{execution}{frame}
-
-A {\em name space} is a mapping from names (identifiers) to objects.
-A particular name space may be referenced by more than one execution
-frame, and from other places as well. Adding a name to a name space
-is called {\em binding} a name (to an object); changing the mapping of
-a name is called {\em rebinding}; removing a name is {\em unbinding}.
-Name spaces are functionally equivalent to dictionaries.
-\index{name space}
-\indexii{binding}{name}
-\indexii{rebinding}{name}
-\indexii{unbinding}{name}
-
-The {\em local name space} of an execution frame determines the default
-place where names are defined and searched. The {\em global name
-space} determines the place where names listed in \verb@global@
-statements are defined and searched, and where names that are not
-explicitly bound in the current code block are searched.
-\indexii{local}{name space}
-\indexii{global}{name space}
-\stindex{global}
-
-Whether a name is local or global in a code block is determined by
-static inspection of the source text for the code block: in the
-absence of \verb@global@ statements, a name that is bound anywhere in
-the code block is local in the entire code block; all other names are
-considered global. The \verb@global@ statement forces global
-interpretation of selected names throughout the code block. The
-following constructs bind names: formal parameters, \verb@import@
-statements, class and function definitions (these bind the class or
-function name), and targets that are identifiers if occurring in an
-assignment, \verb@for@ loop header, or \verb@except@ clause header.
-
-A target occurring in a \verb@del@ statement is also considered bound
-for this purpose (though the actual semantics are to ``unbind'' the
-name).
-
-When a global name is not found in the global name space, it is
-searched in the list of ``built-in'' names (which is actually the
-global name space of the module \verb@__builtin__@). When a name is not
-found at all, the \verb@NameError@ exception is raised.%
-\footnote{If the code block contains {\tt exec} statements or the
-construct {\tt from \ldots import *}, the semantics of names not
-explicitly mentioned in a {\tt global} statement change subtly: name
-lookup first searches the local name space, then the global one, then
-the built-in one.}
-\bimodindex{__builtin__}
-\stindex{from}
-\stindex{exec}
-\stindex{global}
-\ttindex{NameError}
-
-The following table lists the meaning of the local and global name
-space for various types of code blocks. The name space for a
-particular module is automatically created when the module is first
-referenced. Note that in almost all cases, the global name space is
-the name space of the containing module --- scopes in Python do not
-nest!
-
-\begin{center}
-\begin{tabular}{|l|l|l|l|}
-\hline
-Code block type & Global name space & Local name space & Notes \\
-\hline
-Module & n.s. for this module & same as global & \\
-Script & n.s. for \verb@__main__@ & same as global & \\
-Interactive command & n.s. for \verb@__main__@ & same as global & \\
-Class definition & global n.s. of containing block & new n.s. & \\
-Function body & global n.s. of containing block & new n.s. & (2) \\
-String passed to \verb@exec@ statement
- & global n.s. of containing block
- & local n.s. of containing block & (1) \\
-String passed to \verb@eval()@
- & global n.s. of caller & local n.s. of caller & (1) \\
-File read by \verb@execfile()@
- & global n.s. of caller & local n.s. of caller & (1) \\
-Expression read by \verb@input@
- & global n.s. of caller & local n.s. of caller & \\
-\hline
-\end{tabular}
-\end{center}
-\bimodindex{__main__}
-
-Notes:
-
-\begin{description}
-
-\item[n.s.] means {\em name space}
-
-\item[(1)] The global and local name space for these can be
-overridden with optional extra arguments.
-
-\item[(2)] The body of lambda forms (see section \ref{lambda}) is
-treated exactly the same as a (nested) function definition. Lambda
-forms have their own name space consisting of their formal arguments.
-\indexii{lambda}{form}
-
-\end{description}
-
-The built-in functions \verb@globals()@ and \verb@locals()@ returns a
-dictionary representing the current global and local name space,
-respectively. The effect of modifications to this dictionary on the
-name space are undefined.%
-\footnote{The current implementations return the dictionary actually
-used to implement the name space, {\em except} for functions, where
-the optimizer may cause the local name space to be implemented
-differently, and \verb@locals()@ returns a read-only dictionary.}
-
-\section{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
-conditions. An exception is {\em raised} at the point where the error
-is detected; it may be {\em handled} by the surrounding code block or
-by any code block that directly or indirectly invoked the code block
-where the error occurred.
-\index{exception}
-\index{raise an exception}
-\index{handle an exception}
-\index{exception handler}
-\index{errors}
-\index{error handling}
-
-The Python interpreter raises an exception when it detects an run-time
-error (such as division by zero). A Python program can also
-explicitly raise an exception with the \verb@raise@ statement.
-Exception handlers are specified with the \verb@try...except@
-statement.
-
-Python uses the ``termination'' model of error handling: an exception
-handler can find out what happened and continue execution at an outer
-level, but it cannot repair the cause of the error and retry the
-failing operation (except by re-entering the the offending piece of
-code from the top).
-
-When an exception is not handled at all, the interpreter terminates
-execution of the program, or returns to its interactive main loop.
-
-Exceptions are identified by string objects or class instances. Two
-different string objects with the same value identify different
-exceptions. An exception can be raised with a class instance. Such
-exceptions are caught by specifying an except clause that has the
-class name (or a base class) as the condition.
-
-When an exception is raised, an object (maybe \verb@None@) is passed
-as the exception's ``parameter''; this object does not affect the
-selection of an exception handler, but is passed to the selected
-exception handler as additional information. For exceptions raised
-with a class instance, the instance is passed as the ``parameter''.
-
-For example:
-
-\begin{verbatim}
->>> class Error:
-... def __init__(self, msg): self.msg = msg
-...
->>> class SpecificError(Error): pass
-...
->>> try:
-... raise SpecificError('broken')
-... except Error, obj:
-... print obj.msg
-...
-broken
-\end{verbatim}
-
-See also the description of the \verb@try@ and \verb@raise@
-statements.
diff --git a/Doc/ref5.tex b/Doc/ref5.tex
deleted file mode 100644
index b2fea3c..0000000
--- a/Doc/ref5.tex
+++ /dev/null
@@ -1,759 +0,0 @@
-\chapter{Expressions and conditions}
-\index{expression}
-\index{condition}
-
-{\bf Note:} In this and the following chapters, extended BNF notation
-will be used to describe syntax, not lexical analysis.
-\index{BNF}
-
-This chapter explains the meaning of the elements of expressions and
-conditions. Conditions are a superset of expressions, and a condition
-may be used wherever an expression is required by enclosing it in
-parentheses. The only places where expressions are used in the syntax
-instead of conditions is in expression statements and on the
-right-hand side of assignment statements; this catches some nasty bugs
-like accidentally writing \verb@x == 1@ instead of \verb@x = 1@.
-\indexii{assignment}{statement}
-
-The comma plays several roles in Python's syntax. It is usually an
-operator with a lower precedence than all others, but occasionally
-serves other purposes as well; e.g. it separates function arguments,
-is used in list and dictionary constructors, and has special semantics
-in \verb@print@ statements.
-\index{comma}
-
-When (one alternative of) a syntax rule has the form
-
-\begin{verbatim}
-name: othername
-\end{verbatim}
-
-and no semantics are given, the semantics of this form of \verb@name@
-are the same as for \verb@othername@.
-\index{syntax}
-
-\section{Arithmetic conversions}
-\indexii{arithmetic}{conversion}
-
-When a description of an arithmetic operator below uses the phrase
-``the numeric arguments are converted to a common type'',
-this both means that if either argument is not a number, a
-\verb@TypeError@ exception is raised, and that otherwise
-the following conversions are applied:
-\exindex{TypeError}
-\indexii{floating point}{number}
-\indexii{long}{integer}
-\indexii{plain}{integer}
-
-\begin{itemize}
-\item first, if either argument is a floating point number,
- the other is converted to floating point;
-\item else, if either argument is a long integer,
- the other is converted to long integer;
-\item otherwise, both must be plain integers and no conversion
- is necessary.
-\end{itemize}
-
-\section{Atoms}
-\index{atom}
-
-Atoms are the most basic elements of expressions. Forms enclosed in
-reverse quotes or in parentheses, brackets or braces are also
-categorized syntactically as atoms. The syntax for atoms is:
-
-\begin{verbatim}
-atom: identifier | literal | enclosure
-enclosure: parenth_form|list_display|dict_display|string_conversion
-\end{verbatim}
-
-\subsection{Identifiers (Names)}
-\index{name}
-\index{identifier}
-
-An identifier occurring as an atom is a reference to a local, global
-or built-in name binding. If a name is assigned to anywhere in a code
-block (even in unreachable code), and is not mentioned in a
-\verb@global@ statement in that code block, then it refers to a local
-name throughout that code block. When it is not assigned to anywhere
-in the block, or when it is assigned to but also explicitly listed in
-a \verb@global@ statement, it refers to a global name if one exists,
-else to a built-in name (and this binding may dynamically change).
-\indexii{name}{binding}
-\index{code block}
-\stindex{global}
-\indexii{built-in}{name}
-\indexii{global}{name}
-
-When the name is bound to an object, evaluation of the atom yields
-that object. When a name is not bound, an attempt to evaluate it
-raises a \verb@NameError@ exception.
-\exindex{NameError}
-
-\subsection{Literals}
-\index{literal}
-
-Python knows string and numeric literals:
-
-\begin{verbatim}
-literal: stringliteral | integer | longinteger | floatnumber
-\end{verbatim}
-
-Evaluation of a literal yields an object of the given type (string,
-integer, long integer, floating point number) with the given value.
-The value may be approximated in the case of floating point literals.
-See section \ref{literals} for details.
-
-All literals correspond to immutable data types, and hence the
-object's identity is less important than its value. Multiple
-evaluations of literals with the same value (either the same
-occurrence in the program text or a different occurrence) may obtain
-the same object or a different object with the same value.
-\indexiii{immutable}{data}{type}
-
-(In the original implementation, all literals in the same code block
-with the same type and value yield the same object.)
-
-\subsection{Parenthesized forms}
-\index{parenthesized form}
-
-A parenthesized form is an optional condition list enclosed in
-parentheses:
-
-\begin{verbatim}
-parenth_form: "(" [condition_list] ")"
-\end{verbatim}
-
-A parenthesized condition list yields whatever that condition list
-yields.
-
-An empty pair of parentheses yields an empty tuple object. Since
-tuples are immutable, the rules for literals apply here.
-\indexii{empty}{tuple}
-
-(Note that tuples are not formed by the parentheses, but rather by use
-of the comma operator. The exception is the empty tuple, for which
-parentheses {\em are} required --- allowing unparenthesized ``nothing''
-in expressions would cause ambiguities and allow common typos to
-pass uncaught.)
-\index{comma}
-\indexii{tuple}{display}
-
-\subsection{List displays}
-\indexii{list}{display}
-
-A list display is a possibly empty series of conditions enclosed in
-square brackets:
-
-\begin{verbatim}
-list_display: "[" [condition_list] "]"
-\end{verbatim}
-
-A list display yields a new list object.
-\obindex{list}
-
-If it has no condition list, the list object has no items. Otherwise,
-the elements of the condition list are evaluated from left to right
-and inserted in the list object in that order.
-\indexii{empty}{list}
-
-\subsection{Dictionary displays} \label{dict}
-\indexii{dictionary}{display}
-
-A dictionary display is a possibly empty series of key/datum pairs
-enclosed in curly braces:
-\index{key}
-\index{datum}
-\index{key/datum pair}
-
-\begin{verbatim}
-dict_display: "{" [key_datum_list] "}"
-key_datum_list: key_datum ("," key_datum)* [","]
-key_datum: condition ":" condition
-\end{verbatim}
-
-A dictionary display yields a new dictionary object.
-\obindex{dictionary}
-
-The key/datum pairs are evaluated from left to right to define the
-entries of the dictionary: each key object is used as a key into the
-dictionary to store the corresponding datum.
-
-Restrictions on the types of the key values are listed earlier in
-section \ref{types}.
-Clashes between duplicate keys are not detected; the last
-datum (textually rightmost in the display) stored for a given key
-value prevails.
-\exindex{TypeError}
-
-\subsection{String conversions}
-\indexii{string}{conversion}
-\indexii{reverse}{quotes}
-\indexii{backward}{quotes}
-\index{back-quotes}
-
-A string conversion is a condition list enclosed in reverse (or
-backward) quotes:
-
-\begin{verbatim}
-string_conversion: "`" condition_list "`"
-\end{verbatim}
-
-A string conversion evaluates the contained condition list and
-converts the resulting object into a string according to rules
-specific to its type.
-
-If the object is a string, a number, \verb@None@, or a tuple, list or
-dictionary containing only objects whose type is one of these, the
-resulting string is a valid Python expression which can be passed to
-the built-in function \verb@eval()@ to yield an expression with the
-same value (or an approximation, if floating point numbers are
-involved).
-
-(In particular, converting a string adds quotes around it and converts
-``funny'' characters to escape sequences that are safe to print.)
-
-It is illegal to attempt to convert recursive objects (e.g. lists or
-dictionaries that contain a reference to themselves, directly or
-indirectly.)
-\obindex{recursive}
-
-The built-in function \verb@repr()@ performs exactly the same
-conversion in its argument as enclosing it it reverse quotes does.
-The built-in function \verb@str()@ performs a similar but more
-user-friendly conversion.
-\bifuncindex{repr}
-\bifuncindex{str}
-
-\section{Primaries} \label{primaries}
-\index{primary}
-
-Primaries represent the most tightly bound operations of the language.
-Their syntax is:
-
-\begin{verbatim}
-primary: atom | attributeref | subscription | slicing | call
-\end{verbatim}
-
-\subsection{Attribute references}
-\indexii{attribute}{reference}
-
-An attribute reference is a primary followed by a period and a name:
-
-\begin{verbatim}
-attributeref: primary "." identifier
-\end{verbatim}
-
-The primary must evaluate to an object of a type that supports
-attribute references, e.g. a module or a list. This object is then
-asked to produce the attribute whose name is the identifier. If this
-attribute is not available, the exception \verb@AttributeError@ is
-raised. Otherwise, the type and value of the object produced is
-determined by the object. Multiple evaluations of the same attribute
-reference may yield different objects.
-\obindex{module}
-\obindex{list}
-
-\subsection{Subscriptions}
-\index{subscription}
-
-A subscription selects an item of a sequence (string, tuple or list)
-or mapping (dictionary) object:
-\obindex{sequence}
-\obindex{mapping}
-\obindex{string}
-\obindex{tuple}
-\obindex{list}
-\obindex{dictionary}
-\indexii{sequence}{item}
-
-\begin{verbatim}
-subscription: primary "[" condition "]"
-\end{verbatim}
-
-The primary must evaluate to an object of a sequence or mapping type.
-
-If it is a mapping, the condition must evaluate to an object whose
-value is one of the keys of the mapping, and the subscription selects
-the value in the mapping that corresponds to that key.
-
-If it is a sequence, the condition must evaluate to a plain integer.
-If this value is negative, the length of the sequence is added to it
-(so that, e.g. \verb@x[-1]@ selects the last item of \verb@x@.)
-The resulting value must be a nonnegative integer smaller than the
-number of items in the sequence, and the subscription selects the item
-whose index is that value (counting from zero).
-
-A string's items are characters. A character is not a separate data
-type but a string of exactly one character.
-\index{character}
-\indexii{string}{item}
-
-\subsection{Slicings}
-\index{slicing}
-\index{slice}
-
-A slicing (or slice) selects a range of items in a sequence (string,
-tuple or list) object:
-\obindex{sequence}
-\obindex{string}
-\obindex{tuple}
-\obindex{list}
-
-\begin{verbatim}
-slicing: primary "[" [condition] ":" [condition] "]"
-\end{verbatim}
-
-The primary must evaluate to a sequence object. The lower and upper
-bound expressions, if present, must evaluate to plain integers;
-defaults are zero and the sequence's length, respectively. If either
-bound is negative, the sequence's length is added to it. The slicing
-now selects all items with index \var{k} such that
-\code{\var{i} <= \var{k} < \var{j}} where \var{i}
-and \var{j} are the specified lower and upper bounds. This may be an
-empty sequence. It is not an error if \var{i} or \var{j} lie outside the
-range of valid indexes (such items don't exist so they aren't
-selected).
-
-\subsection{Calls} \label{calls}
-\index{call}
-
-A call calls a callable object (e.g. a function) with a possibly empty
-series of arguments:\footnote{The new syntax for keyword arguments is
-not yet documented in this manual. See chapter 12 of the Tutorial.}
-\obindex{callable}
-
-\begin{verbatim}
-call: primary "(" [condition_list] ")"
-\end{verbatim}
-
-The primary must evaluate to a callable object (user-defined
-functions, built-in functions, methods of built-in objects, class
-objects, and methods of class instances are callable). If it is a
-class, the argument list must be empty; otherwise, the arguments are
-evaluated.
-
-A call always returns some value, possibly \verb@None@, unless it
-raises an exception. How this value is computed depends on the type
-of the callable object. If it is:
-
-\begin{description}
-
-\item[a user-defined function:] the code block for the function is
-executed, passing it the argument list. The first thing the code
-block will do is bind the formal parameters to the arguments; this is
-described in section \ref{function}. When the code block executes a
-\verb@return@ statement, this specifies the return value of the
-function call.
-\indexii{function}{call}
-\indexiii{user-defined}{function}{call}
-\obindex{user-defined function}
-\obindex{function}
-
-\item[a built-in function or method:] the result is up to the
-interpreter; see the library reference manual for the descriptions of
-built-in functions and methods.
-\indexii{function}{call}
-\indexii{built-in function}{call}
-\indexii{method}{call}
-\indexii{built-in method}{call}
-\obindex{built-in method}
-\obindex{built-in function}
-\obindex{method}
-\obindex{function}
-
-\item[a class object:] a new instance of that class is returned.
-\obindex{class}
-\indexii{class object}{call}
-
-\item[a class instance method:] the corresponding user-defined
-function is called, with an argument list that is one longer than the
-argument list of the call: the instance becomes the first argument.
-\obindex{class instance}
-\obindex{instance}
-\indexii{instance}{call}
-\indexii{class instance}{call}
-
-\end{description}
-
-\section{Unary arithmetic operations}
-\indexiii{unary}{arithmetic}{operation}
-\indexiii{unary}{bit-wise}{operation}
-
-All unary arithmetic (and bit-wise) operations have the same priority:
-
-\begin{verbatim}
-u_expr: primary | "-" u_expr | "+" u_expr | "~" u_expr
-\end{verbatim}
-
-The unary \verb@"-"@ (minus) operator yields the negation of its
-numeric argument.
-\index{negation}
-\index{minus}
-
-The unary \verb@"+"@ (plus) operator yields its numeric argument
-unchanged.
-\index{plus}
-
-The unary \verb@"~"@ (invert) operator yields the bit-wise inversion
-of its plain or long integer argument. The bit-wise inversion of
-\verb@x@ is defined as \verb@-(x+1)@.
-\index{inversion}
-
-In all three cases, if the argument does not have the proper type,
-a \verb@TypeError@ exception is raised.
-\exindex{TypeError}
-
-\section{Binary arithmetic operations}
-\indexiii{binary}{arithmetic}{operation}
-
-The binary arithmetic operations have the conventional priority
-levels. Note that some of these operations also apply to certain
-non-numeric types. There is no ``power'' operator, so there are only
-two levels, one for multiplicative operators and one for additive
-operators:
-
-\begin{verbatim}
-m_expr: u_expr | m_expr "*" u_expr
- | m_expr "/" u_expr | m_expr "%" u_expr
-a_expr: m_expr | aexpr "+" m_expr | aexpr "-" m_expr
-\end{verbatim}
-
-The \verb@"*"@ (multiplication) operator yields the product of its
-arguments. The arguments must either both be numbers, or one argument
-must be a plain integer and the other must be a sequence. In the
-former case, the numbers are converted to a common type and then
-multiplied together. In the latter case, sequence repetition is
-performed; a negative repetition factor yields an empty sequence.
-\index{multiplication}
-
-The \verb@"/"@ (division) operator yields the quotient of its
-arguments. The numeric arguments are first converted to a common
-type. Plain or long integer division yields an integer of the same
-type; the result is that of mathematical division with the `floor'
-function applied to the result. Division by zero raises the
-\verb@ZeroDivisionError@ exception.
-\exindex{ZeroDivisionError}
-\index{division}
-
-The \verb@"%"@ (modulo) operator yields the remainder from the
-division of the first argument by the second. The numeric arguments
-are first converted to a common type. A zero right argument raises
-the \verb@ZeroDivisionError@ exception. The arguments may be floating
-point numbers, e.g. \verb@3.14 % 0.7@ equals \verb@0.34@. The modulo
-operator always yields a result with the same sign as its second
-operand (or zero); the absolute value of the result is strictly
-smaller than the second operand.
-\index{modulo}
-
-The integer division and modulo operators are connected by the
-following identity: \verb@x == (x/y)*y + (x%y)@. Integer division and
-modulo are also connected with the built-in function \verb@divmod()@:
-\verb@divmod(x, y) == (x/y, x%y)@. These identities don't hold for
-floating point numbers; there a similar identity holds where
-\verb@x/y@ is replaced by \verb@floor(x/y)@).
-
-The \verb@"+"@ (addition) operator yields the sum of its arguments.
-The arguments must either both be numbers, or both sequences of the
-same type. In the former case, the numbers are converted to a common
-type and then added together. In the latter case, the sequences are
-concatenated.
-\index{addition}
-
-The \verb@"-"@ (subtraction) operator yields the difference of its
-arguments. The numeric arguments are first converted to a common
-type.
-\index{subtraction}
-
-\section{Shifting operations}
-\indexii{shifting}{operation}
-
-The shifting operations have lower priority than the arithmetic
-operations:
-
-\begin{verbatim}
-shift_expr: a_expr | shift_expr ( "<<" | ">>" ) a_expr
-\end{verbatim}
-
-These operators accept plain or long integers as arguments. The
-arguments are converted to a common type. They shift the first
-argument to the left or right by the number of bits given by the
-second argument.
-
-A right shift by \var{n} bits is defined as division by
-\code{pow(2,\var{n})}. A left shift by \var{n} bits is defined as
-multiplication with \code{pow(2,\var{n})}; for plain integers there is
-no overflow check so this drops bits and flips the sign if the result
-is not less than \code{pow(2,31)} in absolute value.
-
-Negative shift counts raise a \verb@ValueError@ exception.
-\exindex{ValueError}
-
-\section{Binary bit-wise operations}
-\indexiii{binary}{bit-wise}{operation}
-
-Each of the three bitwise operations has a different priority level:
-
-\begin{verbatim}
-and_expr: shift_expr | and_expr "&" shift_expr
-xor_expr: and_expr | xor_expr "^" and_expr
-or_expr: xor_expr | or_expr "|" xor_expr
-\end{verbatim}
-
-The \verb@"&"@ operator yields the bitwise AND of its arguments, which
-must be plain or long integers. The arguments are converted to a
-common type.
-\indexii{bit-wise}{and}
-
-The \verb@"^"@ operator yields the bitwise XOR (exclusive OR) of its
-arguments, which must be plain or long integers. The arguments are
-converted to a common type.
-\indexii{bit-wise}{xor}
-\indexii{exclusive}{or}
-
-The \verb@"|"@ operator yields the bitwise (inclusive) OR of its
-arguments, which must be plain or long integers. The arguments are
-converted to a common type.
-\indexii{bit-wise}{or}
-\indexii{inclusive}{or}
-
-\section{Comparisons}
-\index{comparison}
-
-Contrary to C, all comparison operations in Python have the same
-priority, which is lower than that of any arithmetic, shifting or
-bitwise operation. Also contrary to C, expressions like
-\verb@a < b < c@ have the interpretation that is conventional in
-mathematics:
-\index{C}
-
-\begin{verbatim}
-comparison: or_expr (comp_operator or_expr)*
-comp_operator: "<"|">"|"=="|">="|"<="|"<>"|"!="|"is" ["not"]|["not"] "in"
-\end{verbatim}
-
-Comparisons yield integer values: 1 for true, 0 for false.
-
-Comparisons can be chained arbitrarily, e.g. \code{x < y <= z} is
-equivalent to \code{x < y and y <= z}, except that \code{y} is
-evaluated only once (but in both cases \code{z} is not evaluated at all
-when \code{x < y} is found to be false).
-\indexii{chaining}{comparisons}
-
-Formally, if \var{a}, \var{b}, \var{c}, \ldots, \var{y}, \var{z} are
-expressions and \var{opa}, \var{opb}, \ldots, \var{opy} are comparison
-operators, then \var{a opa b opb c} \ldots \var{y opy z} is equivalent
-to \var{a opa b} \code{and} \var{b opb c} \code{and} \ldots \code{and}
-\var{y opy z}, except that each expression is evaluated at most once.
-
-Note that \var{a opa b opb c} doesn't imply any kind of comparison
-between \var{a} and \var{c}, so that e.g.\ \code{x < y > z} is
-perfectly legal (though perhaps not pretty).
-
-The forms \verb@<>@ and \verb@!=@ are equivalent; for consistency with
-C, \verb@!=@ is preferred; where \verb@!=@ is mentioned below
-\verb@<>@ is also implied.
-
-The operators {\tt "<", ">", "==", ">=", "<="}, and {\tt "!="} compare
-the values of two objects. The objects needn't have the same type.
-If both are numbers, they are coverted to a common type. Otherwise,
-objects of different types {\em always} compare unequal, and are
-ordered consistently but arbitrarily.
-
-(This unusual definition of comparison is done to simplify the
-definition of operations like sorting and the \verb@in@ and
-\verb@not@ \verb@in@ operators.)
-
-Comparison of objects of the same type depends on the type:
-
-\begin{itemize}
-
-\item
-Numbers are compared arithmetically.
-
-\item
-Strings are compared lexicographically using the numeric equivalents
-(the result of the built-in function \verb@ord@) of their characters.
-
-\item
-Tuples and lists are compared lexicographically using comparison of
-corresponding items.
-
-\item
-Mappings (dictionaries) are compared through lexicographic
-comparison of their sorted (key, value) lists.%
-\footnote{This is expensive since it requires sorting the keys first,
-but about the only sensible definition. An earlier version of Python
-compared dictionaries by identity only, but this caused surprises
-because people expected to be able to test a dictionary for emptiness
-by comparing it to {\tt \{\}}.}
-
-\item
-Most other types compare unequal unless they are the same object;
-the choice whether one object is considered smaller or larger than
-another one is made arbitrarily but consistently within one
-execution of a program.
-
-\end{itemize}
-
-The operators \verb@in@ and \verb@not in@ test for sequence
-membership: if \var{y} is a sequence, \code{\var{x} in \var{y}} is
-true if and only if there exists an index \var{i} such that
-\code{\var{x} = \var{y}[\var{i}]}.
-\code{\var{x} not in \var{y}} yields the inverse truth value. The
-exception \verb@TypeError@ is raised when \var{y} is not a sequence,
-or when \var{y} is a string and \var{x} is not a string of length one.%
-\footnote{The latter restriction is sometimes a nuisance.}
-\opindex{in}
-\opindex{not in}
-\indexii{membership}{test}
-\obindex{sequence}
-
-The operators \verb@is@ and \verb@is not@ test for object identity:
-\var{x} \code{is} \var{y} is true if and only if \var{x} and \var{y}
-are the same object. \var{x} \code{is not} \var{y} yields the inverse
-truth value.
-\opindex{is}
-\opindex{is not}
-\indexii{identity}{test}
-
-\section{Boolean operations} \label{Booleans}
-\indexii{Boolean}{operation}
-
-Boolean operations have the lowest priority of all Python operations:
-
-\begin{verbatim}
-condition: or_test | lambda_form
-or_test: and_test | or_test "or" and_test
-and_test: not_test | and_test "and" not_test
-not_test: comparison | "not" not_test
-lambda_form: "lambda" [parameter_list]: condition
-\end{verbatim}
-
-In the context of Boolean operations, and also when conditions are
-used by control flow statements, the following values are interpreted
-as false: \verb@None@, numeric zero of all types, empty sequences
-(strings, tuples and lists), and empty mappings (dictionaries). All
-other values are interpreted as true.
-
-The operator \verb@not@ yields 1 if its argument is false, 0 otherwise.
-\opindex{not}
-
-The condition \var{x} \verb@and@ \var{y} first evaluates \var{x}; if
-\var{x} is false, its value is returned; otherwise, \var{y} is
-evaluated and the resulting value is returned.
-\opindex{and}
-
-The condition \var{x} \verb@or@ \var{y} first evaluates \var{x}; if
-\var{x} is true, its value is returned; otherwise, \var{y} is
-evaluated and the resulting value is returned.
-\opindex{or}
-
-(Note that \verb@and@ and \verb@or@ do not restrict the value and type
-they return to 0 and 1, but rather return the last evaluated argument.
-This is sometimes useful, e.g. if \verb@s@ is a string that should be
-replaced by a default value if it is empty, the expression
-\verb@s or 'foo'@ yields the desired value. Because \verb@not@ has to
-invent a value anyway, it does not bother to return a value of the
-same type as its argument, so e.g. \verb@not 'foo'@ yields \verb@0@,
-not \verb@''@.)
-
-Lambda forms (lambda expressions) have the same syntactic position as
-conditions. They are a shorthand to create anonymous functions; the
-expression {\em {\tt lambda} arguments{\tt :} condition}
-yields a function object that behaves virtually identical to one
-defined with
-{\em {\tt def} name {\tt (}arguments{\tt ): return} condition}.
-See section \ref{function} for the syntax of
-parameter lists. Note that functions created with lambda forms cannot
-contain statements.
-\label{lambda}
-\indexii{lambda}{expression}
-\indexii{lambda}{form}
-\indexii{anonmymous}{function}
-
-\section{Expression lists and condition lists}
-\indexii{expression}{list}
-\indexii{condition}{list}
-
-\begin{verbatim}
-expression_list: or_expr ("," or_expr)* [","]
-condintion_list: condition ("," condition)* [","]
-\end{verbatim}
-
-The only difference between expression lists and condition lists is
-the lowest priority of operators that can be used in them without
-being enclosed in parentheses; condition lists allow all operators,
-while expression lists don't allow comparisons and Boolean operators
-(they do allow bitwise and shift operators though).
-
-Expression lists are used in expression statements and assignments;
-condition lists are used everywhere else where a list of
-comma-separated values is required.
-
-An expression (condition) list containing at least one comma yields a
-tuple. The length of the tuple is the number of expressions
-(conditions) in the list. The expressions (conditions) are evaluated
-from left to right. (Condition lists are used syntactically is a few
-places where no tuple is constructed but a list of values is needed
-nevertheless.)
-\obindex{tuple}
-
-The trailing comma is required only to create a single tuple (a.k.a. a
-{\em singleton}); it is optional in all other cases. A single
-expression (condition) without a trailing comma doesn't create a
-tuple, but rather yields the value of that expression (condition).
-\indexii{trailing}{comma}
-
-(To create an empty tuple, use an empty pair of parentheses:
-\verb@()@.)
-
-\section{Summary}
-
-The following table summarizes the operator precedences in Python,
-from lowest precedence (least binding) to highest precedence (most
-binding). Operators in the same box have the same precedence. Unless
-the syntax is explicitly given, operators are binary. Operators in
-the same box group left to right (except for comparisons, which
-chain from left to right --- see above).
-
-\begin{center}
-\begin{tabular}{|c|c|}
-\hline
-\code{or} & Boolean OR \\
-\hline
-\code{and} & Boolean AND \\
-\hline
-\code{not} \var{x} & Boolean NOT \\
-\hline
-\code{in}, \code{not} \code{in} & Membership tests \\
-\code{is}, \code{is} \code{not} & Identity tests \\
-\code{<}, \code{<=}, \code{>}, \code{>=}, \code{<>}, \code{!=}, \code{=} &
- Comparisons \\
-\hline
-\code{|} & Bitwise OR \\
-\hline
-\code{\^} & Bitwise XOR \\
-\hline
-\code{\&} & Bitwise AND \\
-\hline
-\code{<<}, \code{>>} & Shifts \\
-\hline
-\code{+}, \code{-} & Addition and subtraction \\
-\hline
-\code{*}, \code{/}, \code{\%} & Multiplication, division, remainder \\
-\hline
-\code{+\var{x}}, \code{-\var{x}} & Positive, negative \\
-\code{\~\var{x}} & Bitwise not \\
-\hline
-\code{\var{x}.\var{attribute}} & Attribute reference \\
-\code{\var{x}[\var{index}]} & Subscription \\
-\code{\var{x}[\var{index}:\var{index}]} & Slicing \\
-\code{\var{f}(\var{arguments}...)} & Function call \\
-\hline
-\code{(\var{expressions}\ldots)} & Binding or tuple display \\
-\code{[\var{expressions}\ldots]} & List display \\
-\code{\{\var{key}:\var{datum}\ldots\}} & Dictionary display \\
-\code{`\var{expression}\ldots`} & String conversion \\
-\hline
-\end{tabular}
-\end{center}
diff --git a/Doc/ref6.tex b/Doc/ref6.tex
deleted file mode 100644
index 5bd468c..0000000
--- a/Doc/ref6.tex
+++ /dev/null
@@ -1,512 +0,0 @@
-\chapter{Simple statements}
-\indexii{simple}{statement}
-
-Simple statements are comprised within a single logical line.
-Several simple statements may occur on a single line separated
-by semicolons. The syntax for simple statements is:
-
-\begin{verbatim}
-simple_stmt: expression_stmt
- | assignment_stmt
- | pass_stmt
- | del_stmt
- | print_stmt
- | return_stmt
- | raise_stmt
- | break_stmt
- | continue_stmt
- | import_stmt
- | global_stmt
- | exec_stmt
-\end{verbatim}
-
-\section{Expression statements}
-\indexii{expression}{statement}
-
-Expression statements are used (mostly interactively) to compute and
-write a value, or (usually) to call a procedure (a function that
-returns no meaningful result; in Python, procedures return the value
-\verb@None@):
-
-\begin{verbatim}
-expression_stmt: condition_list
-\end{verbatim}
-
-An expression statement evaluates the condition list (which may be a
-single condition).
-\indexii{expression}{list}
-
-In interactive mode, if the value is not \verb@None@, it is converted
-to a string using the rules for string conversions (expressions in
-reverse quotes), and the resulting string is written to standard
-output (see section \ref{print}) on a line by itself.
-(The exception for \verb@None@ is made so that procedure calls, which
-are syntactically equivalent to expressions, do not cause any output.)
-\ttindex{None}
-\indexii{string}{conversion}
-\index{output}
-\indexii{standard}{output}
-\indexii{writing}{values}
-\indexii{procedure}{call}
-
-\section{Assignment statements}
-\indexii{assignment}{statement}
-
-Assignment statements are used to (re)bind names to values and to
-modify attributes or items of mutable objects:
-\indexii{binding}{name}
-\indexii{rebinding}{name}
-\obindex{mutable}
-\indexii{attribute}{assignment}
-
-\begin{verbatim}
-assignment_stmt: (target_list "=")+ expression_list
-target_list: target ("," target)* [","]
-target: identifier | "(" target_list ")" | "[" target_list "]"
- | attributeref | subscription | slicing
-\end{verbatim}
-
-(See section \ref{primaries} for the syntax definitions for the last
-three symbols.)
-
-An assignment statement evaluates the expression list (remember that
-this can be a single expression or a comma-separated list, the latter
-yielding a tuple) and assigns the single resulting object to each of
-the target lists, from left to right.
-\indexii{expression}{list}
-
-Assignment is defined recursively depending on the form of the target
-(list). When a target is part of a mutable object (an attribute
-reference, subscription or slicing), the mutable object must
-ultimately perform the assignment and decide about its validity, and
-may raise an exception if the assignment is unacceptable. The rules
-observed by various types and the exceptions raised are given with the
-definition of the object types (see section \ref{types}).
-\index{target}
-\indexii{target}{list}
-
-Assignment of an object to a target list is recursively defined as
-follows.
-\indexiii{target}{list}{assignment}
-
-\begin{itemize}
-\item
-If the target list is a single target: the object is assigned to that
-target.
-
-\item
-If the target list is a comma-separated list of targets: the object
-must be a tuple with the same number of items as the list contains
-targets, and the items are assigned, from left to right, to the
-corresponding targets.
-
-\end{itemize}
-
-Assignment of an object to a single target is recursively defined as
-follows.
-
-\begin{itemize} % nested
-
-\item
-If the target is an identifier (name):
-
-\begin{itemize}
-
-\item
-If the name does not occur in a \verb@global@ statement in the current
-code block: the name is bound to the object in the current local name
-space.
-\stindex{global}
-
-\item
-Otherwise: the name is bound to the object in the current global name
-space.
-
-\end{itemize} % nested
-
-The name is rebound if it was already bound.
-
-\item
-If the target is a target list enclosed in parentheses: the object is
-assigned to that target list as described above.
-
-\item
-If the target is a target list enclosed in square brackets: the object
-must be a list with the same number of items as the target list
-contains targets, and its items are assigned, from left to right, to
-the corresponding targets.
-
-\item
-If the target is an attribute reference: The primary expression in the
-reference is evaluated. It should yield an object with assignable
-attributes; if this is not the case, \verb@TypeError@ is raised. That
-object is then asked to assign the assigned object to the given
-attribute; if it cannot perform the assignment, it raises an exception
-(usually but not necessarily \verb@AttributeError@).
-\indexii{attribute}{assignment}
-
-\item
-If the target is a subscription: The primary expression in the
-reference is evaluated. It should yield either a mutable sequence
-(list) object or a mapping (dictionary) object. Next, the subscript
-expression is evaluated.
-\indexii{subscription}{assignment}
-\obindex{mutable}
-
-If the primary is a mutable sequence object (a list), the subscript
-must yield a plain integer. If it is negative, the sequence's length
-is added to it. The resulting value must be a nonnegative integer
-less than the sequence's length, and the sequence is asked to assign
-the assigned object to its item with that index. If the index is out
-of range, \verb@IndexError@ is raised (assignment to a subscripted
-sequence cannot add new items to a list).
-\obindex{sequence}
-\obindex{list}
-
-If the primary is a mapping (dictionary) object, the subscript must
-have a type compatible with the mapping's key type, and the mapping is
-then asked to create a key/datum pair which maps the subscript to
-the assigned object. This can either replace an existing key/value
-pair with the same key value, or insert a new key/value pair (if no
-key with the same value existed).
-\obindex{mapping}
-\obindex{dictionary}
-
-\item
-If the target is a slicing: The primary expression in the reference is
-evaluated. It should yield a mutable sequence object (e.g. a list). The
-assigned object should be a sequence object of the same type. Next,
-the lower and upper bound expressions are evaluated, insofar they are
-present; defaults are zero and the sequence's length. The bounds
-should evaluate to (small) integers. If either bound is negative, the
-sequence's length is added to it. The resulting bounds are clipped to
-lie between zero and the sequence's length, inclusive. Finally, the
-sequence object is asked to replace the slice with the items of the
-assigned sequence. The length of the slice may be different from the
-length of the assigned sequence, thus changing the length of the
-target sequence, if the object allows it.
-\indexii{slicing}{assignment}
-
-\end{itemize}
-
-(In the current implementation, the syntax for targets is taken
-to be the same as for expressions, and invalid syntax is rejected
-during the code generation phase, causing less detailed error
-messages.)
-
-WARNING: Although the definition of assignment implies that overlaps
-between the left-hand side and the right-hand side are `safe' (e.g.
-\verb@a, b = b, a@ swaps two variables), overlaps within the
-collection of assigned-to variables are not safe! For instance, the
-following program prints \code@[0, 2]@:
-
-\begin{verbatim}
-x = [0, 1]
-i = 0
-i, x[i] = 1, 2
-print x
-\end{verbatim}
-
-
-\section{The {\tt pass} statement}
-\stindex{pass}
-
-\begin{verbatim}
-pass_stmt: "pass"
-\end{verbatim}
-
-\verb@pass@ is a null operation --- when it is executed, nothing
-happens. It is useful as a placeholder when a statement is
-required syntactically, but no code needs to be executed, for example:
-\indexii{null}{operation}
-
-\begin{verbatim}
-def f(arg): pass # a function that does nothing (yet)
-
-class C: pass # a class with no methods (yet)
-\end{verbatim}
-
-\section{The {\tt del} statement}
-\stindex{del}
-
-\begin{verbatim}
-del_stmt: "del" target_list
-\end{verbatim}
-
-Deletion is recursively defined very similar to the way assignment is
-defined. Rather that spelling it out in full details, here are some
-hints.
-\indexii{deletion}{target}
-\indexiii{deletion}{target}{list}
-
-Deletion of a target list recursively deletes each target, from left
-to right.
-
-Deletion of a name removes the binding of that name (which must exist)
-from the local or global name space, depending on whether the name
-occurs in a \verb@global@ statement in the same code block.
-\stindex{global}
-\indexii{unbinding}{name}
-
-Deletion of attribute references, subscriptions and slicings
-is passed to the primary object involved; deletion of a slicing
-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 {\tt print} statement} \label{print}
-\stindex{print}
-
-\begin{verbatim}
-print_stmt: "print" [ condition ("," condition)* [","] ]
-\end{verbatim}
-
-\verb@print@ evaluates each condition in turn and writes the resulting
-object to standard output (see below). If an object is not a string,
-it is first converted to a string using the rules for string
-conversions. The (resulting or original) string is then written. A
-space is written before each object is (converted and) written, unless
-the output system believes it is positioned at the beginning of a
-line. This is the case: (1) when no characters have yet been written
-to standard output; or (2) when the last character written to standard
-output is \verb/\n/; or (3) when the last write operation on standard
-output was not a \verb@print@ statement. (In some cases it may be
-functional to write an empty string to standard output for this
-reason.)
-\index{output}
-\indexii{writing}{values}
-
-A \verb/"\n"/ character is written at the end, unless the \verb@print@
-statement ends with a comma. This is the only action if the statement
-contains just the keyword \verb@print@.
-\indexii{trailing}{comma}
-\indexii{newline}{suppression}
-
-Standard output is defined as the file object named \verb@stdout@
-in the built-in module \verb@sys@. If no such object exists,
-or if it is not a writable file, a \verb@RuntimeError@ exception is raised.
-(The original implementation attempts to write to the system's original
-standard output instead, but this is not safe, and should be fixed.)
-\indexii{standard}{output}
-\bimodindex{sys}
-\ttindex{stdout}
-\exindex{RuntimeError}
-
-\section{The {\tt return} statement}
-\stindex{return}
-
-\begin{verbatim}
-return_stmt: "return" [condition_list]
-\end{verbatim}
-
-\verb@return@ may only occur syntactically nested in a function
-definition, not within a nested class definition.
-\indexii{function}{definition}
-\indexii{class}{definition}
-
-If a condition list is present, it is evaluated, else \verb@None@
-is substituted.
-
-\verb@return@ leaves the current function call with the condition
-list (or \verb@None@) as return value.
-
-When \verb@return@ passes control out of a \verb@try@ statement
-with a \verb@finally@ clause, that finally clause is executed
-before really leaving the function.
-\kwindex{finally}
-
-\section{The {\tt raise} statement}
-\stindex{raise}
-
-\begin{verbatim}
-raise_stmt: "raise" condition ["," condition ["," condition]]
-\end{verbatim}
-
-\verb@raise@ evaluates its first condition, which must yield
-a string, class, or instance object. If there is a second condition,
-this is evaluated, else \verb@None@ is substituted. If the first
-condition is a class object, then the second condition must be an
-instance of that class or one of its derivatives. If the first
-condition is an instance object, the second condition must be
-\verb@None@.
-\index{exception}
-\indexii{raising}{exception}
-
-If the first object is a class or string, it then raises the exception
-identified by the first object, with the second one (or \verb@None@)
-as its parameter. If the first object is an instance, it raises the
-exception identified by the class of the object, with the instance as
-its parameter (and there should be no second object, or the second
-object should be \verb@None@).
-
-If a third object is present, and it it not \verb@None@, it should be
-a traceback object (see section \ref{traceback}), and it is
-substituted instead of the current location as the place where the
-exception occurred. This is useful to re-raise an exception
-transparently in an except clause.
-\obindex{traceback}
-
-\section{The {\tt break} statement}
-\stindex{break}
-
-\begin{verbatim}
-break_stmt: "break"
-\end{verbatim}
-
-\verb@break@ may only occur syntactically nested in a \verb@for@
-or \verb@while@ loop, but not nested in a function or class definition
-within that loop.
-\stindex{for}
-\stindex{while}
-\indexii{loop}{statement}
-
-It terminates the nearest enclosing loop, skipping the optional
-\verb@else@ clause if the loop has one.
-\kwindex{else}
-
-If a \verb@for@ loop is terminated by \verb@break@, the loop control
-target keeps its current value.
-\indexii{loop control}{target}
-
-When \verb@break@ passes control out of a \verb@try@ statement
-with a \verb@finally@ clause, that finally clause is executed
-before really leaving the loop.
-\kwindex{finally}
-
-\section{The {\tt continue} statement}
-\stindex{continue}
-
-\begin{verbatim}
-continue_stmt: "continue"
-\end{verbatim}
-
-\verb@continue@ may only occur syntactically nested in a \verb@for@ or
-\verb@while@ loop, but not nested in a function or class definition or
-\verb@try@ statement within that loop.\footnote{Except that it may
-currently occur within an {\tt except} clause.}
-\stindex{for}
-\stindex{while}
-\indexii{loop}{statement}
-\kwindex{finally}
-
-It continues with the next cycle of the nearest enclosing loop.
-
-\section{The {\tt import} statement} \label{import}
-\stindex{import}
-
-\begin{verbatim}
-import_stmt: "import" identifier ("," identifier)*
- | "from" identifier "import" identifier ("," identifier)*
- | "from" identifier "import" "*"
-\end{verbatim}
-
-Import statements are executed in two steps: (1) find a module, and
-initialize it if necessary; (2) define a name or names in the local
-name space (of the scope where the \verb@import@ statement occurs).
-The first form (without \verb@from@) repeats these steps for each
-identifier in the list, the \verb@from@ form performs them once, with
-the first identifier specifying the module name.
-\indexii{importing}{module}
-\indexii{name}{binding}
-\kwindex{from}
-
-The system maintains a table of modules that have been initialized,
-indexed by module name. (The current implementation makes this table
-accessible as \verb@sys.modules@.) When a module name is found in
-this table, step (1) is finished. If not, a search for a module
-definition is started. This first looks for a built-in module
-definition, and if no built-in module if the given name is found, it
-searches a user-specified list of directories for a file whose name is
-the module name with extension \verb@".py"@. (The current
-implementation uses the list of strings \verb@sys.path@ as the search
-path; it is initialized from the shell environment variable
-\verb@$PYTHONPATH@, with an installation-dependent default.)
-\ttindex{modules}
-\ttindex{sys.modules}
-\indexii{module}{name}
-\indexii{built-in}{module}
-\indexii{user-defined}{module}
-\bimodindex{sys}
-\ttindex{path}
-\ttindex{sys.path}
-\indexii{filename}{extension}
-
-If a built-in module is found, its built-in initialization code is
-executed and step (1) is finished. If no matching file is found,
-\verb@ImportError@ is raised. If a file is found, it is parsed,
-yielding an executable code block. If a syntax error occurs,
-\verb@SyntaxError@ is raised. Otherwise, an empty module of the given
-name is created and inserted in the module table, and then the code
-block is executed in the context of this module. Exceptions during
-this execution terminate step (1).
-\indexii{module}{initialization}
-\exindex{SyntaxError}
-\exindex{ImportError}
-\index{code block}
-
-When step (1) finishes without raising an exception, step (2) can
-begin.
-
-The first form of \verb@import@ statement binds the module name in the
-local name space to the module object, and then goes on to import the
-next identifier, if any. The \verb@from@ from does not bind the
-module name: it goes through the list of identifiers, looks each one
-of them up in the module found in step (1), and binds the name in the
-local name space to the object thus found. If a name is not found,
-\verb@ImportError@ is raised. If the list of identifiers is replaced
-by a star (\verb@*@), all names defined in the module are bound,
-except those beginning with an underscore(\verb@_@).
-\indexii{name}{binding}
-\exindex{ImportError}
-
-Names bound by import statements may not occur in \verb@global@
-statements in the same scope.
-\stindex{global}
-
-The \verb@from@ form with \verb@*@ may only occur in a module scope.
-\kwindex{from}
-\ttindex{from ... import *}
-
-(The current implementation does not enforce the latter two
-restrictions, but programs should not abuse this freedom, as future
-implementations may enforce them or silently change the meaning of the
-program.)
-
-\section{The {\tt global} statement} \label{global}
-\stindex{global}
-
-\begin{verbatim}
-global_stmt: "global" identifier ("," identifier)*
-\end{verbatim}
-
-The \verb@global@ statement is a declaration which holds for the
-entire current code block. It means that the listed identifiers are to be
-interpreted as globals. While {\em using} global names is automatic
-if they are not defined in the local scope, {\em assigning} to global
-names would be impossible without \verb@global@.
-\indexiii{global}{name}{binding}
-
-Names listed in a \verb@global@ statement must not be used in the same
-code block before that \verb@global@ statement is executed.
-
-Names listed in a \verb@global@ statement must not be defined as formal
-parameters or in a \verb@for@ loop control target, \verb@class@
-definition, function definition, or \verb@import@ statement.
-
-(The current implementation does not enforce the latter two
-restrictions, but programs should not abuse this freedom, as future
-implementations may enforce them or silently change the meaning of the
-program.)
-
-Note: the \verb@global@ is a directive to the parser. Therefore, it
-applies only to code parsed at the same time as the \verb@global@
-statement. In particular, a \verb@global@ statement contained in an
-\verb@exec@ statement does not affect the code block {\em containing}
-the \verb@exec@ statement, and code contained in an \verb@exec@
-statement is unaffected by \verb@global@ statements in the code
-containing the \verb@exec@ statement. The same applies to the
-\verb@eval()@, \verb@execfie()@ and \verb@compile()@ functions.
-\stindex{exec}
-\ttindex{eval}
-\ttindex{execfile}
-\ttindex{compile}
diff --git a/Doc/ref7.tex b/Doc/ref7.tex
deleted file mode 100644
index 9bce121..0000000
--- a/Doc/ref7.tex
+++ /dev/null
@@ -1,391 +0,0 @@
-\chapter{Compound statements}
-\indexii{compound}{statement}
-
-Compound statements contain (groups of) other statements; they affect
-or control the execution of those other statements in some way. In
-general, compound statements span multiple lines, although in simple
-incarnations a whole compound statement may be contained in one line.
-
-The \verb@if@, \verb@while@ and \verb@for@ statements implement
-traditional control flow constructs. \verb@try@ specifies exception
-handlers and/or cleanup code for a group of statements. Function and
-class definitions are also syntactically compound statements.
-
-Compound statements consist of one or more `clauses'. A clause
-consists of a header and a `suite'. The clause headers of a
-particular compound statement are all at the same indentation level.
-Each clause header begins with a uniquely identifying keyword and ends
-with a colon. A suite is a group of statements controlled by a
-clause. A suite can be one or more semicolon-separated simple
-statements on the same line as the header, following the header's
-colon, or it can be one or more indented statements on subsequent
-lines. Only the latter form of suite can contain nested compound
-statements; the following is illegal, mostly because it wouldn't be
-clear to which \verb@if@ clause a following \verb@else@ clause would
-belong:
-\index{clause}
-\index{suite}
-
-\begin{verbatim}
-if test1: if test2: print x
-\end{verbatim}
-
-Also note that the semicolon binds tighter than the colon in this
-context, so that in the following example, either all or none of the
-\verb@print@ statements are executed:
-
-\begin{verbatim}
-if x < y < z: print x; print y; print z
-\end{verbatim}
-
-Summarizing:
-
-\begin{verbatim}
-compound_stmt: if_stmt | while_stmt | for_stmt
- | try_stmt | funcdef | classdef
-suite: stmt_list NEWLINE | NEWLINE INDENT statement+ DEDENT
-statement: stmt_list NEWLINE | compound_stmt
-stmt_list: simple_stmt (";" simple_stmt)* [";"]
-\end{verbatim}
-
-Note that statements always end in a \verb@NEWLINE@ possibly followed
-by a \verb@DEDENT@.
-\index{NEWLINE token}
-\index{DEDENT token}
-
-Also note that optional continuation clauses always begin with a
-keyword that cannot start a statement, thus there are no ambiguities
-(the `dangling \verb@else@' problem is solved in Python by requiring
-nested \verb@if@ statements to be indented).
-\indexii{dangling}{else}
-
-The formatting of the grammar rules in the following sections places
-each clause on a separate line for clarity.
-
-\section{The {\tt if} statement}
-\stindex{if}
-
-The \verb@if@ statement is used for conditional execution:
-
-\begin{verbatim}
-if_stmt: "if" condition ":" suite
- ("elif" condition ":" suite)*
- ["else" ":" suite]
-\end{verbatim}
-
-It selects exactly one of the suites by evaluating the conditions one
-by one until one is found to be true (see section \ref{Booleans} for
-the definition of true and false); then that suite is executed (and no
-other part of the \verb@if@ statement is executed or evaluated). If
-all conditions are false, the suite of the \verb@else@ clause, if
-present, is executed.
-\kwindex{elif}
-\kwindex{else}
-
-\section{The {\tt while} statement}
-\stindex{while}
-\indexii{loop}{statement}
-
-The \verb@while@ statement is used for repeated execution as long as a
-condition is true:
-
-\begin{verbatim}
-while_stmt: "while" condition ":" suite
- ["else" ":" suite]
-\end{verbatim}
-
-This repeatedly tests the condition and, if it is true, executes the
-first suite; if the condition is false (which may be the first time it
-is tested) the suite of the \verb@else@ clause, if present, is
-executed and the loop terminates.
-\kwindex{else}
-
-A \verb@break@ statement executed in the first suite terminates the
-loop without executing the \verb@else@ clause's suite. A
-\verb@continue@ statement executed in the first suite skips the rest
-of the suite and goes back to testing the condition.
-\stindex{break}
-\stindex{continue}
-
-\section{The {\tt for} statement}
-\stindex{for}
-\indexii{loop}{statement}
-
-The \verb@for@ statement is used to iterate over the elements of a
-sequence (string, tuple or list):
-\obindex{sequence}
-
-\begin{verbatim}
-for_stmt: "for" target_list "in" condition_list ":" suite
- ["else" ":" suite]
-\end{verbatim}
-
-The condition list is evaluated once; it should yield a sequence. The
-suite is then executed once for each item in the sequence, in the
-order of ascending indices. Each item in turn is assigned to the
-target list using the standard rules for assignments, and then the
-suite is executed. When the items are exhausted (which is immediately
-when the sequence is empty), the suite in the \verb@else@ clause, if
-present, is executed, and the loop terminates.
-\kwindex{in}
-\kwindex{else}
-\indexii{target}{list}
-
-A \verb@break@ statement executed in the first suite terminates the
-loop without executing the \verb@else@ clause's suite. A
-\verb@continue@ statement executed in the first suite skips the rest
-of the suite and continues with the next item, or with the \verb@else@
-clause if there was no next item.
-\stindex{break}
-\stindex{continue}
-
-The suite may assign to the variable(s) in the target list; this does
-not affect the next item assigned to it.
-
-The target list is not deleted when the loop is finished, but if the
-sequence is empty, it will not have been assigned to at all by the
-loop.
-
-Hint: the built-in function \verb@range()@ returns a sequence of
-integers suitable to emulate the effect of Pascal's
-\verb@for i := a to b do@;
-e.g. \verb@range(3)@ returns the list \verb@[0, 1, 2]@.
-\bifuncindex{range}
-\index{Pascal}
-
-{\bf Warning:} There is a subtlety when the sequence is being modified
-by the loop (this can only occur for mutable sequences, i.e. lists).
-An internal counter is used to keep track of which item is used next,
-and this is incremented on each iteration. When this counter has
-reached the length of the sequence the loop terminates. This means that
-if the suite deletes the current (or a previous) item from the
-sequence, the next item will be skipped (since it gets the index of
-the current item which has already been treated). Likewise, if the
-suite inserts an item in the sequence before the current item, the
-current item will be treated again the next time through the loop.
-This can lead to nasty bugs that can be avoided by making a temporary
-copy using a slice of the whole sequence, e.g.
-\index{loop!over mutable sequence}
-\index{mutable sequence!loop over}
-
-\begin{verbatim}
-for x in a[:]:
- if x < 0: a.remove(x)
-\end{verbatim}
-
-\section{The {\tt try} statement} \label{try}
-\stindex{try}
-
-The \verb@try@ statement specifies exception handlers and/or cleanup
-code for a group of statements:
-
-\begin{verbatim}
-try_stmt: try_exc_stmt | try_fin_stmt
-try_exc_stmt: "try" ":" suite
- ("except" [condition ["," target]] ":" suite)+
- ["else" ":" suite]
-try_fin_stmt: "try" ":" suite
- "finally" ":" suite
-\end{verbatim}
-
-There are two forms of \verb@try@ statement: \verb@try...except@ and
-\verb@try...finally@. These forms cannot be mixed.
-
-The \verb@try...except@ form specifies one or more exception handlers
-(the \verb@except@ clauses). When no exception occurs in the
-\verb@try@ clause, no exception handler is executed. When an
-exception occurs in the \verb@try@ suite, a search for an exception
-handler is started. This inspects the except clauses in turn until
-one is found that matches the exception. A condition-less except
-clause, if present, must be last; it matches any exception. For an
-except clause with a condition, that condition is evaluated, and the
-clause matches the exception if the resulting object is ``compatible''
-with the exception. An object is compatible with an exception if it
-is either the object that identifies the exception, or (for exceptions
-that are classes) it is a base class of the exception, or it is a
-tuple containing an item that is compatible with the exception. Note
-that the object identities must match, i.e. it must be the same
-object, not just an object with the same value.
-\kwindex{except}
-
-If no except clause matches the exception, the search for an exception
-handler continues in the surrounding code and on the invocation stack.
-
-If the evaluation of a condition in the header of an except clause
-raises an exception, the original search for a handler is cancelled
-and a search starts for the new exception in the surrounding code and
-on the call stack (it is treated as if the entire \verb@try@ statement
-raised the exception).
-
-When a matching except clause is found, the exception's parameter is
-assigned to the target specified in that except clause, if present,
-and the except clause's suite is executed. When the end of this suite
-is reached, execution continues normally after the entire try
-statement. (This means that if two nested handlers exist for the same
-exception, and the exception occurs in the try clause of the inner
-handler, the outer handler will not handle the exception.)
-
-Before an except clause's suite is executed, details about the
-exception are assigned to three variables in the \verb@sys@ module:
-\verb@sys.exc_type@ receives the object identifying the exception;
-\verb@sys.exc_value@ receives the exception's parameter;
-\verb@sys.exc_traceback@ receives a traceback object (see section
-\ref{traceback}) identifying the point in the program where the
-exception occurred.
-\bimodindex{sys}
-\ttindex{exc_type}
-\ttindex{exc_value}
-\ttindex{exc_traceback}
-\obindex{traceback}
-
-The optional \verb@else@ clause is executed when no exception occurs
-in the \verb@try@ clause. Exceptions in the \verb@else@ clause are
-not handled by the preceding \verb@except@ clauses.
-\kwindex{else}
-
-The \verb@try...finally@ form specifies a `cleanup' handler. The
-\verb@try@ clause is executed. When no exception occurs, the
-\verb@finally@ clause is executed. When an exception occurs in the
-\verb@try@ clause, the exception is temporarily saved, the
-\verb@finally@ clause is executed, and then the saved exception is
-re-raised. If the \verb@finally@ clause raises another exception or
-executes a \verb@return@, \verb@break@ or \verb@continue@ statement,
-the saved exception is lost.
-\kwindex{finally}
-
-When a \verb@return@ or \verb@break@ statement is executed in the
-\verb@try@ suite of a \verb@try...finally@ statement, the
-\verb@finally@ clause is also executed `on the way out'. A
-\verb@continue@ statement is illegal in the \verb@try@ clause. (The
-reason is a problem with the current implementation --- this
-restriction may be lifted in the future).
-\stindex{return}
-\stindex{break}
-\stindex{continue}
-
-\section{Function definitions} \label{function}
-\indexii{function}{definition}
-
-A function definition defines a user-defined function object (see
-section \ref{types}):\footnote{The new syntax to receive arbitrary
-keyword arguments is not yet documented in this manual. See chapter
-12 of the Tutorial.}
-\obindex{user-defined function}
-\obindex{function}
-
-\begin{verbatim}
-funcdef: "def" funcname "(" [parameter_list] ")" ":" suite
-parameter_list: (defparameter ",")* ("*" identifier [, "**" identifier]
- | "**" identifier
- | defparameter [","])
-defparameter: parameter ["=" condition]
-sublist: parameter ("," parameter)* [","]
-parameter: identifier | "(" sublist ")"
-funcname: identifier
-\end{verbatim}
-
-A function definition is an executable statement. Its execution binds
-the function name in the current local name space to a function object
-(a wrapper around the executable code for the function). This
-function object contains a reference to the current global name space
-as the global name space to be used when the function is called.
-\indexii{function}{name}
-\indexii{name}{binding}
-
-The function definition does not execute the function body; this gets
-executed only when the function is called.
-
-When one or more top-level parameters have the form {\em parameter =
-condition}, the function is said to have ``default parameter values''.
-Default parameter values are evaluated when the function definition is
-executed. For a parameter with a default value, the correponding
-argument may be omitted from a call, in which case the parameter's
-default value is substituted. If a parameter has a default value, all
-following parameters must also have a default value --- this is a
-syntactic restriction that is not expressed by the grammar.%
-\footnote{Currently this is not checked; instead,
-{\tt def f(a=1,b)} is interpreted as {\tt def f(a=1,b=None)}.}
-\indexiii{default}{parameter}{value}
-
-Function call semantics are described in section \ref{calls}. When a
-user-defined function is called, first missing arguments for which a
-default value exists are supplied; then the arguments (a.k.a. actual
-parameters) are bound to the (formal) parameters, as follows:
-\indexii{function}{call}
-\indexiii{user-defined}{function}{call}
-\index{parameter}
-\index{argument}
-\indexii{parameter}{formal}
-\indexii{parameter}{actual}
-
-\begin{itemize}
-
-\item
-If there are no formal parameters, there must be no arguments.
-
-\item
-If the formal parameter list does not end in a star followed by an
-identifier, there must be exactly as many arguments as there are
-parameters in the formal parameter list (at the top level); the
-arguments are assigned to the formal parameters one by one. Note that
-the presence or absence of a trailing comma at the top level in either
-the formal or the actual parameter list makes no difference. The
-assignment to a formal parameter is performed as if the parameter
-occurs on the left hand side of an assignment statement whose right
-hand side's value is that of the argument.
-
-\item
-If the formal parameter list ends in a star followed by an identifier,
-preceded by zero or more comma-followed parameters, there must be at
-least as many arguments as there are parameters preceding the star.
-Call this number {\em N}. The first {\em N} arguments are assigned to
-the corresponding formal parameters in the way descibed above. A
-tuple containing the remaining arguments, if any, is then assigned to
-the identifier following the star. This variable will always be a
-tuple: if there are no extra arguments, its value is \verb@()@, if
-there is just one extra argument, it is a singleton tuple.
-\indexii{variable length}{parameter list}
-
-\end{itemize}
-
-Note that the `variable length parameter list' feature only works at
-the top level of the parameter list; individual parameters use a model
-corresponding more closely to that of ordinary assignment. While the
-latter model is generally preferable, because of the greater type
-safety it offers (wrong-sized tuples aren't silently mistreated),
-variable length parameter lists are a sufficiently accepted practice
-in most programming languages that a compromise has been worked out.
-(And anyway, assignment has no equivalent for empty argument lists.)
-
-It is also possible to create anonymous functions (functions not bound
-to a name), for immediate use in expressions. This uses lambda forms,
-described in section \ref{lambda}.
-\indexii{lambda}{form}
-
-\section{Class definitions} \label{class}
-\indexii{class}{definition}
-
-A class definition defines a class object (see section \ref{types}):
-\obindex{class}
-
-\begin{verbatim}
-classdef: "class" classname [inheritance] ":" suite
-inheritance: "(" [condition_list] ")"
-classname: identifier
-\end{verbatim}
-
-A class definition is an executable statement. It first evaluates the
-inheritance list, if present. Each item in the inheritance list
-should evaluate to a class object. The class's suite is then executed
-in a new execution frame (see section \ref{execframes}), using a newly
-created local name space and the original global name space.
-(Usually, the suite contains only function definitions.) When the
-class's suite finishes execution, its execution frame is discarded but
-its local name space is saved. A class object is then created using
-the inheritance list for the base classes and the saved local name
-space for the attribute dictionary. The class name is bound to this
-class object in the original local name space.
-\index{inheritance}
-\indexii{class}{name}
-\indexii{name}{binding}
-\indexii{execution}{frame}
diff --git a/Doc/ref8.tex b/Doc/ref8.tex
deleted file mode 100644
index a9e688a..0000000
--- a/Doc/ref8.tex
+++ /dev/null
@@ -1,105 +0,0 @@
-\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}
-\bimodindex{__main__}
-
-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 the \verb@exec@ statement;
-
-\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}