* configure.ac:
+ Check for awk and groff. + Only build documentation if groff was found. * debian/rules: + Move .ps documentation to the elkdoc package. * doc/*: + Removed *.ps files from CVS. + Added proper build rules for *.ps files. git-svn-id: svn://svn.zoy.org/elk/trunk@143 55e467fa-43c5-0310-a8a2-de718669efc6
This commit is contained in:
parent
d55ca1b9bf
commit
3077766693
18
configure.ac
18
configure.ac
|
@ -473,6 +473,23 @@ ELK_LIBS="${ELK_LIBS} -lm"
|
|||
AC_SUBST(INCLUDES)
|
||||
AC_SUBST(ELK_LIBS)
|
||||
|
||||
dnl
|
||||
dnl Check for available programs
|
||||
dnl
|
||||
AC_PROG_AWK
|
||||
AC_MSG_CHECKING(for groff -ms)
|
||||
if echo foo | groff -ms >/dev/null 2>&1; then
|
||||
ac_cv_my_have_groff=yes
|
||||
else
|
||||
ac_cv_my_have_groff=no
|
||||
fi
|
||||
AC_MSG_RESULT([${ac_cv_my_have_groff}])
|
||||
AM_CONDITIONAL(HAVE_GROFF, test "${ac_cv_my_have_groff}" = "yes")
|
||||
|
||||
|
||||
dnl
|
||||
dnl Finished!
|
||||
dnl
|
||||
AC_OUTPUT([
|
||||
Makefile
|
||||
autotools/Makefile
|
||||
|
@ -515,5 +532,6 @@ libgdbm support: ${ac_cv_my_have_gdbm}
|
|||
X11 support: ${ac_cv_my_have_x11}
|
||||
Xaw support: ${ac_cv_my_have_xaw}
|
||||
Motif support: ${ac_cv_my_have_motif}
|
||||
build documentation: ${ac_cv_my_have_groff}
|
||||
EOF
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@ Source: elk
|
|||
Section: devel
|
||||
Priority: optional
|
||||
Maintainer: Sam Hocevar (Debian packages) <sam+deb@zoy.org>
|
||||
Build-Depends: debhelper (>= 3.0), groff-base, libelfg0-dev, xlibs-dev, lesstif-dev, libgdbm-dev, libxaw7-dev
|
||||
Build-Depends: debhelper (>= 3.0), groff, libelfg0-dev, xlibs-dev, lesstif-dev, libgdbm-dev, libxaw7-dev
|
||||
Standards-Version: 3.6.1.0
|
||||
|
||||
Package: elk
|
||||
|
|
|
@ -5,4 +5,3 @@ MACHINES
|
|||
NEWS
|
||||
README
|
||||
TODO
|
||||
doc
|
||||
|
|
|
@ -56,6 +56,8 @@ install: build
|
|||
$(CURDIR)/debian/elk/usr/lib/*.a \
|
||||
$(CURDIR)/debian/libelk0-dev/usr/lib/
|
||||
|
||||
mv $(CURDIR)/debian/elk/usr/share/doc/elk/*.ps \
|
||||
$(CURDIR)/debian/elkdoc/usr/share/doc/elkdoc/
|
||||
mv $(CURDIR)/debian/elk/usr/share/doc/elk/examples \
|
||||
$(CURDIR)/debian/elkdoc/usr/share/doc/elkdoc/
|
||||
|
||||
|
@ -67,8 +69,6 @@ binary-indep: build install
|
|||
dh_testroot
|
||||
# dh_installdebconf
|
||||
dh_installdocs
|
||||
rm -Rf `find $(CURDIR)/debian/elkdoc/usr/share/doc/elkdoc/ -type d -name .svn`
|
||||
rm -f `find $(CURDIR)/debian/elkdoc/usr/share/doc/elkdoc/ -type f -name 'Makefile*'`
|
||||
# dh_installexamples
|
||||
# dh_installmenu
|
||||
# dh_installemacsen
|
||||
|
|
|
@ -1 +1,31 @@
|
|||
EXTRA_DIST = bitstring.ms bitstring.ps
|
||||
EXTRA_DIST = bitstring.ms
|
||||
|
||||
if HAVE_GROFF
|
||||
doc_DATA = bitstring.ps
|
||||
docdir = $(datadir)/doc/@PACKAGE@
|
||||
endif
|
||||
|
||||
MANUAL= bitstring
|
||||
TROFF= groff -ms -t
|
||||
UNROFF= unroff -ms
|
||||
|
||||
bitstring.ps: bitstring.ms index.ms
|
||||
(cat bitstring.ms ../util/tmac.index index.ms; echo ".Tc")\
|
||||
| $(TROFF) 2> /dev/null > bitstring.ps
|
||||
|
||||
bitstring.html: bitstring.ms
|
||||
(cat $?; echo ".Tc") | $(UNROFF) document=bitstring
|
||||
|
||||
index.ms: bitstring.ms index.raw
|
||||
sort -f -t'#' +1 -3 +0n index.raw | awk -f ../util/fixindex.awk\
|
||||
| awk -f ../util/block.awk >index.ms
|
||||
|
||||
index.raw: bitstring.ms
|
||||
$(TROFF) bitstring.ms 2> index.raw >/dev/null
|
||||
|
||||
check:
|
||||
checknr -c.Ul.Pr.Sy.Va.Sh.Ix.Id.Ch -a.Ss.Se.[[.]] bitstring.ms |\
|
||||
grep -v "Empty command"
|
||||
|
||||
clean:
|
||||
rm -f index.raw index.ms bitstring.ps bitstring.html
|
||||
|
|
|
@ -1,533 +0,0 @@
|
|||
%!PS-Adobe-3.0
|
||||
%%Creator: groff version 1.08
|
||||
%%DocumentNeededResources: font Times-Bold
|
||||
%%+ font Times-Italic
|
||||
%%+ font Times-Roman
|
||||
%%+ font Courier
|
||||
%%+ font Symbol
|
||||
%%DocumentSuppliedResources: procset grops 1.08 0
|
||||
%%Pages: 6
|
||||
%%PageOrder: Ascend
|
||||
%%Orientation: Portrait
|
||||
%%EndComments
|
||||
%%BeginProlog
|
||||
%%BeginResource: procset grops 1.08 0
|
||||
/setpacking where{
|
||||
pop
|
||||
currentpacking
|
||||
true setpacking
|
||||
}if
|
||||
/grops 120 dict dup begin
|
||||
/SC 32 def
|
||||
/A/show load def
|
||||
/B{0 SC 3 -1 roll widthshow}bind def
|
||||
/C{0 exch ashow}bind def
|
||||
/D{0 exch 0 SC 5 2 roll awidthshow}bind def
|
||||
/E{0 rmoveto show}bind def
|
||||
/F{0 rmoveto 0 SC 3 -1 roll widthshow}bind def
|
||||
/G{0 rmoveto 0 exch ashow}bind def
|
||||
/H{0 rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
|
||||
/I{0 exch rmoveto show}bind def
|
||||
/J{0 exch rmoveto 0 SC 3 -1 roll widthshow}bind def
|
||||
/K{0 exch rmoveto 0 exch ashow}bind def
|
||||
/L{0 exch rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
|
||||
/M{rmoveto show}bind def
|
||||
/N{rmoveto 0 SC 3 -1 roll widthshow}bind def
|
||||
/O{rmoveto 0 exch ashow}bind def
|
||||
/P{rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
|
||||
/Q{moveto show}bind def
|
||||
/R{moveto 0 SC 3 -1 roll widthshow}bind def
|
||||
/S{moveto 0 exch ashow}bind def
|
||||
/T{moveto 0 exch 0 SC 5 2 roll awidthshow}bind def
|
||||
/SF{
|
||||
findfont exch
|
||||
[exch dup 0 exch 0 exch neg 0 0]makefont
|
||||
dup setfont
|
||||
[exch/setfont cvx]cvx bind def
|
||||
}bind def
|
||||
/MF{
|
||||
findfont
|
||||
[5 2 roll
|
||||
0 3 1 roll
|
||||
neg 0 0]makefont
|
||||
dup setfont
|
||||
[exch/setfont cvx]cvx bind def
|
||||
}bind def
|
||||
/level0 0 def
|
||||
/RES 0 def
|
||||
/PL 0 def
|
||||
/LS 0 def
|
||||
/PLG{
|
||||
gsave newpath clippath pathbbox grestore
|
||||
exch pop add exch pop
|
||||
}bind def
|
||||
/BP{
|
||||
/level0 save def
|
||||
1 setlinecap
|
||||
1 setlinejoin
|
||||
72 RES div dup scale
|
||||
LS{
|
||||
90 rotate
|
||||
}{
|
||||
0 PL translate
|
||||
}ifelse
|
||||
1 -1 scale
|
||||
}bind def
|
||||
/EP{
|
||||
level0 restore
|
||||
showpage
|
||||
}bind def
|
||||
/DA{
|
||||
newpath arcn stroke
|
||||
}bind def
|
||||
/SN{
|
||||
transform
|
||||
.25 sub exch .25 sub exch
|
||||
round .25 add exch round .25 add exch
|
||||
itransform
|
||||
}bind def
|
||||
/DL{
|
||||
SN
|
||||
moveto
|
||||
SN
|
||||
lineto stroke
|
||||
}bind def
|
||||
/DC{
|
||||
newpath 0 360 arc closepath
|
||||
}bind def
|
||||
/TM matrix def
|
||||
/DE{
|
||||
TM currentmatrix pop
|
||||
translate scale newpath 0 0 .5 0 360 arc closepath
|
||||
TM setmatrix
|
||||
}bind def
|
||||
/RC/rcurveto load def
|
||||
/RL/rlineto load def
|
||||
/ST/stroke load def
|
||||
/MT/moveto load def
|
||||
/CL/closepath load def
|
||||
/FL{
|
||||
currentgray exch setgray fill setgray
|
||||
}bind def
|
||||
/BL/fill load def
|
||||
/LW/setlinewidth load def
|
||||
/RE{
|
||||
findfont
|
||||
dup maxlength 1 index/FontName known not{1 add}if dict begin
|
||||
{
|
||||
1 index/FID ne{def}{pop pop}ifelse
|
||||
}forall
|
||||
/Encoding exch def
|
||||
dup/FontName exch def
|
||||
currentdict end definefont pop
|
||||
}bind def
|
||||
/DEFS 0 def
|
||||
/EBEGIN{
|
||||
moveto
|
||||
DEFS begin
|
||||
}bind def
|
||||
/EEND/end load def
|
||||
/CNT 0 def
|
||||
/level1 0 def
|
||||
/PBEGIN{
|
||||
/level1 save def
|
||||
translate
|
||||
div 3 1 roll div exch scale
|
||||
neg exch neg exch translate
|
||||
0 setgray
|
||||
0 setlinecap
|
||||
1 setlinewidth
|
||||
0 setlinejoin
|
||||
10 setmiterlimit
|
||||
[]0 setdash
|
||||
/setstrokeadjust where{
|
||||
pop
|
||||
false setstrokeadjust
|
||||
}if
|
||||
/setoverprint where{
|
||||
pop
|
||||
false setoverprint
|
||||
}if
|
||||
newpath
|
||||
/CNT countdictstack def
|
||||
userdict begin
|
||||
/showpage{}def
|
||||
}bind def
|
||||
/PEND{
|
||||
clear
|
||||
countdictstack CNT sub{end}repeat
|
||||
level1 restore
|
||||
}bind def
|
||||
end def
|
||||
/setpacking where{
|
||||
pop
|
||||
setpacking
|
||||
}if
|
||||
%%EndResource
|
||||
%%IncludeResource: font Times-Bold
|
||||
%%IncludeResource: font Times-Italic
|
||||
%%IncludeResource: font Times-Roman
|
||||
%%IncludeResource: font Courier
|
||||
%%IncludeResource: font Symbol
|
||||
grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72 def/PL
|
||||
841.89 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron/Zcaron/scaron
|
||||
/zcaron/Ydieresis/trademark/quotesingle/.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/quoteright/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/circumflex/underscore/quoteleft/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/tilde/.notdef/quotesinglbase
|
||||
/guillemotleft/guillemotright/bullet/florin/fraction/perthousand/dagger
|
||||
/daggerdbl/endash/emdash/ff/fi/fl/ffi/ffl/dotlessi/dotlessj/grave/hungarumlaut
|
||||
/dotaccent/breve/caron/ring/ogonek/quotedblleft/quotedblright/oe/lslash
|
||||
/quotedblbase/OE/Lslash/.notdef/exclamdown/cent/sterling/currency/yen/brokenbar
|
||||
/section/dieresis/copyright/ordfeminine/guilsinglleft/logicalnot/minus
|
||||
/registered/macron/degree/plusminus/twosuperior/threesuperior/acute/mu
|
||||
/paragraph/periodcentered/cedilla/onesuperior/ordmasculine/guilsinglright
|
||||
/onequarter/onehalf/threequarters/questiondown/Agrave/Aacute/Acircumflex/Atilde
|
||||
/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute
|
||||
/Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis
|
||||
/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls
|
||||
/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla/egrave/eacute
|
||||
/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis/eth/ntilde/ograve
|
||||
/oacute/ocircumflex/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex
|
||||
/udieresis/yacute/thorn/ydieresis]def/Courier@0 ENC0/Courier RE/Times-Roman@0
|
||||
ENC0/Times-Roman RE/Times-Italic@0 ENC0/Times-Italic RE/Times-Bold@0 ENC0
|
||||
/Times-Bold RE
|
||||
%%EndProlog
|
||||
%%Page: 1 1
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
%%EndPageSetup
|
||||
/F0 12/Times-Bold@0 SF(Refer)222.444 120 Q(ence Manual f)-.216 E(or the)-.3 E
|
||||
(Elk Bit String Extension)225.486 138 Q/F1 10/Times-Italic@0 SF(Oliver Laumann)
|
||||
255.085 162 Q/F2 11/Times-Bold@0 SF 2.75(1. Intr)72 234 R(oduction)-.198 E/F3
|
||||
11/Times-Roman@0 SF .192(The bit string e)97 252.6 R .192
|
||||
(xtension to Elk de\214nes a ne)-.165 F 2.942(wd)-.275 G .191(ata type)302.69
|
||||
252.6 R/F4 11/Times-Italic@0 SF(bitstring)2.941 E F3 .191
|
||||
(\(a sequence of zero or more)2.941 F 1.565
|
||||
(bits\) and functions to create and manipulate bit strings.)72 267.6 R 1.566
|
||||
(The bits in a bit string are numbered)7.065 F(be)72 282.6 Q .652(ginning from\
|
||||
zero up to the number of bits minus one; bit number 0 is the least signi\214c\
|
||||
ant bit)-.165 F
|
||||
(\(LSB\), and the highest numbered bit is the most signi\214cant bit \(MSB\).)
|
||||
72 297.6 Q .065(The print representation of bit strings is introduced by the s\
|
||||
equence `#*'; the bits are printed)97 316.2 R .922
|
||||
(starting with the most signi\214cant bit.)72 331.2 R(Lik)6.422 E -.275(ew)-.11
|
||||
G .921(ise, in the reader the sequence `#*' introduces a bit).275 F
|
||||
(string constant.)72 346.2 Q(Example:)72 364.8 Q/F5 10/Courier@0 SF
|
||||
(#*0100110111)100.346 387.303 Q(#*)100.346 408.303 Q F1(\(empty bit string\))
|
||||
190.346 408.303 Q F2 2.75(2. Using)72 445.303 R(the Bit String Extension)2.75 E
|
||||
F3 1.76 -.88(To l)97 463.903 T(oad the bit string e).88 E(xtension, e)-.165 E
|
||||
-.275(va)-.275 G(luate the e).275 E(xpression)-.165 E F5
|
||||
(\(require 'bitstring\))100.346 486.406 Q F3 .319(This causes the \214les)97
|
||||
512.006 R F4(bitstring)3.07 E(.scm)-.165 E F3(and)3.07 E F4(bitstring)3.07 E
|
||||
(.o)-.165 E F3 .32(to be loaded \()3.07 F F4(bitstring)A(.o)-.165 E F3 .32
|
||||
(must be statically)3.07 F(link)72 527.006 Q(ed with the interpreter on platfo\
|
||||
rms that do not support dynamic loading of object \214les\).)-.11 E
|
||||
(Loading the bit string e)97 545.606 Q(xtension causes the features)-.165 E F4
|
||||
(bitstring)2.75 E F3(and)2.75 E F4(bitstring)2.75 E(.o)-.165 E F3(to be pro)
|
||||
2.75 E(vided.)-.165 E F2 2.75(3. Cr)72 575.606 R(eating Bit Strings)-.198 E
|
||||
(\(mak)72 605.606 Q(e-bitstring)-.11 E F4(length init)4.583 E F2 257.742(\)p)C
|
||||
-.198(ro)462.244 605.606 S(cedur).198 E(e)-.198 E F4(mak)72 624.206 Q
|
||||
(e-bitstring)-.11 E F3 .203(returns a ne)2.953 F 2.953(wb)-.275 G .203
|
||||
(it string of the gi)206.847 624.206 R -.165(ve)-.275 G 2.953(nl).165 G 2.952
|
||||
(ength. If)302.451 624.206 R .202(init is #t, all bits are initialized to 1;)
|
||||
2.952 F(if init is #f, all bits are initialized to 0.)72 639.206 Q F2
|
||||
(\(bitstring-copy)72 669.206 Q F4(bitstring)4.583 E F2 268.929(\)p)C -.198(ro)
|
||||
462.244 669.206 S(cedur).198 E(e)-.198 E F3(This procedure returns a cop)72
|
||||
687.806 Q 2.75(yo)-.11 G 2.75(ft)211.491 687.806 S(he speci\214ed bit string.)
|
||||
220.962 687.806 Q EP
|
||||
%%Page: 2 2
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
%%EndPageSetup
|
||||
/F0 11/Times-Roman@0 SF 2.75(-2-)278.837 51 S .44 LW 77.5 57 72 57 DL 80.5 57
|
||||
75 57 DL 86 57 80.5 57 DL 91.5 57 86 57 DL 97 57 91.5 57 DL 102.5 57 97 57 DL
|
||||
108 57 102.5 57 DL 113.5 57 108 57 DL 119 57 113.5 57 DL 124.5 57 119 57 DL 130
|
||||
57 124.5 57 DL 135.5 57 130 57 DL 141 57 135.5 57 DL 146.5 57 141 57 DL 152 57
|
||||
146.5 57 DL 157.5 57 152 57 DL 163 57 157.5 57 DL 168.5 57 163 57 DL 174 57
|
||||
168.5 57 DL 179.5 57 174 57 DL 185 57 179.5 57 DL 190.5 57 185 57 DL 196 57
|
||||
190.5 57 DL 201.5 57 196 57 DL 207 57 201.5 57 DL 212.5 57 207 57 DL 218 57
|
||||
212.5 57 DL 223.5 57 218 57 DL 229 57 223.5 57 DL 234.5 57 229 57 DL 240 57
|
||||
234.5 57 DL 245.5 57 240 57 DL 251 57 245.5 57 DL 256.5 57 251 57 DL 262 57
|
||||
256.5 57 DL 267.5 57 262 57 DL 273 57 267.5 57 DL 278.5 57 273 57 DL 284 57
|
||||
278.5 57 DL 289.5 57 284 57 DL 295 57 289.5 57 DL 300.5 57 295 57 DL 306 57
|
||||
300.5 57 DL 311.5 57 306 57 DL 317 57 311.5 57 DL 322.5 57 317 57 DL 328 57
|
||||
322.5 57 DL 333.5 57 328 57 DL 339 57 333.5 57 DL 344.5 57 339 57 DL 350 57
|
||||
344.5 57 DL 355.5 57 350 57 DL 361 57 355.5 57 DL 366.5 57 361 57 DL 372 57
|
||||
366.5 57 DL 377.5 57 372 57 DL 383 57 377.5 57 DL 388.5 57 383 57 DL 394 57
|
||||
388.5 57 DL 399.5 57 394 57 DL 405 57 399.5 57 DL 410.5 57 405 57 DL 416 57
|
||||
410.5 57 DL 421.5 57 416 57 DL 427 57 421.5 57 DL 432.5 57 427 57 DL 438 57
|
||||
432.5 57 DL 443.5 57 438 57 DL 449 57 443.5 57 DL 454.5 57 449 57 DL 460 57
|
||||
454.5 57 DL 465.5 57 460 57 DL 471 57 465.5 57 DL 476.5 57 471 57 DL 482 57
|
||||
476.5 57 DL 487.5 57 482 57 DL 493 57 487.5 57 DL 498.5 57 493 57 DL 504 57
|
||||
498.5 57 DL/F1 11/Times-Bold@0 SF(\(bitstring-append)72 87 Q/F2 11
|
||||
/Times-Italic@0 SF(bitstring)4.583 E/F3 10/Times-Italic@0 SF(1)3.3 I F2
|
||||
(bitstring)2.75 -3.3 M F3(2)3.3 I F1 206.041(\)p)-3.3 K -.198(ro)462.244 87 S
|
||||
(cedur).198 E(e)-.198 E F2(bitstring-append)72 105.6 Q F0 .032(returns a ne)
|
||||
2.782 F 2.783(wb)-.275 G .033
|
||||
(it string holding the concatenation of the speci\214ed bit string ar)215.448
|
||||
105.6 R(gu-)-.198 E(ments.)72 120.6 Q F1 2.75(4. Bit)72 150.6 R(String Pr)2.75
|
||||
E(edicates)-.198 E(\(bitstring?)72 180.6 Q F2(obj)4.583 E F1 312.324(\)p)C
|
||||
-.198(ro)462.244 180.6 S(cedur).198 E(e)-.198 E F0
|
||||
(This type predicate returns #t if)72 199.2 Q F2(obj)2.75 E F0
|
||||
(is a bit string, #f otherwise.)2.75 E F1(\(bitstring=?)72 229.2 Q F2
|
||||
(bitstring)4.583 E F3(1)3.3 I F2(bitstring)2.75 -3.3 M F3(2)3.3 I F1 232.782
|
||||
(\)p)-3.3 K -.198(ro)462.244 229.2 S(cedur).198 E(e)-.198 E F0 .57
|
||||
(This procedure returns #t if the bit string ar)72 247.8 R .57
|
||||
(guments are of the same length and contain the same)-.198 F
|
||||
(bits, #f otherwise.)72 262.8 Q F1(\(bitstring-zer)72 292.8 Q(o?)-.198 E F2
|
||||
(bitstring)4.583 E F1 265.475(\)p)C -.198(ro)462.244 292.8 S(cedur).198 E(e)
|
||||
-.198 E F2(bitstring-zer)72 311.4 Q(o?)-.495 E F0
|
||||
(returns #t if the speci\214ed bit string contains only 0 bits, #f otherwise.)
|
||||
2.75 E F1 2.75(5. Integer)72 341.4 R(Con)2.75 E -.11(ve)-.44 G(rsions).11 E
|
||||
(\(unsigned-integer)72 371.4 Q/F4 11/Symbol SF(-)A F1(>bitstring)A F2(length i)
|
||||
4.583 E F1 207.428(\)p)C -.198(ro)462.244 371.4 S(cedur).198 E(e)-.198 E
|
||||
(\(signed-integer)72 386.4 Q F4(-)A F1(>bitstring)A F2(length i)4.583 E F1
|
||||
219.66(\)p)C -.198(ro)462.244 386.4 S(cedur).198 E(e)-.198 E F0 .3
|
||||
(Both procedures con)72 405 R -.165(ve)-.44 G .3(rt the e).165 F .3(xact inte)
|
||||
-.165 F .301(ger ar)-.165 F(gument)-.198 E F2(i)3.051 E F0 .301
|
||||
(into a bit string of)3.051 F F2(length)3.051 E F0 .301(bits and return the)
|
||||
3.051 F .051(bit string.)72 420 R F2(length)5.551 E F0 .051(must be lar)2.801 F
|
||||
.05(ge enough to hold the bit string representation of)-.198 F F2(i)2.8 E F0
|
||||
5.55(.T)C .05(he inte)434.622 420 R .05(ger ar)-.165 F(gu-)-.198 E 1.176
|
||||
(ment to)72 435 R F2(unsigned-inte)3.926 E -.11(ge)-.44 G -.22(r-).11 G
|
||||
(>bitstring).22 E F0 1.177(must be non-ne)3.926 F -.055(ga)-.165 G(ti).055 E
|
||||
-.165(ve)-.275 G(.).165 E F2(signed-inte)6.677 E -.11(ge)-.44 G -.22(r-).11 G
|
||||
(>bitstring).22 E F0 1.177(uses tw)3.927 F(o')-.11 E(s)-.605 E
|
||||
(complement representation for ne)72 450 Q -.055(ga)-.165 G(ti).055 E .33 -.165
|
||||
(ve i)-.275 H(nte).165 E(gers.)-.165 E F1(\(bitstring)72 480 Q F4(-)A F1
|
||||
(>unsigned-integer)A F2(bitstring)4.583 E F1 203.446(\)p)C -.198(ro)462.244 480
|
||||
S(cedur).198 E(e)-.198 E(\(bitstring)72 495 Q F4(-)A F1(>signed-integer)A F2
|
||||
(bitstring)4.583 E F1 215.678(\)p)C -.198(ro)462.244 495 S(cedur).198 E(e)-.198
|
||||
E F0 .9(Both procedures con)72 513.6 R -.165(ve)-.44 G .9(rt the gi).165 F
|
||||
-.165(ve)-.275 G 3.65(nb).165 G .9(it string into an inte)235.23 513.6 R(ger)
|
||||
-.165 E(.)-.605 E F2(bitstring->signed-inte)6.399 E -.11(ge)-.44 G(r).11 E F0
|
||||
(interprets)3.649 E(the bit string as the tw)72 528.6 Q(o')-.11 E 2.75(sc)-.605
|
||||
G(omplement representation of a signed inte)189.832 528.6 Q(ger)-.165 E(.)-.605
|
||||
E F1 2.75(6. Selecting)72 558.6 R(Components of Bit Strings)2.75 E
|
||||
(\(bitstring-length)72 588.6 Q F2(bitstring)4.583 E F1 261.592(\)p)C -.198(ro)
|
||||
462.244 588.6 S(cedur).198 E(e)-.198 E F0
|
||||
(This procedure returns the number of bits in the speci\214ed bit string.)72
|
||||
607.2 Q F1(\(bitstring-r)72 637.2 Q(ef)-.198 E F2(bitstring inde)4.583 E(x)-.22
|
||||
E F1 251.34(\)p)C -.198(ro)462.244 637.2 S(cedur).198 E(e)-.198 E F2
|
||||
(bitstring-r)72 655.8 Q(ef)-.407 E F0(returns #t if the)2.75 E F2(inde)2.75 E
|
||||
(x)-.22 E F0(-th bit in the gi)A -.165(ve)-.275 G 2.75(nb).165 G
|
||||
(it string is 1, #f otherwise.)310.48 655.8 Q F1(\(bitstring-substring)72 685.8
|
||||
Q F2(bitstring fr)4.583 E(om to)-.495 E F1 212.576(\)p)C -.198(ro)462.244 685.8
|
||||
S(cedur).198 E(e)-.198 E F0 1.018(This procedure returns a ne)72 704.4 R 3.768
|
||||
(wb)-.275 G 1.019(it string initialized with the bits of)213.358 704.4 R F2
|
||||
(bitstring)3.769 E F0 1.019(starting at the inde)3.769 F(x)-.165 E F2(fr)72
|
||||
719.4 Q(om)-.495 E F0(\(inclusi)2.75 E -.165(ve)-.275 G 2.75(\)a).165 G
|
||||
(nd ending at the inde)149.275 719.4 Q(x)-.165 E F2(to)2.75 E F0(\(e)2.75 E
|
||||
(xclusi)-.165 E -.165(ve)-.275 G(\).).165 E EP
|
||||
%%Page: 3 3
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
%%EndPageSetup
|
||||
/F0 11/Times-Roman@0 SF 2.75(-3-)278.837 51 S .44 LW 77.5 57 72 57 DL 80.5 57
|
||||
75 57 DL 86 57 80.5 57 DL 91.5 57 86 57 DL 97 57 91.5 57 DL 102.5 57 97 57 DL
|
||||
108 57 102.5 57 DL 113.5 57 108 57 DL 119 57 113.5 57 DL 124.5 57 119 57 DL 130
|
||||
57 124.5 57 DL 135.5 57 130 57 DL 141 57 135.5 57 DL 146.5 57 141 57 DL 152 57
|
||||
146.5 57 DL 157.5 57 152 57 DL 163 57 157.5 57 DL 168.5 57 163 57 DL 174 57
|
||||
168.5 57 DL 179.5 57 174 57 DL 185 57 179.5 57 DL 190.5 57 185 57 DL 196 57
|
||||
190.5 57 DL 201.5 57 196 57 DL 207 57 201.5 57 DL 212.5 57 207 57 DL 218 57
|
||||
212.5 57 DL 223.5 57 218 57 DL 229 57 223.5 57 DL 234.5 57 229 57 DL 240 57
|
||||
234.5 57 DL 245.5 57 240 57 DL 251 57 245.5 57 DL 256.5 57 251 57 DL 262 57
|
||||
256.5 57 DL 267.5 57 262 57 DL 273 57 267.5 57 DL 278.5 57 273 57 DL 284 57
|
||||
278.5 57 DL 289.5 57 284 57 DL 295 57 289.5 57 DL 300.5 57 295 57 DL 306 57
|
||||
300.5 57 DL 311.5 57 306 57 DL 317 57 311.5 57 DL 322.5 57 317 57 DL 328 57
|
||||
322.5 57 DL 333.5 57 328 57 DL 339 57 333.5 57 DL 344.5 57 339 57 DL 350 57
|
||||
344.5 57 DL 355.5 57 350 57 DL 361 57 355.5 57 DL 366.5 57 361 57 DL 372 57
|
||||
366.5 57 DL 377.5 57 372 57 DL 383 57 377.5 57 DL 388.5 57 383 57 DL 394 57
|
||||
388.5 57 DL 399.5 57 394 57 DL 405 57 399.5 57 DL 410.5 57 405 57 DL 416 57
|
||||
410.5 57 DL 421.5 57 416 57 DL 427 57 421.5 57 DL 432.5 57 427 57 DL 438 57
|
||||
432.5 57 DL 443.5 57 438 57 DL 449 57 443.5 57 DL 454.5 57 449 57 DL 460 57
|
||||
454.5 57 DL 465.5 57 460 57 DL 471 57 465.5 57 DL 476.5 57 471 57 DL 482 57
|
||||
476.5 57 DL 487.5 57 482 57 DL 493 57 487.5 57 DL 498.5 57 493 57 DL 504 57
|
||||
498.5 57 DL/F1 11/Times-Bold@0 SF 2.75(7. Modifying)72 87 R(Bit Strings)2.75 E
|
||||
(\(bitstring-\214ll!)72 117 Q/F2 11/Times-Italic@0 SF(bitstring init)4.583 E F1
|
||||
257.61(\)p)C -.198(ro)462.244 117 S(cedur).198 E(e)-.198 E F0 .138
|
||||
(This procedure sets all bits in the speci\214ed bit string to 1 if)72 135.6 R
|
||||
F2(init)2.888 E F0 .138(is #t, or to 0 if)2.888 F F2(init)2.888 E F0 .137
|
||||
(is #f.)2.887 F .137(It returns)5.637 F(the non-printing object.)72 150.6 Q F1
|
||||
(\(bitstring-set!)72 180.6 Q F2(bitstring inde)4.583 E 2.75(xi)-.22 G(nit)
|
||||
210.189 180.6 Q F1 230.66(\)p)C -.198(ro)462.244 180.6 S(cedur).198 E(e)-.198 E
|
||||
F2(bitstring-set!)72 199.2 Q F0 .405(sets the)3.154 F F2(inde)3.155 E(x)-.22 E
|
||||
F0 .405(-th bit in the speci\214ed bit string to 1 if)B F2(init)3.155 E F0 .405
|
||||
(is #t, or to 0 if)3.155 F F2(init)3.155 E F0 .405(is #f.)3.155 F(It)5.905 E
|
||||
(returns the non-printing object.)72 214.2 Q F1(\(bitstring-mo)72 244.2 Q -.11
|
||||
(ve)-.11 G(!).11 E F2(dst-bitstring sr)4.583 E(c-bitstring)-.407 E F1 189.201
|
||||
(\)p)C -.198(ro)462.244 244.2 S(cedur).198 E(e)-.198 E F2(bitstring-mo)72 262.8
|
||||
Q(ve!)-.11 E F0(destructi)3.888 E -.165(ve)-.275 G 1.138
|
||||
(ly copies the contents of the bit string).165 F F2(sr)3.887 E(c-bitstring)
|
||||
-.407 E F0(into)3.887 E F2(dst-bitstring)3.887 E F0(.)A
|
||||
(Both bit strings must ha)72 277.8 Q .33 -.165(ve t)-.22 H(he same length.).165
|
||||
E(It returns the non-printing object.)5.5 E F1(\(bitstring-substring-mo)72
|
||||
307.8 Q -.11(ve)-.11 G(!).11 E F2(sr)4.583 E(c-bitstring fr)-.407 E(om)-.495 E
|
||||
/F3 10/Times-Italic@0 SF(1)3.3 I F2(to)2.75 -3.3 M F3(1)3.3 I F2
|
||||
(dst-bitstring fr)2.75 -3.3 M(om)-.495 E F3(2)3.3 I F1 69.151(\)p)-3.3 K -.198
|
||||
(ro)462.244 307.8 S(cedur).198 E(e)-.198 E F0 .762(This procedure destructi)72
|
||||
326.4 R -.165(ve)-.275 G .763(ly copies the bits from).165 F F2(sr)3.513 E
|
||||
(c-bitstring)-.407 E F0 .763(starting at inde)3.513 F(x)-.165 E F2(fr)3.513 E
|
||||
(om)-.495 E F3(1)3.3 I F0(\(inclusi)3.513 -3.3 M -.165(ve)-.275 G(\)).165 E
|
||||
.303(and ending at inde)72 341.4 R(x)-.165 E F2(to)3.053 E F3(1)3.3 I F0(\(e)
|
||||
3.053 -3.3 M(xclusi)-.165 E -.165(ve)-.275 G 3.053(\)i).165 G(nto)233.247 341.4
|
||||
Q F2(dst-bitstring)3.053 E F0 .302(starting at inde)3.053 F(x)-.165 E F2(fr)
|
||||
3.052 E(om)-.495 E F3(2)3.3 I F0(\(inclusi)3.052 -3.3 M -.165(ve)-.275 G 3.052
|
||||
(\). Ov).165 F(erlap-)-.165 E(ping is handled correctly)72 356.4 Q 5.5(.T)-.715
|
||||
G(he procedure returns the non-printing object.)195.321 356.4 Q F1 2.75
|
||||
(8. Bitwise)72 386.4 R(Logical Operations)2.75 E(\(bitstring-not)72 416.4 Q F2
|
||||
(bitstring)4.583 E F1 275.65(\)p)C -.198(ro)462.244 416.4 S(cedur).198 E(e)
|
||||
-.198 E F0 .668(This procedure returns a ne)72 435 R 3.419(wb)-.275 G .669
|
||||
(it string initialized to the bitwise logical ne)211.609 435 R -.055(ga)-.165 G
|
||||
.669(tion of the gi).055 F -.165(ve)-.275 G 3.419(nb).165 G(it)497.884 435 Q
|
||||
(string.)72 450 Q F1(\(bitstring-not!)72 480 Q F2(dst-bitstring sr)4.583 E
|
||||
(c-bitstring)-.407 E F1 198.749(\)p)C -.198(ro)462.244 480 S(cedur).198 E(e)
|
||||
-.198 E F0 2.541(This procedure destructi)72 498.6 R -.165(ve)-.275 G 2.541
|
||||
(ly o).165 F -.165(ve)-.165 G 2.541(rwrites the contents of).165 F F2
|
||||
(dst-bitstring)5.291 E F0 2.54(with the bitwise logical)5.291 F(ne)72 513.6 Q
|
||||
-.055(ga)-.165 G 1.246(tion of the bits in).055 F F2(sr)3.996 E(c-bitstring)
|
||||
-.407 E F0 6.746(.B)C 1.246(oth bit strings must ha)247.522 513.6 R 1.576 -.165
|
||||
(ve t)-.22 H 1.246(he same length.).165 F F2(bitstring-not!)6.746 E F0
|
||||
(returns the non-printing object.)72 528.6 Q F1(\(bitstring-and)72 558.6 Q F2
|
||||
(bitstring)4.583 E F3(1)3.3 I F2(bitstring)2.75 -3.3 M F3(2)3.3 I F1 223.157
|
||||
(\)p)-3.3 K -.198(ro)462.244 558.6 S(cedur).198 E(e)-.198 E(\(bitstring-andnot)
|
||||
72 573.6 Q F2(bitstring)4.583 E F3(1)3.3 I F2(bitstring)2.75 -3.3 M F3(2)3.3 I
|
||||
F1 207.878(\)p)-3.3 K -.198(ro)462.244 573.6 S(cedur).198 E(e)-.198 E
|
||||
(\(bitstring-or)72 588.6 Q F2(bitstring)4.583 E F3(1)3.3 I F2(bitstring)2.75
|
||||
-3.3 M F3(2)3.3 I F1 230.505(\)p)-3.3 K -.198(ro)462.244 588.6 S(cedur).198 E
|
||||
(e)-.198 E(\(bitstring-xor)72 603.6 Q F2(bitstring)4.583 E F3(1)3.3 I F2
|
||||
(bitstring)2.75 -3.3 M F3(2)3.3 I F1 225.005(\)p)-3.3 K -.198(ro)462.244 603.6
|
||||
S(cedur).198 E(e)-.198 E F0 .017(These procedures return a ne)72 622.2 R 2.767
|
||||
(wb)-.275 G .017(it string initialized to the bitwise logical)215.063 622.2 R
|
||||
F2(and)2.767 E F0(\(logical)2.767 E F2(and)2.767 E F0 .017(with the)2.767 F(ne)
|
||||
72 637.2 Q -.055(ga)-.165 G .752(tion, logical).055 F F2(or)3.502 E F0 3.502
|
||||
(,l)C .752(ogical e)168.449 637.2 R(xclusi)-.165 E -.165(ve)-.275 G F2(or)3.667
|
||||
E F0 3.502(,r)C(especti)262.973 637.2 Q -.165(ve)-.275 G .753(ly\) of the tw)
|
||||
.165 F 3.503(ob)-.11 G .753(it string ar)374.191 637.2 R 3.503(guments. The)
|
||||
-.198 F(tw)3.503 E(o)-.11 E(bit strings must ha)72 652.2 Q .33 -.165(ve t)-.22
|
||||
H(he same length.).165 E F1(\(bitstring-and!)72 682.2 Q F2(dst-bitstring sr)
|
||||
4.583 E(c-bitstring)-.407 E F1 196.296(\)p)C -.198(ro)462.244 682.2 S(cedur)
|
||||
.198 E(e)-.198 E(\(bitstring-or!)72 697.2 Q F2(dst-bitstring sr)4.583 E
|
||||
(c-bitstring)-.407 E F1 203.644(\)p)C -.198(ro)462.244 697.2 S(cedur).198 E(e)
|
||||
-.198 E(\(bitstring-andnot!)72 712.2 Q F2(dst-bitstring sr)4.583 E(c-bitstring)
|
||||
-.407 E F1 181.017(\)p)C -.198(ro)462.244 712.2 S(cedur).198 E(e)-.198 E
|
||||
(\(bitstring-xor!)72 727.2 Q F2(dst-bitstring sr)4.583 E(c-bitstring)-.407 E F1
|
||||
198.144(\)p)C -.198(ro)462.244 727.2 S(cedur).198 E(e)-.198 E EP
|
||||
%%Page: 4 4
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
%%EndPageSetup
|
||||
/F0 11/Times-Roman@0 SF 2.75(-4-)278.837 51 S .44 LW 77.5 57 72 57 DL 80.5 57
|
||||
75 57 DL 86 57 80.5 57 DL 91.5 57 86 57 DL 97 57 91.5 57 DL 102.5 57 97 57 DL
|
||||
108 57 102.5 57 DL 113.5 57 108 57 DL 119 57 113.5 57 DL 124.5 57 119 57 DL 130
|
||||
57 124.5 57 DL 135.5 57 130 57 DL 141 57 135.5 57 DL 146.5 57 141 57 DL 152 57
|
||||
146.5 57 DL 157.5 57 152 57 DL 163 57 157.5 57 DL 168.5 57 163 57 DL 174 57
|
||||
168.5 57 DL 179.5 57 174 57 DL 185 57 179.5 57 DL 190.5 57 185 57 DL 196 57
|
||||
190.5 57 DL 201.5 57 196 57 DL 207 57 201.5 57 DL 212.5 57 207 57 DL 218 57
|
||||
212.5 57 DL 223.5 57 218 57 DL 229 57 223.5 57 DL 234.5 57 229 57 DL 240 57
|
||||
234.5 57 DL 245.5 57 240 57 DL 251 57 245.5 57 DL 256.5 57 251 57 DL 262 57
|
||||
256.5 57 DL 267.5 57 262 57 DL 273 57 267.5 57 DL 278.5 57 273 57 DL 284 57
|
||||
278.5 57 DL 289.5 57 284 57 DL 295 57 289.5 57 DL 300.5 57 295 57 DL 306 57
|
||||
300.5 57 DL 311.5 57 306 57 DL 317 57 311.5 57 DL 322.5 57 317 57 DL 328 57
|
||||
322.5 57 DL 333.5 57 328 57 DL 339 57 333.5 57 DL 344.5 57 339 57 DL 350 57
|
||||
344.5 57 DL 355.5 57 350 57 DL 361 57 355.5 57 DL 366.5 57 361 57 DL 372 57
|
||||
366.5 57 DL 377.5 57 372 57 DL 383 57 377.5 57 DL 388.5 57 383 57 DL 394 57
|
||||
388.5 57 DL 399.5 57 394 57 DL 405 57 399.5 57 DL 410.5 57 405 57 DL 416 57
|
||||
410.5 57 DL 421.5 57 416 57 DL 427 57 421.5 57 DL 432.5 57 427 57 DL 438 57
|
||||
432.5 57 DL 443.5 57 438 57 DL 449 57 443.5 57 DL 454.5 57 449 57 DL 460 57
|
||||
454.5 57 DL 465.5 57 460 57 DL 471 57 465.5 57 DL 476.5 57 471 57 DL 482 57
|
||||
476.5 57 DL 487.5 57 482 57 DL 493 57 487.5 57 DL 498.5 57 493 57 DL 504 57
|
||||
498.5 57 DL 1.685(These procedures are the destructi)72 87 R 2.015 -.165(ve ve)
|
||||
-.275 H 1.684(rsions of the four bitwise logical procedures described).165 F
|
||||
(abo)72 102 Q -.165(ve)-.165 G 7.043(.T).165 G(he)114.452 102 Q 4.293(yp)-.165
|
||||
G 1.543(erform the corresponding logical operation on the tw)139.964 102 R
|
||||
4.293(ob)-.11 G 1.543(it string ar)398.433 102 R 1.544(guments and)-.198 F
|
||||
-.165(ove)72 117 S .167(rwrite the contents of).165 F/F1 11/Times-Italic@0 SF
|
||||
(dst-bitstring)2.917 E F0 .167(with the result.)2.917 F .167
|
||||
(Both bit strings must ha)5.667 F .497 -.165(ve t)-.22 H .167(he same length.)
|
||||
.165 F(These procedures return the non-printing object.)72 132 Q EP
|
||||
%%Page: 5 5
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
%%EndPageSetup
|
||||
/F0 11/Times-Roman@0 SF 2.75(-5-)278.837 51 S .44 LW 77.5 57 72 57 DL 80.5 57
|
||||
75 57 DL 86 57 80.5 57 DL 91.5 57 86 57 DL 97 57 91.5 57 DL 102.5 57 97 57 DL
|
||||
108 57 102.5 57 DL 113.5 57 108 57 DL 119 57 113.5 57 DL 124.5 57 119 57 DL 130
|
||||
57 124.5 57 DL 135.5 57 130 57 DL 141 57 135.5 57 DL 146.5 57 141 57 DL 152 57
|
||||
146.5 57 DL 157.5 57 152 57 DL 163 57 157.5 57 DL 168.5 57 163 57 DL 174 57
|
||||
168.5 57 DL 179.5 57 174 57 DL 185 57 179.5 57 DL 190.5 57 185 57 DL 196 57
|
||||
190.5 57 DL 201.5 57 196 57 DL 207 57 201.5 57 DL 212.5 57 207 57 DL 218 57
|
||||
212.5 57 DL 223.5 57 218 57 DL 229 57 223.5 57 DL 234.5 57 229 57 DL 240 57
|
||||
234.5 57 DL 245.5 57 240 57 DL 251 57 245.5 57 DL 256.5 57 251 57 DL 262 57
|
||||
256.5 57 DL 267.5 57 262 57 DL 273 57 267.5 57 DL 278.5 57 273 57 DL 284 57
|
||||
278.5 57 DL 289.5 57 284 57 DL 295 57 289.5 57 DL 300.5 57 295 57 DL 306 57
|
||||
300.5 57 DL 311.5 57 306 57 DL 317 57 311.5 57 DL 322.5 57 317 57 DL 328 57
|
||||
322.5 57 DL 333.5 57 328 57 DL 339 57 333.5 57 DL 344.5 57 339 57 DL 350 57
|
||||
344.5 57 DL 355.5 57 350 57 DL 361 57 355.5 57 DL 366.5 57 361 57 DL 372 57
|
||||
366.5 57 DL 377.5 57 372 57 DL 383 57 377.5 57 DL 388.5 57 383 57 DL 394 57
|
||||
388.5 57 DL 399.5 57 394 57 DL 405 57 399.5 57 DL 410.5 57 405 57 DL 416 57
|
||||
410.5 57 DL 421.5 57 416 57 DL 427 57 421.5 57 DL 432.5 57 427 57 DL 438 57
|
||||
432.5 57 DL 443.5 57 438 57 DL 449 57 443.5 57 DL 454.5 57 449 57 DL 460 57
|
||||
454.5 57 DL 465.5 57 460 57 DL 471 57 465.5 57 DL 476.5 57 471 57 DL 482 57
|
||||
476.5 57 DL 487.5 57 482 57 DL 493 57 487.5 57 DL 498.5 57 493 57 DL 504 57
|
||||
498.5 57 DL/F1 13/Times-Bold@0 SF(Index)272.108 123 Q(B)72 174 Q F0
|
||||
(bitstring-and!,)72 204 Q/F2 12/Times-Bold@0 SF(3)2.75 E F0(bitstring-and,)72
|
||||
219 Q F2(3)2.75 E F0(bitstring-andnot!,)72 234 Q F2(3)2.75 E F0
|
||||
(bitstring-andnot,)72 249 Q F2(3)2.75 E F0(bitstring-append,)72 264 Q F2(2)2.75
|
||||
E F0(bitstring-cop)72 279 Q -.715(y,)-.11 G F2(1)3.465 E F0(bitstring-\214ll!,)
|
||||
72 294 Q F2(3)2.75 E F0(bitstring-length,)72 309 Q F2(2)2.75 E F0(bitstring-mo)
|
||||
72 324 Q -.165(ve)-.165 G(!,).165 E F2(3)2.75 E F0(bitstring-not!,)72 339 Q F2
|
||||
(3)2.75 E F0(bitstring-not,)72 354 Q F2(3)2.75 E F0(bitstring-or!,)72 369 Q F2
|
||||
(3)2.75 E F0(bitstring-or)72 384 Q(,)-.44 E F2(3)2.75 E F0(bitstring-ref,)72
|
||||
399 Q F2(2)2.75 E F0(bitstring-set!,)72 414 Q F2(3)2.75 E F0
|
||||
(bitstring-substring,)72 429 Q F2(2)2.75 E F0(bitstring-substring-mo)72 444 Q
|
||||
-.165(ve)-.165 G(!,).165 E F2(3)2.75 E F0(bitstring-xor!,)72 459 Q F2(4)2.75 E
|
||||
F0(bitstring-xor)72 474 Q(,)-.44 E F2(3)2.75 E F0(bitstring-zero?,)72 489 Q F2
|
||||
(2)2.75 E F0(bitstring.o, 1)72 504 Q(bitstring.scm, 1)72 519 Q(bitstring=?,)72
|
||||
534 Q F2(2)2.75 E F0(bitstring?,)72 549 Q F2(2)2.75 E F0(bitstring)72 564 Q/F3
|
||||
11/Symbol SF(-)A F0(>signed-inte)A(ger)-.165 E(,)-.44 E F2(2)2.75 E F0
|
||||
(bitstring)72 579 Q F3(-)A F0(>unsigned-inte)A(ger)-.165 E(,)-.44 E F2(2)2.75 E
|
||||
F1(C)72 609 Q F0(concatenation, 2)72 639 Q F1(F)72 669 Q F0(feature, 1)302.4
|
||||
174 Q F1(L)302.4 204 Q F0(least signi\214cant bit, 1)302.4 234 Q(LSB, 1)302.4
|
||||
249 Q F1(M)302.4 279 Q F0(mak)302.4 309 Q(e-bitstring,)-.11 E F2(1)2.75 E F0
|
||||
(most signi\214cant bit, 1)302.4 324 Q(MSB, 1)302.4 339 Q F1(O)302.4 369 Q F0
|
||||
-.165(ove)302.4 399 S(rlapping, 3).165 E F1(P)302.4 429 Q F0
|
||||
(print representation, 1)302.4 459 Q F1(S)302.4 489 Q F0(signed-inte)302.4 519
|
||||
Q(ger)-.165 E F3(-)A F0(>bitstring,)A F2(2)2.75 E F1(T)302.4 549 Q F0(tw)302.4
|
||||
579 Q(o')-.11 E 2.75(sc)-.605 G(omplement, 2)333.761 579 Q(type predicate, 2)
|
||||
302.4 594 Q F1(U)302.4 624 Q F0(unsigned-inte)302.4 654 Q(ger)-.165 E F3(-)A F0
|
||||
(>bitstring,)A F2(2)2.75 E EP
|
||||
%%Page: 6 6
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
%%EndPageSetup
|
||||
/F0 13/Times-Bold@0 SF -1.196(Ta)239.127 123 S(ble of Contents)1.196 E/F1 11
|
||||
/Times-Roman@0 SF .866(Introduction ..........................................\
|
||||
..............................................................................\
|
||||
......)72 177.6 R(1)498.5 177.6 Q(Using the Bit String Extension)72 196.2 Q
|
||||
19.25(........................................................................\
|
||||
........................ 1)5.431 F(Creating Bit Strings)72 214.8 Q 19.25(.....\
|
||||
..............................................................................\
|
||||
............................... 1)2.989 F(Bit String Predicates)72 233.4 Q
|
||||
19.25(........................................................................\
|
||||
........................................ 2)5.442 F(Inte)72 252 Q(ger Con)-.165
|
||||
E -.165(ve)-.44 G .118(rsions ................................................\
|
||||
..................................................................).165 F(2)
|
||||
498.5 252 Q(Selecting Components of Bit Strings)72 270.6 Q 19.25(.............\
|
||||
.......................................................................... 2)
|
||||
3.902 F(Modifying Bit Strings)72 289.2 Q 19.25(...............................\
|
||||
..............................................................................\
|
||||
. 3)4.815 F(Bitwise Logical Operations)72 307.8 Q 19.25(......................\
|
||||
..............................................................................\
|
||||
.. 3)3.011 F(Inde)72 326.4 Q 2.868(x.)-.165 G 19.25(..........................\
|
||||
..............................................................................\
|
||||
................................ 5)102.5 326.4 R EP
|
||||
%%Trailer
|
||||
end
|
||||
%%EOF
|
|
@ -1 +1,36 @@
|
|||
EXTRA_DIST = cprog.ms cprog.ps
|
||||
EXTRA_DIST = cprog.ms
|
||||
|
||||
if HAVE_GROFF
|
||||
doc_DATA = cprog.ps
|
||||
docdir = $(datadir)/doc/@PACKAGE@
|
||||
endif
|
||||
|
||||
TROFF= groff -ms -t
|
||||
UNROFF= unroff -ms
|
||||
MKINDEX= awk -f ../util/mkindex.awk
|
||||
|
||||
clean: local-clean
|
||||
local-clean:
|
||||
rm -f side side.ref side.inx cprog.ps cprog.html
|
||||
|
||||
cprog.ps: cprog.ms side.ref side.inx
|
||||
$(MKINDEX) cprog.ms | sed -f side.ref | $(TROFF) 2> /dev/null > $@
|
||||
|
||||
side.ref: side
|
||||
sed -ne '/^[sS]/{s/\.\//\//;p}' < side > side.ref
|
||||
|
||||
side.inx: side
|
||||
egrep -v '^s' side | sort -f -t'#' +1 -3 +0n | \
|
||||
awk -f ../util/fixindex.awk | awk -f ../util/block.awk \
|
||||
> side.inx
|
||||
|
||||
side: cprog.ms
|
||||
rm -f side side.inx && printf "" > side.inx
|
||||
$(MKINDEX) $? | $(TROFF) 2>side >/dev/null
|
||||
|
||||
cprog.html: cprog.ms side.ref
|
||||
$(MKINDEX) cprog.ms | sed -f side.ref | $(UNROFF) document=cprog
|
||||
|
||||
check:
|
||||
cknr -c.Tc -a.Es.Ee.Cs.Ce cprog.ms
|
||||
|
||||
|
|
4541
doc/cprog/cprog.ps
4541
doc/cprog/cprog.ps
File diff suppressed because it is too large
Load Diff
|
@ -1 +1,32 @@
|
|||
EXTRA_DIST = kernel.ms kernel.ps
|
||||
EXTRA_DIST = kernel.ms
|
||||
|
||||
if HAVE_GROFF
|
||||
doc_DATA = kernel.ps
|
||||
docdir = $(datadir)/doc/@PACKAGE@
|
||||
endif
|
||||
|
||||
MANUAL= kernel
|
||||
TROFF= groff -ms -t
|
||||
UNROFF= unroff -ms
|
||||
|
||||
kernel.ps: kernel.ms index.ms
|
||||
(cat kernel.ms ../util/tmac.index index.ms; echo ".Tc")\
|
||||
| $(TROFF) 2> /dev/null > kernel.ps
|
||||
|
||||
kernel.html: kernel.ms
|
||||
(cat $?; echo ".Tc") | $(UNROFF) document=kernel
|
||||
|
||||
index.ms: kernel.ms index.raw
|
||||
sort -f -t'#' +1 -3 +0n index.raw | awk -f ../util/fixindex.awk\
|
||||
| awk -f ../util/block.awk >index.ms
|
||||
|
||||
index.raw: kernel.ms
|
||||
$(TROFF) kernel.ms 2> index.raw >/dev/null
|
||||
|
||||
check:
|
||||
checknr -c.Ul.Pr.Sy.Va.Sh.Ix.Id.Ch -a.Ss.Se.[[.]] kernel.ms |\
|
||||
grep -v "Empty command"
|
||||
|
||||
clean:
|
||||
rm -f index.raw index.ms kernel.ps kernel.html
|
||||
|
||||
|
|
2720
doc/kernel/kernel.ps
2720
doc/kernel/kernel.ps
File diff suppressed because it is too large
Load Diff
|
@ -1,2 +1,21 @@
|
|||
EXTRA_DIST = $(man_MANS) elk.ps
|
||||
EXTRA_DIST = $(man_MANS)
|
||||
|
||||
man_MANS = elk.1
|
||||
|
||||
if HAVE_GROFF
|
||||
doc_DATA = elk.ps
|
||||
docdir = $(datadir)/doc/@PACKAGE@
|
||||
endif
|
||||
|
||||
TROFF= groff -man -t
|
||||
UNROFF= unroff -man
|
||||
|
||||
elk.ps: elk.1
|
||||
$(TROFF) $? > $@
|
||||
|
||||
elk.1.html: elk.1
|
||||
$(UNROFF) $?
|
||||
|
||||
clean:
|
||||
rm -f elk.ps elk.1.html
|
||||
|
||||
|
|
277
doc/man/elk.ps
277
doc/man/elk.ps
|
@ -1,277 +0,0 @@
|
|||
%!PS-Adobe-3.0
|
||||
%%Creator: groff version 1.08
|
||||
%%DocumentNeededResources: font Times-Roman
|
||||
%%+ font Times-Bold
|
||||
%%+ font Times-Italic
|
||||
%%DocumentSuppliedResources: procset grops 1.08 0
|
||||
%%Pages: 1
|
||||
%%PageOrder: Ascend
|
||||
%%Orientation: Portrait
|
||||
%%EndComments
|
||||
%%BeginProlog
|
||||
%%BeginResource: procset grops 1.08 0
|
||||
/setpacking where{
|
||||
pop
|
||||
currentpacking
|
||||
true setpacking
|
||||
}if
|
||||
/grops 120 dict dup begin
|
||||
/SC 32 def
|
||||
/A/show load def
|
||||
/B{0 SC 3 -1 roll widthshow}bind def
|
||||
/C{0 exch ashow}bind def
|
||||
/D{0 exch 0 SC 5 2 roll awidthshow}bind def
|
||||
/E{0 rmoveto show}bind def
|
||||
/F{0 rmoveto 0 SC 3 -1 roll widthshow}bind def
|
||||
/G{0 rmoveto 0 exch ashow}bind def
|
||||
/H{0 rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
|
||||
/I{0 exch rmoveto show}bind def
|
||||
/J{0 exch rmoveto 0 SC 3 -1 roll widthshow}bind def
|
||||
/K{0 exch rmoveto 0 exch ashow}bind def
|
||||
/L{0 exch rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
|
||||
/M{rmoveto show}bind def
|
||||
/N{rmoveto 0 SC 3 -1 roll widthshow}bind def
|
||||
/O{rmoveto 0 exch ashow}bind def
|
||||
/P{rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
|
||||
/Q{moveto show}bind def
|
||||
/R{moveto 0 SC 3 -1 roll widthshow}bind def
|
||||
/S{moveto 0 exch ashow}bind def
|
||||
/T{moveto 0 exch 0 SC 5 2 roll awidthshow}bind def
|
||||
/SF{
|
||||
findfont exch
|
||||
[exch dup 0 exch 0 exch neg 0 0]makefont
|
||||
dup setfont
|
||||
[exch/setfont cvx]cvx bind def
|
||||
}bind def
|
||||
/MF{
|
||||
findfont
|
||||
[5 2 roll
|
||||
0 3 1 roll
|
||||
neg 0 0]makefont
|
||||
dup setfont
|
||||
[exch/setfont cvx]cvx bind def
|
||||
}bind def
|
||||
/level0 0 def
|
||||
/RES 0 def
|
||||
/PL 0 def
|
||||
/LS 0 def
|
||||
/PLG{
|
||||
gsave newpath clippath pathbbox grestore
|
||||
exch pop add exch pop
|
||||
}bind def
|
||||
/BP{
|
||||
/level0 save def
|
||||
1 setlinecap
|
||||
1 setlinejoin
|
||||
72 RES div dup scale
|
||||
LS{
|
||||
90 rotate
|
||||
}{
|
||||
0 PL translate
|
||||
}ifelse
|
||||
1 -1 scale
|
||||
}bind def
|
||||
/EP{
|
||||
level0 restore
|
||||
showpage
|
||||
}bind def
|
||||
/DA{
|
||||
newpath arcn stroke
|
||||
}bind def
|
||||
/SN{
|
||||
transform
|
||||
.25 sub exch .25 sub exch
|
||||
round .25 add exch round .25 add exch
|
||||
itransform
|
||||
}bind def
|
||||
/DL{
|
||||
SN
|
||||
moveto
|
||||
SN
|
||||
lineto stroke
|
||||
}bind def
|
||||
/DC{
|
||||
newpath 0 360 arc closepath
|
||||
}bind def
|
||||
/TM matrix def
|
||||
/DE{
|
||||
TM currentmatrix pop
|
||||
translate scale newpath 0 0 .5 0 360 arc closepath
|
||||
TM setmatrix
|
||||
}bind def
|
||||
/RC/rcurveto load def
|
||||
/RL/rlineto load def
|
||||
/ST/stroke load def
|
||||
/MT/moveto load def
|
||||
/CL/closepath load def
|
||||
/FL{
|
||||
currentgray exch setgray fill setgray
|
||||
}bind def
|
||||
/BL/fill load def
|
||||
/LW/setlinewidth load def
|
||||
/RE{
|
||||
findfont
|
||||
dup maxlength 1 index/FontName known not{1 add}if dict begin
|
||||
{
|
||||
1 index/FID ne{def}{pop pop}ifelse
|
||||
}forall
|
||||
/Encoding exch def
|
||||
dup/FontName exch def
|
||||
currentdict end definefont pop
|
||||
}bind def
|
||||
/DEFS 0 def
|
||||
/EBEGIN{
|
||||
moveto
|
||||
DEFS begin
|
||||
}bind def
|
||||
/EEND/end load def
|
||||
/CNT 0 def
|
||||
/level1 0 def
|
||||
/PBEGIN{
|
||||
/level1 save def
|
||||
translate
|
||||
div 3 1 roll div exch scale
|
||||
neg exch neg exch translate
|
||||
0 setgray
|
||||
0 setlinecap
|
||||
1 setlinewidth
|
||||
0 setlinejoin
|
||||
10 setmiterlimit
|
||||
[]0 setdash
|
||||
/setstrokeadjust where{
|
||||
pop
|
||||
false setstrokeadjust
|
||||
}if
|
||||
/setoverprint where{
|
||||
pop
|
||||
false setoverprint
|
||||
}if
|
||||
newpath
|
||||
/CNT countdictstack def
|
||||
userdict begin
|
||||
/showpage{}def
|
||||
}bind def
|
||||
/PEND{
|
||||
clear
|
||||
countdictstack CNT sub{end}repeat
|
||||
level1 restore
|
||||
}bind def
|
||||
end def
|
||||
/setpacking where{
|
||||
pop
|
||||
setpacking
|
||||
}if
|
||||
%%EndResource
|
||||
%%IncludeResource: font Times-Roman
|
||||
%%IncludeResource: font Times-Bold
|
||||
%%IncludeResource: font Times-Italic
|
||||
grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72 def/PL
|
||||
841.89 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron/Zcaron/scaron
|
||||
/zcaron/Ydieresis/trademark/quotesingle/.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/quoteright/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/circumflex/underscore/quoteleft/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/tilde/.notdef/quotesinglbase
|
||||
/guillemotleft/guillemotright/bullet/florin/fraction/perthousand/dagger
|
||||
/daggerdbl/endash/emdash/ff/fi/fl/ffi/ffl/dotlessi/dotlessj/grave/hungarumlaut
|
||||
/dotaccent/breve/caron/ring/ogonek/quotedblleft/quotedblright/oe/lslash
|
||||
/quotedblbase/OE/Lslash/.notdef/exclamdown/cent/sterling/currency/yen/brokenbar
|
||||
/section/dieresis/copyright/ordfeminine/guilsinglleft/logicalnot/minus
|
||||
/registered/macron/degree/plusminus/twosuperior/threesuperior/acute/mu
|
||||
/paragraph/periodcentered/cedilla/onesuperior/ordmasculine/guilsinglright
|
||||
/onequarter/onehalf/threequarters/questiondown/Agrave/Aacute/Acircumflex/Atilde
|
||||
/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute
|
||||
/Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis
|
||||
/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls
|
||||
/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla/egrave/eacute
|
||||
/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis/eth/ntilde/ograve
|
||||
/oacute/ocircumflex/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex
|
||||
/udieresis/yacute/thorn/ydieresis]def/Times-Italic@0 ENC0/Times-Italic RE
|
||||
/Times-Bold@0 ENC0/Times-Bold RE/Times-Roman@0 ENC0/Times-Roman RE
|
||||
%%EndProlog
|
||||
%%Page: 1 1
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
%%EndPageSetup
|
||||
/F0 10/Times-Roman@0 SF 403.3(ELK\(1\) ELK\(1\))72 48 R/F1 9/Times-Bold@0 SF
|
||||
-.18(NA)72 84 S(ME).18 E F0(elk, scheme \255 e)108 96 Q
|
||||
(xtensible Scheme interpreter)-.15 E F1(SYNOPSIS)72 112.8 Q/F2 10/Times-Bold@0
|
||||
SF(scheme)108 124.8 Q F0([)2.5 E F2<ad6c>2.5 E/F3 10/Times-Italic@0 SF(\214le)
|
||||
2.5 E F0 2.5(][)2.5 G F2<ad68>A F3(KBytes)2.5 E F0 2.5(][)2.5 G F2<ad70>A F3
|
||||
(load-path)2.5 E F0 2.5(][)2.5 G F2<ad67>A F0 2.5(][)2.5 G F2<ad69>A F0 2.5(][)
|
||||
2.5 G F2<ad76>A F3(type)2.5 E F0 2.5(][)2.5 G([)396.87 124.8 Q F2 .833<adad>2.5
|
||||
G F0(])1.667 E F3(ar)2.5 E(gs)-.37 E F0(])A F2(elk)108 141.6 Q F0 1.666(...)C
|
||||
F1(DESCRIPTION)72 158.4 Q F3(Elk)108 170.4 Q F0 1.111
|
||||
(\(Extension Language Kit\) is a Scheme implementation designed as a general e)
|
||||
3.612 F 1.111(xtension language for)-.15 F .68
|
||||
(applications written in C or C++.)108 182.4 R(Normally)5.68 E(,)-.65 E F3(Elk)
|
||||
3.18 E F0 .681(is link)3.181 F .681(ed with the application it serv)-.1 F .681
|
||||
(es, b)-.15 F .681(ut a stand-alone)-.2 F -.15(ve)108 194.4 S 1.027
|
||||
(rsion of the Scheme interpreter is installed as well \(usually under the name)
|
||||
.15 F F2(scheme)3.527 E F0 3.527(\). This)B(interpreter)3.527 E(,)-.4 E .412
|
||||
(together with the standard Scheme tople)108 206.4 R -.15(ve)-.25 G(l,).15 E F3
|
||||
(Elk)2.912 E F0 .412(can be used as an ordinary)2.912 F 2.912(,s)-.65 G .412
|
||||
(tand-alone implementation of)420.856 206.4 R(the Scheme language.)108 218.4 Q
|
||||
.604(When called without the)108 235.2 R F2<ad6c>3.104 E F0(option,)3.104 E F3
|
||||
(Elk)3.104 E F0 .604(loads the standard \231tople)3.104 F -.15(ve)-.25 G .604
|
||||
(l\232 to start an interacti).15 F .903 -.15(ve s)-.25 H 3.103(ession. When).15
|
||||
F .644(called with)108 247.2 R F2<ad6c>3.144 E F3(\214le)3.144 E F0 3.144(,t)C
|
||||
.644(he contents of the speci\214ed \214le is loaded instead.)188.216 247.2 R
|
||||
.644(If a `\255' is gi)5.644 F -.15(ve)-.25 G 3.145(na).15 G 3.145(sa\214)
|
||||
466.875 247.2 S .645(lename ar)487.055 247.2 R(gu-)-.18 E(ment,)108 259.2 Q F3
|
||||
(Elk)2.5 E F0(loads from standard input.)2.5 E .047(The option)108 276 R F2
|
||||
<ad70>2.547 E F3(load-path)2.547 E F0 .046(can be used to o)2.547 F -.15(ve)
|
||||
-.15 G .046(rride the standard).15 F F3(load-path)2.546 E F0 5.046(.T)C .046
|
||||
(he ar)408.366 276 R .046(gument is a colon-separated)-.18 F .56
|
||||
(list of directories.)108 288 R .561(If this option is not present and the en)
|
||||
5.56 F .561(vironment v)-.4 F .561(ariable ELK_LO)-.25 F(ADP)-.35 E -1.11(AT)
|
||||
-.92 G 3.061(Hi)1.11 G 3.061(sd)501.109 288 S(e\214ned,)513.06 288 Q .583
|
||||
(the v)108 300 R .583(alue of this v)-.25 F .583
|
||||
(ariable is used to initialize the)-.25 F F3(load-path)3.083 E F0 5.583(.T)C
|
||||
.583(he v)360.283 300 R .583(alue of ELK_LO)-.25 F(ADP)-.35 E -1.11(AT)-.92 G
|
||||
3.083(Hh)1.11 G .583(as the same)492.735 300 R(format as the ar)108 312 Q
|
||||
(gument to the)-.18 E F2(-p)2.5 E F0(option.)2.5 E(The)108 328.8 Q F2<ad68>2.5
|
||||
E F3(KBytes)2.5 E F0(option is used to specify a non-standard heap size.)2.5 E
|
||||
(The def)5 E(ault heap size is 512 KBytes.)-.1 E(If the option)108 345.6 Q F2
|
||||
<ad69>2.5 E F0(is speci\214ed, symbols are mapped to lo)2.5 E(wer case.)-.25 E
|
||||
(Normally)5 E(,)-.65 E F3(Elk)2.5 E F0(is case-sensiti)2.5 E -.15(ve)-.25 G(.)
|
||||
.15 E(The)108 362.4 Q F2<ad67>3.875 E F0 1.375
|
||||
(option causes the interpreter to run the g)3.875 F 1.376
|
||||
(arbage collector each time memory is allocated on the)-.05 F 2.637(heap. This)
|
||||
108 374.4 R .136(is useful for writers of e)2.637 F .136(xtensions who w)-.15 F
|
||||
.136(ant to test the g)-.1 F .136(arbage collect beha)-.05 F .136(vior of an e)
|
||||
-.2 F(xtension.)-.15 E(Running)108 386.4 Q F3(Elk)2.806 E F0 .306(with the)
|
||||
2.806 F F2<ad67>2.806 E F0 .306(option is lik)2.806 F .307(ely to re)-.1 F -.15
|
||||
(ve)-.25 G .307(al GC-related b).15 F .307(ugs in e)-.2 F .307
|
||||
(xtensions \(such as not properly pro-)-.15 F .089
|
||||
(tected local objects\), as it triggers a g)108 398.4 R .088
|
||||
(arbage collection each time an object is allocated on the Scheme heap.)-.05 F
|
||||
2.625(Ad)108 410.4 S .125(ot is written to standard output each time a g)
|
||||
122.845 410.4 R .126(arbage collection is performed when)-.05 F F2<ad67>2.626 E
|
||||
F0 .126(has been speci\214ed.)2.626 F .592(When called with one or more)108
|
||||
427.2 R F2<ad76>3.092 E F3(type)3.092 E F0(\(`)3.092 E(`v)-.74 E(erbose')-.15 E
|
||||
.592('\) options, the interpreter prints additional informational)-.74 F .452
|
||||
(messages to standard output, depending on the v)108 439.2 R .453(alue of the)
|
||||
-.25 F F3(type)2.953 E F0(ar)2.953 E 2.953(gument. If)-.18 F F3(type)2.953 E F0
|
||||
(is)2.953 E F3(load)2.953 E F0 2.953(,t)C .453(he link)480.874 439.2 R .453
|
||||
(er com-)-.1 F .013
|
||||
(mand and options are printed each time an object \214le is loaded; if)108
|
||||
451.2 R F3(type)2.512 E F0(is)2.512 E F3(init)2.512 E F0 2.512(,t)C .012
|
||||
(he names of e)421.782 451.2 R .012(xtension initial-)-.15 F
|
||||
(ization and \214nalization functions are printed as the)108 463.2 Q 2.5(ya)
|
||||
-.15 G(re called.)322.26 463.2 Q .521(The remaining)108 480 R F3(ar)3.021 E(gs)
|
||||
-.37 E F0 .522(are put into a list of strings, and the Scheme v)3.021 F
|
||||
(ariable)-.25 E F2(command-line-ar)3.022 E(gs)-.1 E F0 .522(is bound to)3.022 F
|
||||
.666(this list in the global en)108 492 R 3.166(vironment. If)-.4 F(ar)3.166 E
|
||||
.666(guments could be interpreted as options, `\255)-.18 F .666
|
||||
(-\264 can be used to indi-).833 F(cate the end of the options.)108 504 Q F1
|
||||
(FILES)72 520.8 Q F0 25($TMPDIR/ldXXXXXX T)108 532.8 R(emporary \214les)-.7 E
|
||||
F1 -.45(AU)72 549.6 S(THOR).45 E F0(Oli)108 561.6 Q -.15(ve)-.25 G 2.5(rL).15 G
|
||||
(aumann)141.76 561.6 Q(15 January 1991)272.95 768 Q(1)535 768 Q EP
|
||||
%%Trailer
|
||||
end
|
||||
%%EOF
|
|
@ -1 +1,31 @@
|
|||
EXTRA_DIST = oops.ms oops.ps
|
||||
EXTRA_DIST = oops.ms
|
||||
|
||||
if HAVE_GROFF
|
||||
doc_DATA = oops.ps
|
||||
docdir = $(datadir)/doc/@PACKAGE@
|
||||
endif
|
||||
|
||||
MANUAL= oops
|
||||
TROFF= groff -ms -t
|
||||
UNROFF= unroff -ms
|
||||
|
||||
oops.ps: oops.ms index.ms
|
||||
(cat oops.ms ../util/tmac.index index.ms; echo ".Tc")\
|
||||
| $(TROFF) 2> /dev/null > oops.ps
|
||||
|
||||
oops.html: oops.ms
|
||||
(cat $?; echo ".Tc") | $(UNROFF) document=oops
|
||||
|
||||
index.ms: oops.ms index.raw
|
||||
sort -f -t'#' +1 -3 +0n index.raw | awk -f ../util/fixindex.awk\
|
||||
| awk -f ../util/block.awk >index.ms
|
||||
|
||||
index.raw: oops.ms
|
||||
$(TROFF) oops.ms 2> index.raw >/dev/null
|
||||
|
||||
check:
|
||||
checknr -c.Ul.Pr.Sy.Va.Sh.Ix.Id.Ch -a.Ss.Se.[[.]] oops.ms |\
|
||||
grep -v "Empty command"
|
||||
|
||||
clean:
|
||||
rm -f index.raw index.ms oops.ps oops.html
|
||||
|
|
624
doc/oops/oops.ps
624
doc/oops/oops.ps
|
@ -1,624 +0,0 @@
|
|||
%!PS-Adobe-3.0
|
||||
%%Creator: groff version 1.08
|
||||
%%DocumentNeededResources: font Times-Bold
|
||||
%%+ font Times-Italic
|
||||
%%+ font Times-Roman
|
||||
%%+ font Courier
|
||||
%%DocumentSuppliedResources: procset grops 1.08 0
|
||||
%%Pages: 7
|
||||
%%PageOrder: Ascend
|
||||
%%Orientation: Portrait
|
||||
%%EndComments
|
||||
%%BeginProlog
|
||||
%%BeginResource: procset grops 1.08 0
|
||||
/setpacking where{
|
||||
pop
|
||||
currentpacking
|
||||
true setpacking
|
||||
}if
|
||||
/grops 120 dict dup begin
|
||||
/SC 32 def
|
||||
/A/show load def
|
||||
/B{0 SC 3 -1 roll widthshow}bind def
|
||||
/C{0 exch ashow}bind def
|
||||
/D{0 exch 0 SC 5 2 roll awidthshow}bind def
|
||||
/E{0 rmoveto show}bind def
|
||||
/F{0 rmoveto 0 SC 3 -1 roll widthshow}bind def
|
||||
/G{0 rmoveto 0 exch ashow}bind def
|
||||
/H{0 rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
|
||||
/I{0 exch rmoveto show}bind def
|
||||
/J{0 exch rmoveto 0 SC 3 -1 roll widthshow}bind def
|
||||
/K{0 exch rmoveto 0 exch ashow}bind def
|
||||
/L{0 exch rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
|
||||
/M{rmoveto show}bind def
|
||||
/N{rmoveto 0 SC 3 -1 roll widthshow}bind def
|
||||
/O{rmoveto 0 exch ashow}bind def
|
||||
/P{rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
|
||||
/Q{moveto show}bind def
|
||||
/R{moveto 0 SC 3 -1 roll widthshow}bind def
|
||||
/S{moveto 0 exch ashow}bind def
|
||||
/T{moveto 0 exch 0 SC 5 2 roll awidthshow}bind def
|
||||
/SF{
|
||||
findfont exch
|
||||
[exch dup 0 exch 0 exch neg 0 0]makefont
|
||||
dup setfont
|
||||
[exch/setfont cvx]cvx bind def
|
||||
}bind def
|
||||
/MF{
|
||||
findfont
|
||||
[5 2 roll
|
||||
0 3 1 roll
|
||||
neg 0 0]makefont
|
||||
dup setfont
|
||||
[exch/setfont cvx]cvx bind def
|
||||
}bind def
|
||||
/level0 0 def
|
||||
/RES 0 def
|
||||
/PL 0 def
|
||||
/LS 0 def
|
||||
/PLG{
|
||||
gsave newpath clippath pathbbox grestore
|
||||
exch pop add exch pop
|
||||
}bind def
|
||||
/BP{
|
||||
/level0 save def
|
||||
1 setlinecap
|
||||
1 setlinejoin
|
||||
72 RES div dup scale
|
||||
LS{
|
||||
90 rotate
|
||||
}{
|
||||
0 PL translate
|
||||
}ifelse
|
||||
1 -1 scale
|
||||
}bind def
|
||||
/EP{
|
||||
level0 restore
|
||||
showpage
|
||||
}bind def
|
||||
/DA{
|
||||
newpath arcn stroke
|
||||
}bind def
|
||||
/SN{
|
||||
transform
|
||||
.25 sub exch .25 sub exch
|
||||
round .25 add exch round .25 add exch
|
||||
itransform
|
||||
}bind def
|
||||
/DL{
|
||||
SN
|
||||
moveto
|
||||
SN
|
||||
lineto stroke
|
||||
}bind def
|
||||
/DC{
|
||||
newpath 0 360 arc closepath
|
||||
}bind def
|
||||
/TM matrix def
|
||||
/DE{
|
||||
TM currentmatrix pop
|
||||
translate scale newpath 0 0 .5 0 360 arc closepath
|
||||
TM setmatrix
|
||||
}bind def
|
||||
/RC/rcurveto load def
|
||||
/RL/rlineto load def
|
||||
/ST/stroke load def
|
||||
/MT/moveto load def
|
||||
/CL/closepath load def
|
||||
/FL{
|
||||
currentgray exch setgray fill setgray
|
||||
}bind def
|
||||
/BL/fill load def
|
||||
/LW/setlinewidth load def
|
||||
/RE{
|
||||
findfont
|
||||
dup maxlength 1 index/FontName known not{1 add}if dict begin
|
||||
{
|
||||
1 index/FID ne{def}{pop pop}ifelse
|
||||
}forall
|
||||
/Encoding exch def
|
||||
dup/FontName exch def
|
||||
currentdict end definefont pop
|
||||
}bind def
|
||||
/DEFS 0 def
|
||||
/EBEGIN{
|
||||
moveto
|
||||
DEFS begin
|
||||
}bind def
|
||||
/EEND/end load def
|
||||
/CNT 0 def
|
||||
/level1 0 def
|
||||
/PBEGIN{
|
||||
/level1 save def
|
||||
translate
|
||||
div 3 1 roll div exch scale
|
||||
neg exch neg exch translate
|
||||
0 setgray
|
||||
0 setlinecap
|
||||
1 setlinewidth
|
||||
0 setlinejoin
|
||||
10 setmiterlimit
|
||||
[]0 setdash
|
||||
/setstrokeadjust where{
|
||||
pop
|
||||
false setstrokeadjust
|
||||
}if
|
||||
/setoverprint where{
|
||||
pop
|
||||
false setoverprint
|
||||
}if
|
||||
newpath
|
||||
/CNT countdictstack def
|
||||
userdict begin
|
||||
/showpage{}def
|
||||
}bind def
|
||||
/PEND{
|
||||
clear
|
||||
countdictstack CNT sub{end}repeat
|
||||
level1 restore
|
||||
}bind def
|
||||
end def
|
||||
/setpacking where{
|
||||
pop
|
||||
setpacking
|
||||
}if
|
||||
%%EndResource
|
||||
%%IncludeResource: font Times-Bold
|
||||
%%IncludeResource: font Times-Italic
|
||||
%%IncludeResource: font Times-Roman
|
||||
%%IncludeResource: font Courier
|
||||
grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72 def/PL
|
||||
841.89 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron/Zcaron/scaron
|
||||
/zcaron/Ydieresis/trademark/quotesingle/.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/quoteright/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/circumflex/underscore/quoteleft/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/tilde/.notdef/quotesinglbase
|
||||
/guillemotleft/guillemotright/bullet/florin/fraction/perthousand/dagger
|
||||
/daggerdbl/endash/emdash/ff/fi/fl/ffi/ffl/dotlessi/dotlessj/grave/hungarumlaut
|
||||
/dotaccent/breve/caron/ring/ogonek/quotedblleft/quotedblright/oe/lslash
|
||||
/quotedblbase/OE/Lslash/.notdef/exclamdown/cent/sterling/currency/yen/brokenbar
|
||||
/section/dieresis/copyright/ordfeminine/guilsinglleft/logicalnot/minus
|
||||
/registered/macron/degree/plusminus/twosuperior/threesuperior/acute/mu
|
||||
/paragraph/periodcentered/cedilla/onesuperior/ordmasculine/guilsinglright
|
||||
/onequarter/onehalf/threequarters/questiondown/Agrave/Aacute/Acircumflex/Atilde
|
||||
/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute
|
||||
/Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis
|
||||
/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls
|
||||
/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla/egrave/eacute
|
||||
/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis/eth/ntilde/ograve
|
||||
/oacute/ocircumflex/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex
|
||||
/udieresis/yacute/thorn/ydieresis]def/Courier@0 ENC0/Courier RE/Times-Roman@0
|
||||
ENC0/Times-Roman RE/Times-Italic@0 ENC0/Times-Italic RE/Times-Bold@0 ENC0
|
||||
/Times-Bold RE
|
||||
%%EndProlog
|
||||
%%Page: 1 1
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
%%EndPageSetup
|
||||
/F0 12/Times-Bold@0 SF(The)198.071 120 Q/F1 11/Times-Bold@0 SF(OOPS)3 E F0 -.12
|
||||
(Pa)3 G(ckage f).12 E(or Elk Scheme)-.3 E/F2 10/Times-Italic@0 SF
|
||||
(Oliver Laumann)255.085 144 Q F1 2.75(1. Intr)72 216 R(oduction)-.198 E/F3 11
|
||||
/Times-Roman@0 SF(The)97 234.6 Q/F4 10/Times-Roman@0 SF(OOPS)3.866 E F3 1.116
|
||||
(package pro)3.866 F 1.115
|
||||
(vides a minimal set of tools that enables a Scheme programmer to)-.165 F .357
|
||||
(program in an object oriented style.)72 249.6 R .357(The functionality of)
|
||||
5.857 F F4(OOPS)3.107 E F3 .357(is similar to that of packages lik)3.107 F(e)
|
||||
-.11 E F4(CLOS)72 264.6 Q F3(and)3.342 E F4(SCOOPS)3.342 E F3 3.342(,a)C .592
|
||||
(lthough the current v)168.894 264.6 R .592
|
||||
(ersion does not support multiple inheritance.)-.165 F .592(The rest)6.092 F
|
||||
.261(of this memo serv)72 279.6 R .261(es as a reference guide to the)-.165 F
|
||||
F4(OOPS)3.012 E F3 .262(package; the reader is assumed to be f)3.012 F(amil-)
|
||||
-.11 E(iar with the terminology of object oriented programming.)72 294.6 Q F1
|
||||
2.75(2. Using)72 324.6 R/F5 10/Times-Bold@0 SF(OOPS)2.75 E F3
|
||||
(Programs that mak)72 343.2 Q 2.75(eu)-.11 G(se of the)168.129 343.2 Q F4(OOPS)
|
||||
2.75 E F3(package should include the line)2.75 E/F6 10/Courier@0 SF
|
||||
(\(require 'oops\))100.346 365.703 Q F3 1.178(Since this in)72 387.703 R -.22
|
||||
(vo)-.44 G(lv).22 E 1.177(es autoloading of an object \214le, it may be desira\
|
||||
ble to dump Scheme after the)-.165 F F4(OOPS)72 402.703 Q F3
|
||||
(package has been loaded.)2.75 E F1 2.75(3. De\214ning)72 432.703 R(Classes)
|
||||
2.75 E F3(Ne)97 451.303 Q 3.323(wc)-.275 G .573
|
||||
(lasses are de\214ned by means of the)125.7 451.303 R F6(define-class)3.324 E
|
||||
F3 3.324(macro. The)6.574 F .574(syntax of)3.324 F F6(define-)3.324 E(class)72
|
||||
466.303 Q F3(is)6 E F6(\(define-class)100.346 488.806 Q F2(class-name)6 E F6(.)
|
||||
6 E F2(options)6 E F6(\))A F3(where)72 510.806 Q/F7 11/Times-Italic@0 SF
|
||||
(class-name)2.75 E F3(is a symbol.)2.75 E F7(options)5.5 E F3
|
||||
(can be of the form)2.75 E F6(\(super-class)100.346 533.309 Q F2(class-name)6 E
|
||||
F6(\))A F3(where)72 555.309 Q F7(class-name)2.75 E F3(is the name of the super)
|
||||
2.75 E(-class \(a symbol\), or)-.22 E F6(\(class-vars .)100.346 577.812 Q F2
|
||||
(var)6 E(-specs)-.2 E F6(\))A F3(or)72 599.812 Q F6(\(instance-vars .)100.346
|
||||
622.315 Q F2(var)6 E(-specs)-.2 E F6(\))A F3 .623(to specify the class v)72
|
||||
644.315 R .623(ariables and instance v)-.275 F .622(ariables of the ne)-.275 F
|
||||
.622(wly de\214ned class.)-.275 F(Each)6.122 E F7(var)3.372 E(-spec)-.22 E F3
|
||||
(is)3.372 E(either a symbol \(the name of the v)72 659.315 Q
|
||||
(ariable\) or of the form)-.275 E F6(\()100.346 681.818 Q F2 3.5
|
||||
(symbol initializer)B F6(\).)A F3 -1.221(Va)72 703.818 S .143(riables for whic\
|
||||
h no initializer has been speci\214ed are initialized to the empty list.)1.221
|
||||
F .143(The initializ-)5.643 F .805(ers for class v)72 718.818 R .805
|
||||
(ariables are e)-.275 F -.275(va)-.275 G .804
|
||||
(luated immediately; initializers for instance v).275 F .804(ariables are e)
|
||||
-.275 F -.275(va)-.275 G(luated).275 E .059(each time an instance of the ne)72
|
||||
733.818 R .059(wly de\214ned class is created.)-.275 F(Ev)5.559 E .06
|
||||
(aluation of initializers is performed)-.275 F EP
|
||||
%%Page: 2 2
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
%%EndPageSetup
|
||||
/F0 11/Times-Roman@0 SF 2.75(-2-)278.837 51 S .44 LW 77.5 57 72 57 DL 80.5 57
|
||||
75 57 DL 86 57 80.5 57 DL 91.5 57 86 57 DL 97 57 91.5 57 DL 102.5 57 97 57 DL
|
||||
108 57 102.5 57 DL 113.5 57 108 57 DL 119 57 113.5 57 DL 124.5 57 119 57 DL 130
|
||||
57 124.5 57 DL 135.5 57 130 57 DL 141 57 135.5 57 DL 146.5 57 141 57 DL 152 57
|
||||
146.5 57 DL 157.5 57 152 57 DL 163 57 157.5 57 DL 168.5 57 163 57 DL 174 57
|
||||
168.5 57 DL 179.5 57 174 57 DL 185 57 179.5 57 DL 190.5 57 185 57 DL 196 57
|
||||
190.5 57 DL 201.5 57 196 57 DL 207 57 201.5 57 DL 212.5 57 207 57 DL 218 57
|
||||
212.5 57 DL 223.5 57 218 57 DL 229 57 223.5 57 DL 234.5 57 229 57 DL 240 57
|
||||
234.5 57 DL 245.5 57 240 57 DL 251 57 245.5 57 DL 256.5 57 251 57 DL 262 57
|
||||
256.5 57 DL 267.5 57 262 57 DL 273 57 267.5 57 DL 278.5 57 273 57 DL 284 57
|
||||
278.5 57 DL 289.5 57 284 57 DL 295 57 289.5 57 DL 300.5 57 295 57 DL 306 57
|
||||
300.5 57 DL 311.5 57 306 57 DL 317 57 311.5 57 DL 322.5 57 317 57 DL 328 57
|
||||
322.5 57 DL 333.5 57 328 57 DL 339 57 333.5 57 DL 344.5 57 339 57 DL 350 57
|
||||
344.5 57 DL 355.5 57 350 57 DL 361 57 355.5 57 DL 366.5 57 361 57 DL 372 57
|
||||
366.5 57 DL 377.5 57 372 57 DL 383 57 377.5 57 DL 388.5 57 383 57 DL 394 57
|
||||
388.5 57 DL 399.5 57 394 57 DL 405 57 399.5 57 DL 410.5 57 405 57 DL 416 57
|
||||
410.5 57 DL 421.5 57 416 57 DL 427 57 421.5 57 DL 432.5 57 427 57 DL 438 57
|
||||
432.5 57 DL 443.5 57 438 57 DL 449 57 443.5 57 DL 454.5 57 449 57 DL 460 57
|
||||
454.5 57 DL 465.5 57 460 57 DL 471 57 465.5 57 DL 476.5 57 471 57 DL 482 57
|
||||
476.5 57 DL 487.5 57 482 57 DL 493 57 487.5 57 DL 498.5 57 493 57 DL 504 57
|
||||
498.5 57 DL 1.161(in a w)72 87 R 1.161(ay that the initializer of a v)-.11 F
|
||||
1.161(ariable can reference all v)-.275 F 1.161
|
||||
(ariables appearing at the left of the)-.275 F -.275(va)72 102 S
|
||||
(riable being initialized; for instance).275 E/F1 10/Courier@0 SF
|
||||
(\(define-class foo \(class-vars \(a 10\) \(b \(* a 2\)\)\)\))100.346 124.503 Q
|
||||
F0 -.11(wo)72 146.503 S(uld initialize the class v).11 E(ariable)-.275 E F1(b)
|
||||
2.75 E F0(to 20.)6 E 2.979(Ac)97 165.103 S .229(lass inherits all class v)
|
||||
112.805 165.103 R .229(ariables, instance v)-.275 F .23
|
||||
(ariables, and methods of its super)-.275 F 2.98(-class. When)-.22 F 3.342(ac)
|
||||
72 180.103 S .592(lass and its super)85.11 180.103 R .592(-class each ha)-.22 F
|
||||
.922 -.165(ve a)-.22 H 3.342(ni).165 G .592(nstance v)253.913 180.103 R .591
|
||||
(ariable with the same name, the corresponding)-.275 F/F2 11/Times-Italic@0 SF
|
||||
(var)72 195.103 Q(-specs)-.22 E F0 1.525(must either both ha)4.275 F 1.855
|
||||
-.165(ve n)-.22 H 4.276(oi).165 G 1.526
|
||||
(nitializer or initializers with the same v)240.024 195.103 R 1.526
|
||||
(alue, otherwise an)-.275 F -.814(``)72 210.103 S(initializer mismatch').814 E
|
||||
2.75('e)-.814 G(rror is signaled by)180.35 210.103 Q F1(define-class)2.75 E F0
|
||||
(.)A 1.038(Each instance of a class has an instance v)97 228.703 R 1.038
|
||||
(ariable named)-.275 F F1(self)3.788 E F0 6.538(.T)C 1.038(he v)393.933 228.703
|
||||
R 1.038(alue of)-.275 F F1(self)3.788 E F0 1.038(is the)7.038 F 1.072
|
||||
(instance with respect to which)72 243.703 R F1(self)3.822 E F0 1.072(is e)
|
||||
7.072 F -.275(va)-.275 G(luated.).275 E F1(self)6.572 E F0 1.072
|
||||
(can be used by methods as the ar)7.072 F(gu-)-.198 E(ment to)72 258.703 Q F1
|
||||
(send)2.75 E F0(\(see belo)6 E(w\) to in)-.275 E -.22(vo)-.44 G .22 -.11(ke a)
|
||||
.22 H(nother method within the current instance.).11 E F1(define-class)97
|
||||
277.303 Q F0 .263(does not ha)6.263 F .593 -.165(ve a m)-.22 H .263
|
||||
(eaningful return v).165 F .262(alue, instead it has a side-ef)-.275 F .262
|
||||
(fect on the)-.275 F(en)72 292.303 Q(vironment in which it is in)-.44 E -.22
|
||||
(vo)-.44 G -.11(ke).22 G(d.).11 E/F3 11/Times-Bold@0 SF 2.75(4. Cr)72 322.303 R
|
||||
(eating Instances of a Class)-.198 E F0 .434(The macro)97 340.903 R F1
|
||||
(make-instance)3.184 E F0 .435
|
||||
(is used to create an instance of a class; it returns the instance)6.434 F
|
||||
(as its v)72 355.903 Q 2.75(alue. The)-.275 F(syntax is)2.75 E F1
|
||||
(\(make-instance)100.346 378.406 Q/F4 10/Times-Italic@0 SF(class)6 E F1(.)6 E
|
||||
F4(ar)6 E(gs)-.37 E F1(\))A F0(where)72 400.406 Q F2(class)2.75 E F0
|
||||
(is the class of which an instance is to be created.)2.75 E(Each)5.5 E F2(ar)
|
||||
2.75 E(g)-.407 E F0(of the form)2.75 E F1(\()100.346 422.909 Q F4 3.5
|
||||
(symbol initializer)B F1(\))A F0(where)72 444.909 Q F2(symbol)3.81 E F0 1.06
|
||||
(is the name of an instance v)3.81 F 1.059
|
||||
(ariable of the class, is used to initialize the speci\214ed)-.275 F .532
|
||||
(instance v)72 459.909 R .532(ariable in the ne)-.275 F .532
|
||||
(wly created instance.)-.275 F .533(In this case the)6.032 F F2(initializer)
|
||||
3.283 E F0 .533(supersedes an)3.283 F 3.283(yi)-.165 G(nitial-)477.721 459.909
|
||||
Q .506(izer speci\214ed in the call to)72 474.909 R F1(define-class)3.256 E F0
|
||||
6.006(.T)C .505(hus it is possible to ha)281.049 474.909 R .835 -.165(ve i)-.22
|
||||
H .505(nstance v).165 F .505(ariables with a)-.275 F F2 .253
|
||||
(default initializer)72 489.909 R F0 .253(that can be o)3.003 F -.165(ve)-.165
|
||||
G .254(rridden for indi).165 F .254(vidual instances.)-.275 F .254
|
||||
(The initializers are e)5.754 F -.275(va)-.275 G .254(luated in).275 F
|
||||
(the current en)72 504.909 Q(vironment.)-.44 E F1(make-instance)97 523.509 Q F0
|
||||
2.386(initializes the ne)8.386 F 2.385(wly created instance by in)-.275 F -.22
|
||||
(vo)-.44 G 2.385(king the).22 F F1(initialize-)5.135 E(instance)72 538.509 Q F0
|
||||
.889(method for the class and all super)6.889 F .889(-classes in super)-.22 F
|
||||
.889(-class to sub-class order)-.22 F 6.39(.T)-.605 G .89(hat is,)476.831
|
||||
538.509 R(the)72 553.509 Q F1(initialize-instance)4.183 E F0 1.432
|
||||
(method of the class speci\214ed in the call to)7.432 F F1(make-instance)4.182
|
||||
E F0(is)7.432 E 2.148(called after all other)72 568.509 R F1
|
||||
(initialize-instance)4.899 E F0 4.899(methods. The)8.149 F(ar)4.899 E 2.149
|
||||
(guments passed to the)-.198 F F1(ini-)4.899 E(tialize-instance)72 583.509 Q F0
|
||||
.115(method of a class are those ar)6.115 F .115(guments of the call to)-.198 F
|
||||
F1(make-instance)2.864 E F0(that)6.114 E .381
|
||||
(do not represent an initialization form for an instance v)72 598.509 R 3.132
|
||||
(ariable. These)-.275 F(ar)3.132 E .382(guments are e)-.198 F -.275(va)-.275 G
|
||||
.382(luated in).275 F 2.601(the current en)72 613.509 R 5.351(vironment. It)
|
||||
-.44 F 2.6(is not required for a class to ha)5.351 F 2.93 -.165(ve a)-.22 H(n)
|
||||
.165 E F1(initialize-instance)5.35 E F0(method.)72 628.509 Q
|
||||
(Consider the follo)97 647.109 Q(wing e)-.275 E(xample:)-.165 E EP
|
||||
%%Page: 3 3
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
%%EndPageSetup
|
||||
/F0 11/Times-Roman@0 SF 2.75(-3-)278.837 51 S .44 LW 77.5 57 72 57 DL 80.5 57
|
||||
75 57 DL 86 57 80.5 57 DL 91.5 57 86 57 DL 97 57 91.5 57 DL 102.5 57 97 57 DL
|
||||
108 57 102.5 57 DL 113.5 57 108 57 DL 119 57 113.5 57 DL 124.5 57 119 57 DL 130
|
||||
57 124.5 57 DL 135.5 57 130 57 DL 141 57 135.5 57 DL 146.5 57 141 57 DL 152 57
|
||||
146.5 57 DL 157.5 57 152 57 DL 163 57 157.5 57 DL 168.5 57 163 57 DL 174 57
|
||||
168.5 57 DL 179.5 57 174 57 DL 185 57 179.5 57 DL 190.5 57 185 57 DL 196 57
|
||||
190.5 57 DL 201.5 57 196 57 DL 207 57 201.5 57 DL 212.5 57 207 57 DL 218 57
|
||||
212.5 57 DL 223.5 57 218 57 DL 229 57 223.5 57 DL 234.5 57 229 57 DL 240 57
|
||||
234.5 57 DL 245.5 57 240 57 DL 251 57 245.5 57 DL 256.5 57 251 57 DL 262 57
|
||||
256.5 57 DL 267.5 57 262 57 DL 273 57 267.5 57 DL 278.5 57 273 57 DL 284 57
|
||||
278.5 57 DL 289.5 57 284 57 DL 295 57 289.5 57 DL 300.5 57 295 57 DL 306 57
|
||||
300.5 57 DL 311.5 57 306 57 DL 317 57 311.5 57 DL 322.5 57 317 57 DL 328 57
|
||||
322.5 57 DL 333.5 57 328 57 DL 339 57 333.5 57 DL 344.5 57 339 57 DL 350 57
|
||||
344.5 57 DL 355.5 57 350 57 DL 361 57 355.5 57 DL 366.5 57 361 57 DL 372 57
|
||||
366.5 57 DL 377.5 57 372 57 DL 383 57 377.5 57 DL 388.5 57 383 57 DL 394 57
|
||||
388.5 57 DL 399.5 57 394 57 DL 405 57 399.5 57 DL 410.5 57 405 57 DL 416 57
|
||||
410.5 57 DL 421.5 57 416 57 DL 427 57 421.5 57 DL 432.5 57 427 57 DL 438 57
|
||||
432.5 57 DL 443.5 57 438 57 DL 449 57 443.5 57 DL 454.5 57 449 57 DL 460 57
|
||||
454.5 57 DL 465.5 57 460 57 DL 471 57 465.5 57 DL 476.5 57 471 57 DL 482 57
|
||||
476.5 57 DL 487.5 57 482 57 DL 493 57 487.5 57 DL 498.5 57 493 57 DL 504 57
|
||||
498.5 57 DL/F1 10/Courier@0 SF(\(require 'oops\))100.346 94.503 Q
|
||||
(\(define-class c \(instance-vars a\)\))100.346 115.503 Q
|
||||
(\(define-class d \(instance-vars \(b 10\)\) \(super-class c\)\))100.346
|
||||
129.503 Q(\(define-method c \(initialize-instance . args\))100.346 150.503 Q
|
||||
(\(print \(cons 'c args\)\)\))112.346 164.503 Q
|
||||
(\(define-method d \(initialize-instance . args\))100.346 185.503 Q
|
||||
(\(print \(cons 'd args\)\)\))112.346 199.503 Q F0(In this e)72 228.503 Q
|
||||
(xample e)-.165 E -.275(va)-.275 G(luation of).275 E F1(\(define x 99\))100.346
|
||||
251.006 Q(\(define i \(make-instance d \(a 20\) 'foo \(b x\) x\)\))100.346
|
||||
265.006 Q F0 -.11(wo)72 287.006 S(uld print).11 E F1(\(c foo 99\))100.346
|
||||
309.509 Q(\(d foo 99\))100.346 323.509 Q F0 1.104(Note that \214rst the)97
|
||||
349.109 R F1(initialize-instance)3.854 E F0 1.104(method of)7.104 F F1(c)3.854
|
||||
E F0 1.104(is in)7.104 F -.22(vo)-.44 G -.11(ke).22 G 3.854(da).11 G 1.104
|
||||
(nd then that of the)419.537 349.109 R(class)72 364.109 Q F1(d)2.75 E F0 5.5
|
||||
(.T)C(he instance v)117.105 364.109 Q(ariables)-.275 E F1(a)2.75 E F0(and)6 E
|
||||
F1(b)2.75 E F0 -.11(wo)6 G(uld be initialized to 20 and 99, respecti).11 E
|
||||
-.165(ve)-.275 G(ly).165 E(.)-.715 E/F2 11/Times-Bold@0 SF 2.75(5. De\214ning)
|
||||
72 394.109 R(Methods)2.75 E F0 2.75(An)97 412.709 S .55 -.275(ew m)113.192
|
||||
412.709 T(ethod can be de\214ned by means of the).275 E F1(define-method)2.75 E
|
||||
F0 2.75(macro. The)6 F(syntax is)2.75 E F1(\(define-method)100.346 435.212 Q/F3
|
||||
10/Times-Italic@0 SF 3.5(class lambda-list)6 F F1(.)6 E F3(body)6 E F1(\))A F0
|
||||
(where)72 457.212 Q/F4 11/Times-Italic@0 SF(class)3.819 E F0 1.068
|
||||
(is the class to which the method is to be added,)3.818 F F4(lambda-list)3.818
|
||||
E F0 1.068(is a list specifying the)3.818 F(method')72 472.212 Q 2.75(sn)-.605
|
||||
G(ame and formal ar)120.587 472.212 Q(guments \(ha)-.198 E
|
||||
(ving the same syntax as the ar)-.22 E(gument of)-.198 E F1(define)2.75 E F0
|
||||
(\).)A F1(define-method)97 490.812 Q F0 1.381(simply creates a class-v)7.381 F
|
||||
1.381(ariable with the name of the method, creates a)-.275 F .163
|
||||
(lambda closure using the)72 505.812 R F4(lambda-list)2.913 E F0 .163(and the)
|
||||
2.913 F F4(body)2.913 E F0 .162
|
||||
(forms, and binds the resulting procedure to the)2.913 F(ne)72 520.812 Q .953
|
||||
(wly-created v)-.275 F 3.703(ariable. When)-.275 F 3.703(am)3.703 G .953
|
||||
(essage with the name of the method is sent to an instance of)229.207 520.812 R
|
||||
.504(the class, the method is in)72 535.812 R -.22(vo)-.44 G -.11(ke).22 G .504
|
||||
(d, and the).11 F F4(body)3.254 E F0 .504(is e)3.254 F -.275(va)-.275 G .503
|
||||
(luated in the scope of the instance \(so that it).275 F
|
||||
(can access all instance and class v)72 550.812 Q(ariables\).)-.275 E F2 2.75
|
||||
(6. Sending)72 580.812 R(Messages)2.75 E F0 3.327(Am)97 599.412 S .577
|
||||
(essage can be sent to an instance by means of the function)116.827 599.412 R
|
||||
F1(send)3.328 E F0 6.078(.T)C .578(he syntax of)421.748 599.412 R F1(send)3.328
|
||||
E F0(is)72 614.412 Q F1(\(send)100.346 636.915 Q F3 3.5(instance messa)6 F -.1
|
||||
(ge)-.1 G F1(.)6.1 E F3(ar)6 E(gs)-.37 E F1(\))A F0(where)72 658.915 Q F4
|
||||
(instance)4.138 E F0 1.388(is the instance to which the message is to be sent,)
|
||||
4.138 F F4(messa)4.137 E -.11(ge)-.11 G F0 1.387(is the name of the)4.247 F
|
||||
.332(method to be in)72 673.915 R -.22(vo)-.44 G -.11(ke).22 G 3.082(d\().11 G
|
||||
3.082(as)174.605 673.915 S .332(ymbol\), and)186.85 673.915 R F4(ar)3.082 E(gs)
|
||||
-.407 E F0 .332(are the ar)3.082 F .333(guments to be passed to the method.)
|
||||
-.198 F(Exam-)5.833 E(ple:)72 688.915 Q EP
|
||||
%%Page: 4 4
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
%%EndPageSetup
|
||||
/F0 11/Times-Roman@0 SF 2.75(-4-)278.837 51 S .44 LW 77.5 57 72 57 DL 80.5 57
|
||||
75 57 DL 86 57 80.5 57 DL 91.5 57 86 57 DL 97 57 91.5 57 DL 102.5 57 97 57 DL
|
||||
108 57 102.5 57 DL 113.5 57 108 57 DL 119 57 113.5 57 DL 124.5 57 119 57 DL 130
|
||||
57 124.5 57 DL 135.5 57 130 57 DL 141 57 135.5 57 DL 146.5 57 141 57 DL 152 57
|
||||
146.5 57 DL 157.5 57 152 57 DL 163 57 157.5 57 DL 168.5 57 163 57 DL 174 57
|
||||
168.5 57 DL 179.5 57 174 57 DL 185 57 179.5 57 DL 190.5 57 185 57 DL 196 57
|
||||
190.5 57 DL 201.5 57 196 57 DL 207 57 201.5 57 DL 212.5 57 207 57 DL 218 57
|
||||
212.5 57 DL 223.5 57 218 57 DL 229 57 223.5 57 DL 234.5 57 229 57 DL 240 57
|
||||
234.5 57 DL 245.5 57 240 57 DL 251 57 245.5 57 DL 256.5 57 251 57 DL 262 57
|
||||
256.5 57 DL 267.5 57 262 57 DL 273 57 267.5 57 DL 278.5 57 273 57 DL 284 57
|
||||
278.5 57 DL 289.5 57 284 57 DL 295 57 289.5 57 DL 300.5 57 295 57 DL 306 57
|
||||
300.5 57 DL 311.5 57 306 57 DL 317 57 311.5 57 DL 322.5 57 317 57 DL 328 57
|
||||
322.5 57 DL 333.5 57 328 57 DL 339 57 333.5 57 DL 344.5 57 339 57 DL 350 57
|
||||
344.5 57 DL 355.5 57 350 57 DL 361 57 355.5 57 DL 366.5 57 361 57 DL 372 57
|
||||
366.5 57 DL 377.5 57 372 57 DL 383 57 377.5 57 DL 388.5 57 383 57 DL 394 57
|
||||
388.5 57 DL 399.5 57 394 57 DL 405 57 399.5 57 DL 410.5 57 405 57 DL 416 57
|
||||
410.5 57 DL 421.5 57 416 57 DL 427 57 421.5 57 DL 432.5 57 427 57 DL 438 57
|
||||
432.5 57 DL 443.5 57 438 57 DL 449 57 443.5 57 DL 454.5 57 449 57 DL 460 57
|
||||
454.5 57 DL 465.5 57 460 57 DL 471 57 465.5 57 DL 476.5 57 471 57 DL 482 57
|
||||
476.5 57 DL 487.5 57 482 57 DL 493 57 487.5 57 DL 498.5 57 493 57 DL 504 57
|
||||
498.5 57 DL/F1 10/Courier@0 SF
|
||||
(\(define-class c \(instance-vars a\) \(class-vars \(b 10\)\)\))100.346 94.503
|
||||
Q(\(define-method c \(foo x\))100.346 115.503 Q(\(cons \(set! a x\) b\)\))
|
||||
112.346 129.503 Q 6(;s)262.346 129.503 S(et! returns previous value)280.346
|
||||
129.503 Q(\(define i \(make-instance c \(a 99\)\)\))100.346 150.503 Q
|
||||
(\(send i 'foo 1\))100.346 178.503 Q/F2 10/Times-Roman@0 SF 2.5(returns \(99)
|
||||
250.346 178.503 R 2.5(.1)2.5 G(0\))308.946 178.503 Q F1(\(send i 'foo 2\))
|
||||
100.346 192.503 Q F2 2.5(returns \(1)250.346 192.503 R 2.5(.1)2.5 G(0\))303.946
|
||||
192.503 Q F0 .725(When a message is sent to an instance for which no method ha\
|
||||
s been de\214ned, a `)97 218.103 R(`message)-.814 E(not understood')72 233.103
|
||||
Q 2.75('e)-.814 G(rror is signaled.)151.838 233.103 Q 1.132(The function)97
|
||||
251.703 R F1(send-if-handles)3.883 E F0 1.133(is identical to)7.133 F F1(send)
|
||||
3.883 E F0 3.883(,e)C 1.133(xcept that it returns a list of one)356.446 251.703
|
||||
R 2.197(element, the return v)72 266.703 R 2.196(alue of the method, or)-.275 F
|
||||
F1(#f)4.946 E F0 2.196(when the message is not understood by the)8.196 F
|
||||
(instance.)72 281.703 Q/F3 11/Times-Bold@0 SF 2.75(7. Ev)72 311.703 R
|
||||
(aluating Expr)-.11 E(essions within an Instance)-.198 E F0 1.355(The macro)97
|
||||
330.303 R F1(with-instance)4.105 E F0 1.355(can be used to e)7.355 F -.275(va)
|
||||
-.275 G 1.355(luate e).275 F 1.356(xpressions within the scope of an)-.165 F
|
||||
2.75(instance. The)72 345.303 R(syntax is)2.75 E F1(\(with-instance)100.346
|
||||
367.806 Q/F4 10/Times-Italic@0 SF(instance)6 E F1(.)6 E F4(body)6 E F1(\).)A F0
|
||||
(The)72 389.806 Q/F5 11/Times-Italic@0 SF(body)3.508 E F0 .758(forms are e)
|
||||
3.508 F -.275(va)-.275 G .758(luated in the same en).275 F .757
|
||||
(vironment in which a method of)-.44 F F5(instance)3.507 E F0 -.11(wo)3.507 G
|
||||
.757(uld be).11 F -.275(eva)72 404.806 S 2.035(luated, i.).275 F 2.035(e. the)
|
||||
1.833 F 4.786(yc)-.165 G 2.036(an access all and class and instance v)169.644
|
||||
404.806 R 2.036(ariables \(including)-.275 F F1(self)4.786 E F0(\).)A F1(with-)
|
||||
7.536 E(instance)72 419.806 Q F0(returns the v)6 E(alue of the last)-.275 E F5
|
||||
(body)2.75 E F0 2.75(form. Example:)2.75 F F1
|
||||
(\(define-class c \(class-vars \(x 5\)\) \(instance-vars y\)\))100.346 442.309
|
||||
Q(\(define i \(make-instance c \(y 1\)\)\))100.346 463.309 Q(\(define x 10\))
|
||||
100.346 484.309 Q(\(with-instance i \(cons x y\)\))100.346 498.309 Q F2 2.5
|
||||
(returns \(5)328.346 498.309 R 2.5(.1)2.5 G(\))381.946 498.309 Q F3 2.75
|
||||
(8. Setting)72 535.309 R(Instance and Class V)2.75 E(ariables)-1.012 E F0 1.187
|
||||
(Generally class and instance v)97 553.909 R 1.187
|
||||
(ariables are manipulated by methods or)-.275 F 3.937(,i)-.44 G 3.937(fa)
|
||||
423.119 553.909 S 1.187(pplicable, from)435.603 553.909 R .761(within a)72
|
||||
568.909 R F1(with-instance)3.511 E F0 3.511(form. In)6.761 F .762(addition, v)
|
||||
3.511 F .762(alues can be assigned to class and instance v)-.275 F(ari-)-.275 E
|
||||
.649(ables without in)72 583.909 R -.22(vo)-.44 G .648
|
||||
(lving a message send by means of the).22 F F1(instance-set!)3.398 E F0 3.398
|
||||
(macro. The)418.389 583.909 R(syntax)3.398 E(of)72 598.909 Q F1(instance-set!)
|
||||
2.75 E F0(is)173.913 598.909 Q F1(\(instance-set!)100.346 621.412 Q F4 3.5
|
||||
(instance variable value)6 F F1(\))A F0(where)72 643.412 Q F5(variable)5.844 E
|
||||
F0 3.094(is a symbol, the name of the class or instance v)5.844 F(ariable.)
|
||||
-.275 E F1(instance-set!)8.595 E F0(returns the pre)72 658.412 Q(vious v)-.275
|
||||
E(alue of the v)-.275 E(ariable \(lik)-.275 E(e)-.11 E F1(set!)2.75 E F0(\).)A
|
||||
.697(Class v)97 677.012 R .697(ariables can be modi\214ed without in)-.275 F
|
||||
-.22(vo)-.44 G .696(lving an instance of the class by means of the).22 F(macro)
|
||||
72 692.012 Q F1(class-set!)2.75 E F0(:)A EP
|
||||
%%Page: 5 5
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
%%EndPageSetup
|
||||
/F0 11/Times-Roman@0 SF 2.75(-5-)278.837 51 S .44 LW 77.5 57 72 57 DL 80.5 57
|
||||
75 57 DL 86 57 80.5 57 DL 91.5 57 86 57 DL 97 57 91.5 57 DL 102.5 57 97 57 DL
|
||||
108 57 102.5 57 DL 113.5 57 108 57 DL 119 57 113.5 57 DL 124.5 57 119 57 DL 130
|
||||
57 124.5 57 DL 135.5 57 130 57 DL 141 57 135.5 57 DL 146.5 57 141 57 DL 152 57
|
||||
146.5 57 DL 157.5 57 152 57 DL 163 57 157.5 57 DL 168.5 57 163 57 DL 174 57
|
||||
168.5 57 DL 179.5 57 174 57 DL 185 57 179.5 57 DL 190.5 57 185 57 DL 196 57
|
||||
190.5 57 DL 201.5 57 196 57 DL 207 57 201.5 57 DL 212.5 57 207 57 DL 218 57
|
||||
212.5 57 DL 223.5 57 218 57 DL 229 57 223.5 57 DL 234.5 57 229 57 DL 240 57
|
||||
234.5 57 DL 245.5 57 240 57 DL 251 57 245.5 57 DL 256.5 57 251 57 DL 262 57
|
||||
256.5 57 DL 267.5 57 262 57 DL 273 57 267.5 57 DL 278.5 57 273 57 DL 284 57
|
||||
278.5 57 DL 289.5 57 284 57 DL 295 57 289.5 57 DL 300.5 57 295 57 DL 306 57
|
||||
300.5 57 DL 311.5 57 306 57 DL 317 57 311.5 57 DL 322.5 57 317 57 DL 328 57
|
||||
322.5 57 DL 333.5 57 328 57 DL 339 57 333.5 57 DL 344.5 57 339 57 DL 350 57
|
||||
344.5 57 DL 355.5 57 350 57 DL 361 57 355.5 57 DL 366.5 57 361 57 DL 372 57
|
||||
366.5 57 DL 377.5 57 372 57 DL 383 57 377.5 57 DL 388.5 57 383 57 DL 394 57
|
||||
388.5 57 DL 399.5 57 394 57 DL 405 57 399.5 57 DL 410.5 57 405 57 DL 416 57
|
||||
410.5 57 DL 421.5 57 416 57 DL 427 57 421.5 57 DL 432.5 57 427 57 DL 438 57
|
||||
432.5 57 DL 443.5 57 438 57 DL 449 57 443.5 57 DL 454.5 57 449 57 DL 460 57
|
||||
454.5 57 DL 465.5 57 460 57 DL 471 57 465.5 57 DL 476.5 57 471 57 DL 482 57
|
||||
476.5 57 DL 487.5 57 482 57 DL 493 57 487.5 57 DL 498.5 57 493 57 DL 504 57
|
||||
498.5 57 DL/F1 10/Courier@0 SF(\(class-set!)100.346 94.503 Q/F2 10
|
||||
/Times-Italic@0 SF 3.5(class variable value)6 F F1(\).)A/F3 11/Times-Italic@0
|
||||
SF(variable)72 116.503 Q F0(must be the name of a class v)2.75 E(ariable of)
|
||||
-.275 E F3(class)2.75 E F0 5.5(.N)C(ote that one dif)323.152 116.503 Q
|
||||
(ference between)-.275 E F1(\(instance-set! i 'var x\))100.346 139.006 Q F0
|
||||
(and)72 161.006 Q F1(\(with-instance i \(set! var x\)\))100.346 183.509 Q F0
|
||||
.735(is that in the former case)72 205.509 R F1(x)3.486 E F0 .736(is e)6.736 F
|
||||
-.275(va)-.275 G .736(luated in the current en).275 F .736
|
||||
(vironment while in the latter case)-.44 F F1(x)3.486 E F0(is)6.736 E -.275
|
||||
(eva)72 220.509 S(luated within the scope of the instance \(here).275 E F1(x)
|
||||
2.75 E F0(might be a class or instance v)6 E(ariable\).)-.275 E/F4 11
|
||||
/Times-Bold@0 SF 2.75(9. Obtaining)72 250.509 R(Inf)2.75 E
|
||||
(ormation about Classes and Instances)-.275 E F0 .951(The function)97 269.109 R
|
||||
F1(class-name)3.701 E F0 .95(returns the name of a class \(a symbol\) or)6.951
|
||||
F 3.7(,w)-.44 G .95(hen applied to an)425.69 269.109 R
|
||||
(instance, the name of the class of which it is an instance.)72 284.109 Q .615
|
||||
(The predicate)97 302.709 R F1(method-known?)3.365 E F0 .615
|
||||
(can be used to check whether a method of a gi)251.765 302.709 R -.165(ve)-.275
|
||||
G 3.366(nn).165 G(ame)485.674 302.709 Q(is kno)72 317.709 Q(wn to a class.)
|
||||
-.275 E(The syntax is)5.5 E F1(\(method-known?)100.346 340.212 Q F2 3.5
|
||||
(method class)6 F F1(\))A F0(where)72 362.212 Q F3(method)2.75 E F0
|
||||
(is a symbol.)2.75 E .244(The type predicates)97 380.812 R F1(class?)2.994 E F0
|
||||
(and)234.867 380.812 Q F1(instance?)2.994 E F0 .244
|
||||
(can be used to check whether an object is)319.989 380.812 R 2.75(ac)72 395.812
|
||||
S(lass or an instance, respecti)84.518 395.812 Q -.165(ve)-.275 G(ly).165 E(.)
|
||||
-.715 E(The functions)97 414.412 Q F1(\(check-class)100.346 436.915 Q F2 3.5
|
||||
(symbol object)6 F F1(\))A F0(and)72 458.915 Q F1(\(check-instance)100.346
|
||||
481.418 Q F2 3.5(symbol object)6 F F1(\))A F0 .831(check whether)72 503.418 R
|
||||
F3(object)3.581 E F0 .831(is a class \(i.)3.581 F .832
|
||||
(e. satis\214es the predicate)1.833 F F1(class?)3.582 E F0 3.582(\)o)C 3.582
|
||||
(ra)385.663 503.418 S 3.582(ni)397.792 503.418 S .832(nstance, respecti)409.932
|
||||
503.418 R -.165(ve)-.275 G(ly).165 E(,)-.715 E
|
||||
(and, if not, signal an error; in this case)72 518.418 Q F3(symbol)2.75 E F0
|
||||
(is used as the \214rst ar)2.75 E(gument to)-.198 E F1(error)2.75 E F0(.)A .119
|
||||
(The functions)97 537.018 R F1(describe-class)2.869 E F0(and)6.118 E F1
|
||||
(describe-instance)2.868 E F0 .118(print the components \(name,)6.118 F 1.376
|
||||
(class/instance v)72 552.018 R 1.376
|
||||
(ariables, etc.\) of a class or instance, respecti)-.275 F -.165(ve)-.275 G(ly)
|
||||
.165 E 6.877(.T)-.715 G 1.377(he function)378.659 552.018 R F1(describe)4.127 E
|
||||
F0(has)7.377 E 4.931(been e)72 567.018 R 4.931(xtended in w)-.165 F 4.93
|
||||
(ay that when)-.11 F F1 4.93(\(feature? 'oops\))7.68 F F0 4.93(is true,)357.355
|
||||
567.018 R F1(describe-class)7.68 E F0(or)494.837 567.018 Q F1
|
||||
(describe-instance)72 582.018 Q F0 .507(are called when)6.507 F F1(describe)
|
||||
3.257 E F0 .508(is applied to an object that satis\214es)6.507 F F1(class?)
|
||||
3.258 E F0(or)72 597.018 Q F1(instance?)2.75 E F0 2.75(,r)C(especti)147.076
|
||||
597.018 Q -.165(ve)-.275 G(ly).165 E(.)-.715 E EP
|
||||
%%Page: 6 6
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
%%EndPageSetup
|
||||
/F0 11/Times-Roman@0 SF 2.75(-6-)278.837 51 S .44 LW 77.5 57 72 57 DL 80.5 57
|
||||
75 57 DL 86 57 80.5 57 DL 91.5 57 86 57 DL 97 57 91.5 57 DL 102.5 57 97 57 DL
|
||||
108 57 102.5 57 DL 113.5 57 108 57 DL 119 57 113.5 57 DL 124.5 57 119 57 DL 130
|
||||
57 124.5 57 DL 135.5 57 130 57 DL 141 57 135.5 57 DL 146.5 57 141 57 DL 152 57
|
||||
146.5 57 DL 157.5 57 152 57 DL 163 57 157.5 57 DL 168.5 57 163 57 DL 174 57
|
||||
168.5 57 DL 179.5 57 174 57 DL 185 57 179.5 57 DL 190.5 57 185 57 DL 196 57
|
||||
190.5 57 DL 201.5 57 196 57 DL 207 57 201.5 57 DL 212.5 57 207 57 DL 218 57
|
||||
212.5 57 DL 223.5 57 218 57 DL 229 57 223.5 57 DL 234.5 57 229 57 DL 240 57
|
||||
234.5 57 DL 245.5 57 240 57 DL 251 57 245.5 57 DL 256.5 57 251 57 DL 262 57
|
||||
256.5 57 DL 267.5 57 262 57 DL 273 57 267.5 57 DL 278.5 57 273 57 DL 284 57
|
||||
278.5 57 DL 289.5 57 284 57 DL 295 57 289.5 57 DL 300.5 57 295 57 DL 306 57
|
||||
300.5 57 DL 311.5 57 306 57 DL 317 57 311.5 57 DL 322.5 57 317 57 DL 328 57
|
||||
322.5 57 DL 333.5 57 328 57 DL 339 57 333.5 57 DL 344.5 57 339 57 DL 350 57
|
||||
344.5 57 DL 355.5 57 350 57 DL 361 57 355.5 57 DL 366.5 57 361 57 DL 372 57
|
||||
366.5 57 DL 377.5 57 372 57 DL 383 57 377.5 57 DL 388.5 57 383 57 DL 394 57
|
||||
388.5 57 DL 399.5 57 394 57 DL 405 57 399.5 57 DL 410.5 57 405 57 DL 416 57
|
||||
410.5 57 DL 421.5 57 416 57 DL 427 57 421.5 57 DL 432.5 57 427 57 DL 438 57
|
||||
432.5 57 DL 443.5 57 438 57 DL 449 57 443.5 57 DL 454.5 57 449 57 DL 460 57
|
||||
454.5 57 DL 465.5 57 460 57 DL 471 57 465.5 57 DL 476.5 57 471 57 DL 482 57
|
||||
476.5 57 DL 487.5 57 482 57 DL 493 57 487.5 57 DL 498.5 57 493 57 DL 504 57
|
||||
498.5 57 DL/F1 13/Times-Bold@0 SF(Index)272.108 123 Q(C)72 174 Q F0
|
||||
(check-class,)72 204 Q/F2 12/Times-Bold@0 SF(5)2.75 E F0(check-instance,)72 219
|
||||
Q F2(5)2.75 E F0(class v)72 234 Q(ariables, 1)-.275 E(class-name,)72 249 Q F2
|
||||
(5)2.75 E F0(class-set!,)72 264 Q F2(4)2.75 E F0(class-v)72 279 Q(ars,)-.275 E
|
||||
F2(1)2.75 E F0(class?,)72 294 Q F2(5)2.75 E F1(D)72 324 Q F0(de\214ne-class,)72
|
||||
354 Q F2(1)2.75 E F0(de\214ne-method,)72 369 Q F2(3)2.75 E F0(describe,)72 384
|
||||
Q F2(5)2.75 E F0(describe-class,)72 399 Q F2(5)2.75 E F0(describe-instance,)72
|
||||
414 Q F2(5)2.75 E F1(I)72 444 Q F0(initialize-instance,)72 474 Q F2(2)2.75 E F0
|
||||
(initializers, 1)72 489 Q(instance v)72 504 Q(ariables, 1)-.275 E
|
||||
(instance-set!,)72 519 Q F2(4)2.75 E F0(instance-v)72 534 Q(ars,)-.275 E F2(1)
|
||||
2.75 E F0(instance?,)72 549 Q F2(5)2.75 E F1(M)72 579 Q F0(mak)72 609 Q
|
||||
(e-instance,)-.11 E F2(2)2.75 E F0(method-kno)72 624 Q(wn?,)-.275 E F2(5)2.75 E
|
||||
F1(O)72 654 Q F0(oops, 1)302.4 174 Q F1(S)302.4 204 Q F0(self,)302.4 234 Q F2
|
||||
(2)2.75 E F0(send, 2,)302.4 249 Q F2(3)2.75 E F0(send-if-handles,)302.4 264 Q
|
||||
F2(4)2.75 E F0(super)302.4 279 Q(-class,)-.22 E F2(1)2.75 E F1(W)302.4 309 Q F0
|
||||
(with-instance,)302.4 339 Q F2(4)2.75 E EP
|
||||
%%Page: 7 7
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
%%EndPageSetup
|
||||
/F0 13/Times-Bold@0 SF -1.196(Ta)239.127 123 S(ble of Contents)1.196 E/F1 11
|
||||
/Times-Roman@0 SF .866(Introduction ..........................................\
|
||||
..............................................................................\
|
||||
......)72 177.6 R(1)498.5 177.6 Q(Using)72 196.2 Q/F2 10/Times-Roman@0 SF(OOPS)
|
||||
2.75 E F1 19.25(..............................................................\
|
||||
................................................................ 1)3.411 F
|
||||
(De\214ning Classes)72 214.8 Q 19.25(.........................................\
|
||||
..............................................................................\
|
||||
1)3 F(Creating Instances of a Class)72 233.4 Q 19.25(........................\
|
||||
........................................................................... 2)
|
||||
4.551 F(De\214ning Methods)72 252 Q 19.25(....................................\
|
||||
..............................................................................\
|
||||
... 3)3 F(Sending Messages)72 270.6 Q 19.25(..................................\
|
||||
..............................................................................\
|
||||
.... 3)3.924 F(Ev)72 289.2 Q(aluating Expressions within an Instance)-.275 E
|
||||
19.25(........................................................................\
|
||||
...... 4)3.297 F(Setting Instance and Class V)72 307.8 Q .272(ariables .......\
|
||||
..............................................................................\
|
||||
...)-1.221 F(4)498.5 307.8 Q(Obtaining Information about Classes and Instances)
|
||||
72 326.4 Q 19.25
|
||||
(................................................................ 5)3.946 F
|
||||
(Inde)72 345 Q 2.868(x.)-.165 G 19.25(........................................\
|
||||
..............................................................................\
|
||||
.................. 6)102.5 345 R EP
|
||||
%%Trailer
|
||||
end
|
||||
%%EOF
|
|
@ -1 +1,31 @@
|
|||
EXTRA_DIST = record.ms record.ps
|
||||
EXTRA_DIST = record.ms
|
||||
|
||||
if HAVE_GROFF
|
||||
doc_DATA = record.ps
|
||||
docdir = $(datadir)/doc/@PACKAGE@
|
||||
endif
|
||||
|
||||
MANUAL= record
|
||||
TROFF= groff -ms -t
|
||||
UNROFF= unroff -ms
|
||||
|
||||
record.ps: record.ms index.ms
|
||||
(cat record.ms ../util/tmac.index index.ms; echo ".Tc")\
|
||||
| $(TROFF) 2> /dev/null > record.ps
|
||||
|
||||
record.html: record.ms
|
||||
(cat $?; echo ".Tc") | $(UNROFF) document=record
|
||||
|
||||
index.ms: record.ms index.raw
|
||||
sort -f -t'#' +1 -3 +0n index.raw | awk -f ../util/fixindex.awk\
|
||||
| awk -f ../util/block.awk >index.ms
|
||||
|
||||
index.raw: record.ms
|
||||
$(TROFF) record.ms 2> index.raw >/dev/null
|
||||
|
||||
check:
|
||||
checknr -c.Ul.Pr.Sy.Va.Sh.Ix.Id.Ch -a.Ss.Se.[[.]] record.ms |\
|
||||
grep -v "Empty command"
|
||||
|
||||
clean:
|
||||
rm -f index.raw index.ms record.ps record.html
|
||||
|
|
|
@ -1,640 +0,0 @@
|
|||
%!PS-Adobe-3.0
|
||||
%%Creator: groff version 1.08
|
||||
%%DocumentNeededResources: font Times-Bold
|
||||
%%+ font Times-Italic
|
||||
%%+ font Times-Roman
|
||||
%%+ font Courier
|
||||
%%+ font Symbol
|
||||
%%DocumentSuppliedResources: procset grops 1.08 0
|
||||
%%Pages: 7
|
||||
%%PageOrder: Ascend
|
||||
%%Orientation: Portrait
|
||||
%%EndComments
|
||||
%%BeginProlog
|
||||
%%BeginResource: procset grops 1.08 0
|
||||
/setpacking where{
|
||||
pop
|
||||
currentpacking
|
||||
true setpacking
|
||||
}if
|
||||
/grops 120 dict dup begin
|
||||
/SC 32 def
|
||||
/A/show load def
|
||||
/B{0 SC 3 -1 roll widthshow}bind def
|
||||
/C{0 exch ashow}bind def
|
||||
/D{0 exch 0 SC 5 2 roll awidthshow}bind def
|
||||
/E{0 rmoveto show}bind def
|
||||
/F{0 rmoveto 0 SC 3 -1 roll widthshow}bind def
|
||||
/G{0 rmoveto 0 exch ashow}bind def
|
||||
/H{0 rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
|
||||
/I{0 exch rmoveto show}bind def
|
||||
/J{0 exch rmoveto 0 SC 3 -1 roll widthshow}bind def
|
||||
/K{0 exch rmoveto 0 exch ashow}bind def
|
||||
/L{0 exch rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
|
||||
/M{rmoveto show}bind def
|
||||
/N{rmoveto 0 SC 3 -1 roll widthshow}bind def
|
||||
/O{rmoveto 0 exch ashow}bind def
|
||||
/P{rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
|
||||
/Q{moveto show}bind def
|
||||
/R{moveto 0 SC 3 -1 roll widthshow}bind def
|
||||
/S{moveto 0 exch ashow}bind def
|
||||
/T{moveto 0 exch 0 SC 5 2 roll awidthshow}bind def
|
||||
/SF{
|
||||
findfont exch
|
||||
[exch dup 0 exch 0 exch neg 0 0]makefont
|
||||
dup setfont
|
||||
[exch/setfont cvx]cvx bind def
|
||||
}bind def
|
||||
/MF{
|
||||
findfont
|
||||
[5 2 roll
|
||||
0 3 1 roll
|
||||
neg 0 0]makefont
|
||||
dup setfont
|
||||
[exch/setfont cvx]cvx bind def
|
||||
}bind def
|
||||
/level0 0 def
|
||||
/RES 0 def
|
||||
/PL 0 def
|
||||
/LS 0 def
|
||||
/PLG{
|
||||
gsave newpath clippath pathbbox grestore
|
||||
exch pop add exch pop
|
||||
}bind def
|
||||
/BP{
|
||||
/level0 save def
|
||||
1 setlinecap
|
||||
1 setlinejoin
|
||||
72 RES div dup scale
|
||||
LS{
|
||||
90 rotate
|
||||
}{
|
||||
0 PL translate
|
||||
}ifelse
|
||||
1 -1 scale
|
||||
}bind def
|
||||
/EP{
|
||||
level0 restore
|
||||
showpage
|
||||
}bind def
|
||||
/DA{
|
||||
newpath arcn stroke
|
||||
}bind def
|
||||
/SN{
|
||||
transform
|
||||
.25 sub exch .25 sub exch
|
||||
round .25 add exch round .25 add exch
|
||||
itransform
|
||||
}bind def
|
||||
/DL{
|
||||
SN
|
||||
moveto
|
||||
SN
|
||||
lineto stroke
|
||||
}bind def
|
||||
/DC{
|
||||
newpath 0 360 arc closepath
|
||||
}bind def
|
||||
/TM matrix def
|
||||
/DE{
|
||||
TM currentmatrix pop
|
||||
translate scale newpath 0 0 .5 0 360 arc closepath
|
||||
TM setmatrix
|
||||
}bind def
|
||||
/RC/rcurveto load def
|
||||
/RL/rlineto load def
|
||||
/ST/stroke load def
|
||||
/MT/moveto load def
|
||||
/CL/closepath load def
|
||||
/FL{
|
||||
currentgray exch setgray fill setgray
|
||||
}bind def
|
||||
/BL/fill load def
|
||||
/LW/setlinewidth load def
|
||||
/RE{
|
||||
findfont
|
||||
dup maxlength 1 index/FontName known not{1 add}if dict begin
|
||||
{
|
||||
1 index/FID ne{def}{pop pop}ifelse
|
||||
}forall
|
||||
/Encoding exch def
|
||||
dup/FontName exch def
|
||||
currentdict end definefont pop
|
||||
}bind def
|
||||
/DEFS 0 def
|
||||
/EBEGIN{
|
||||
moveto
|
||||
DEFS begin
|
||||
}bind def
|
||||
/EEND/end load def
|
||||
/CNT 0 def
|
||||
/level1 0 def
|
||||
/PBEGIN{
|
||||
/level1 save def
|
||||
translate
|
||||
div 3 1 roll div exch scale
|
||||
neg exch neg exch translate
|
||||
0 setgray
|
||||
0 setlinecap
|
||||
1 setlinewidth
|
||||
0 setlinejoin
|
||||
10 setmiterlimit
|
||||
[]0 setdash
|
||||
/setstrokeadjust where{
|
||||
pop
|
||||
false setstrokeadjust
|
||||
}if
|
||||
/setoverprint where{
|
||||
pop
|
||||
false setoverprint
|
||||
}if
|
||||
newpath
|
||||
/CNT countdictstack def
|
||||
userdict begin
|
||||
/showpage{}def
|
||||
}bind def
|
||||
/PEND{
|
||||
clear
|
||||
countdictstack CNT sub{end}repeat
|
||||
level1 restore
|
||||
}bind def
|
||||
end def
|
||||
/setpacking where{
|
||||
pop
|
||||
setpacking
|
||||
}if
|
||||
%%EndResource
|
||||
%%IncludeResource: font Times-Bold
|
||||
%%IncludeResource: font Times-Italic
|
||||
%%IncludeResource: font Times-Roman
|
||||
%%IncludeResource: font Courier
|
||||
%%IncludeResource: font Symbol
|
||||
grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72 def/PL
|
||||
841.89 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron/Zcaron/scaron
|
||||
/zcaron/Ydieresis/trademark/quotesingle/.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/quoteright/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/circumflex/underscore/quoteleft/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/tilde/.notdef/quotesinglbase
|
||||
/guillemotleft/guillemotright/bullet/florin/fraction/perthousand/dagger
|
||||
/daggerdbl/endash/emdash/ff/fi/fl/ffi/ffl/dotlessi/dotlessj/grave/hungarumlaut
|
||||
/dotaccent/breve/caron/ring/ogonek/quotedblleft/quotedblright/oe/lslash
|
||||
/quotedblbase/OE/Lslash/.notdef/exclamdown/cent/sterling/currency/yen/brokenbar
|
||||
/section/dieresis/copyright/ordfeminine/guilsinglleft/logicalnot/minus
|
||||
/registered/macron/degree/plusminus/twosuperior/threesuperior/acute/mu
|
||||
/paragraph/periodcentered/cedilla/onesuperior/ordmasculine/guilsinglright
|
||||
/onequarter/onehalf/threequarters/questiondown/Agrave/Aacute/Acircumflex/Atilde
|
||||
/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute
|
||||
/Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis
|
||||
/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls
|
||||
/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla/egrave/eacute
|
||||
/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis/eth/ntilde/ograve
|
||||
/oacute/ocircumflex/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex
|
||||
/udieresis/yacute/thorn/ydieresis]def/Courier@0 ENC0/Courier RE/Times-Roman@0
|
||||
ENC0/Times-Roman RE/Times-Italic@0 ENC0/Times-Italic RE/Times-Bold@0 ENC0
|
||||
/Times-Bold RE
|
||||
%%EndProlog
|
||||
%%Page: 1 1
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
%%EndPageSetup
|
||||
/F0 12/Times-Bold@0 SF(Refer)222.444 120 Q(ence Manual f)-.216 E(or the)-.3 E
|
||||
(Elk Record Extension)231.996 138 Q/F1 10/Times-Italic@0 SF(Oliver Laumann)
|
||||
255.085 162 Q/F2 11/Times-Bold@0 SF 2.75(1. Intr)72 234 R(oduction)-.198 E/F3
|
||||
11/Times-Roman@0 SF .345(The record e)97 252.6 R .345(xtension to Elk allo)
|
||||
-.165 F .344(ws Scheme applications to de\214ne record data types \(similar)
|
||||
-.275 F(to, although less po)72 267.6 Q(werful than, Common Lisp)-.275 E/F4 11
|
||||
/Times-Italic@0 SF(structur)2.75 E(es)-.407 E F3(\).)A 4.329(Ar)97 286.2 S
|
||||
1.579(ecord type can be instantiated to obtain a ne)112.934 286.2 R 4.329(wr)
|
||||
-.275 G 1.579(ecord \(a member of the gi)334.297 286.2 R -.165(ve)-.275 G 4.33
|
||||
(nr).165 G(ecord)479.569 286.2 Q 5.568(type\). Each)72 301.2 R 2.817(record is\
|
||||
a collection of named \214elds that can hold arbitrary Scheme objects.)5.568 F
|
||||
.819(Records are \214rst-class Scheme objects; the)72 316.2 R 3.57(ya)-.165 G
|
||||
.82(re members of the)277.764 316.2 R F4 -.407(re)3.57 G(cor).407 E(d)-.407 E
|
||||
F3 .82(data type that is disjoint)3.57 F 1.072(from all other Scheme types.)72
|
||||
331.2 R 1.071
|
||||
(Record types are \214rst-class objects as well; each record type is a)6.572 F
|
||||
(member of the)72 346.2 Q F4 -.407(re)2.75 G(cor).407 E(d-type)-.407 E F3
|
||||
(Scheme data type.)2.75 E .075(The record e)97 364.8 R .075(xtension pro)-.165
|
||||
F .075(vides f)-.165 F .075(acilities to de\214ne ne)-.11 F 2.825(wr)-.275 G
|
||||
.076(ecord types, create instances of e)339.446 364.8 R(xist-)-.165 E .002(ing\
|
||||
record types, de\214ne accessor and modi\214er functions to read and write th\
|
||||
e \214elds of records of a)72 379.8 R(gi)72 394.8 Q -.165(ve)-.275 G 2.75(nt)
|
||||
.165 G(ype, and type predicates for the)101.81 394.8 Q F4 -.407(re)2.75 G(cor)
|
||||
.407 E(d)-.407 E F3(and)2.75 E F4 -.407(re)2.75 G(cor).407 E(d-type)-.407 E F3
|
||||
(data types.)2.75 E .322(In addition, the e)97 413.4 R .322(xtension pro)-.165
|
||||
F .323(vides macros that simplify the de\214nition of constructor)-.165 F 3.073
|
||||
(,a)-.44 G(cces-)481.406 413.4 Q(sor and modi\214er functions for a ne)72 428.4
|
||||
Q(wly de\214ned record type.)-.275 E F2 2.75(2. Using)72 458.4 R
|
||||
(the Record Extension)2.75 E F3(The record e)97 477 Q(xtension is loaded by e)
|
||||
-.165 E -.275(va)-.275 G(luating).275 E/F5 10/Courier@0 SF(\(require 'record\))
|
||||
100.346 499.503 Q F3(in the interacti)72 521.503 Q .33 -.165(ve t)-.275 H(ople)
|
||||
.165 E -.165(ve)-.275 G 2.75(lo).165 G 2.75(ri)191.493 521.503 S 2.75(naS)
|
||||
200.964 521.503 S(cheme program.)222.964 521.503 Q .551
|
||||
(This causes the \214les)97 540.103 R F4 -.407(re)3.301 G(cor).407 E(d.scm)
|
||||
-.407 E F3(and)3.301 E F4 -.407(re)3.301 G(cor).407 E(d.o)-.407 E F3 .551
|
||||
(to be loaded into the interpreter \()3.301 F F4 -.407(re)C(cor).407 E(d.o)
|
||||
-.407 E F3(has)3.3 E .215(to be link)72 555.103 R .216(ed with the interpreter\
|
||||
on platforms that do not support dynamic loading of object \214les\).)-.11 F
|
||||
(Loading the record e)97 573.703 Q(xtension causes the features)-.165 E F4
|
||||
-.407(re)2.75 G(cor).407 E(d)-.407 E F3(and)2.75 E F4 -.407(re)2.75 G(cor).407
|
||||
E(d.o)-.407 E F3(to be pro)2.75 E(vided.)-.165 E F2 2.75(3. Record)72 603.703 R
|
||||
-.814(Ty)2.75 G(pes).814 E(\(mak)72 633.703 Q(e-r)-.11 E(ecord-type)-.198 E F4
|
||||
(type-name \214elds)4.583 E F2 216.437(\)p)C -.198(ro)462.244 633.703 S(cedur)
|
||||
.198 E(e)-.198 E F4(mak)72 652.303 Q(e-r)-.11 E(ecor)-.407 E(d-type)-.407 E F3
|
||||
.5(creates a ne)3.25 F 3.25(wr)-.275 G .5(ecord type.)219.398 652.303 R F4
|
||||
(type-name)6 E F3 .499(\(a string or a symbol\) is the name of the)3.25 F .379
|
||||
(record type; it is used in the printed representation of the record type and \
|
||||
of records belonging to)72 667.303 R .731(the ne)72 682.303 R 3.481(wt)-.275 G
|
||||
3.481(ype. If)113.513 682.303 R F4(type-name)3.481 E F3 .73
|
||||
(is a symbol, it is con)3.481 F -.165(ve)-.44 G .73
|
||||
(rted into a string \214rst.).165 F F4(\214elds)6.23 E F3 .73
|
||||
(is a list of sym-)3.48 F .32(bols naming the \214elds of a record of the ne)72
|
||||
697.303 R 3.07(wt)-.275 G 3.07(ype. An)277.171 697.303 R .32
|
||||
(error is signaled of the list contains dupli-)3.07 F(cate names.)72 712.303 Q
|
||||
EP
|
||||
%%Page: 2 2
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
%%EndPageSetup
|
||||
/F0 11/Times-Roman@0 SF 2.75(-2-)278.837 51 S .44 LW 77.5 57 72 57 DL 80.5 57
|
||||
75 57 DL 86 57 80.5 57 DL 91.5 57 86 57 DL 97 57 91.5 57 DL 102.5 57 97 57 DL
|
||||
108 57 102.5 57 DL 113.5 57 108 57 DL 119 57 113.5 57 DL 124.5 57 119 57 DL 130
|
||||
57 124.5 57 DL 135.5 57 130 57 DL 141 57 135.5 57 DL 146.5 57 141 57 DL 152 57
|
||||
146.5 57 DL 157.5 57 152 57 DL 163 57 157.5 57 DL 168.5 57 163 57 DL 174 57
|
||||
168.5 57 DL 179.5 57 174 57 DL 185 57 179.5 57 DL 190.5 57 185 57 DL 196 57
|
||||
190.5 57 DL 201.5 57 196 57 DL 207 57 201.5 57 DL 212.5 57 207 57 DL 218 57
|
||||
212.5 57 DL 223.5 57 218 57 DL 229 57 223.5 57 DL 234.5 57 229 57 DL 240 57
|
||||
234.5 57 DL 245.5 57 240 57 DL 251 57 245.5 57 DL 256.5 57 251 57 DL 262 57
|
||||
256.5 57 DL 267.5 57 262 57 DL 273 57 267.5 57 DL 278.5 57 273 57 DL 284 57
|
||||
278.5 57 DL 289.5 57 284 57 DL 295 57 289.5 57 DL 300.5 57 295 57 DL 306 57
|
||||
300.5 57 DL 311.5 57 306 57 DL 317 57 311.5 57 DL 322.5 57 317 57 DL 328 57
|
||||
322.5 57 DL 333.5 57 328 57 DL 339 57 333.5 57 DL 344.5 57 339 57 DL 350 57
|
||||
344.5 57 DL 355.5 57 350 57 DL 361 57 355.5 57 DL 366.5 57 361 57 DL 372 57
|
||||
366.5 57 DL 377.5 57 372 57 DL 383 57 377.5 57 DL 388.5 57 383 57 DL 394 57
|
||||
388.5 57 DL 399.5 57 394 57 DL 405 57 399.5 57 DL 410.5 57 405 57 DL 416 57
|
||||
410.5 57 DL 421.5 57 416 57 DL 427 57 421.5 57 DL 432.5 57 427 57 DL 438 57
|
||||
432.5 57 DL 443.5 57 438 57 DL 449 57 443.5 57 DL 454.5 57 449 57 DL 460 57
|
||||
454.5 57 DL 465.5 57 460 57 DL 471 57 465.5 57 DL 476.5 57 471 57 DL 482 57
|
||||
476.5 57 DL 487.5 57 482 57 DL 493 57 487.5 57 DL 498.5 57 493 57 DL 504 57
|
||||
498.5 57 DL/F1 11/Times-Italic@0 SF(mak)72 87 Q(e-r)-.11 E(ecor)-.407 E(d-type)
|
||||
-.407 E F0(returns the ne)2.75 E 2.75(wr)-.275 G
|
||||
(ecord type \(an object of the Scheme type)225.967 87 Q F1 -.407(re)2.75 G(cor)
|
||||
.407 E(d-type)-.407 E F0(\).)A(Example:)72 105.6 Q/F2 10/Courier@0 SF
|
||||
(\(define time-record)100.346 128.103 Q
|
||||
(\(make-record-type 'time '\(hours minutes seconds\)\)\))112.346 142.103 Q/F3
|
||||
11/Times-Bold@0 SF(\(r)72 179.103 Q(ecord-type?)-.198 E F1(obj)4.583 E F3
|
||||
297.881(\)p)C -.198(ro)462.244 179.103 S(cedur).198 E(e)-.198 E F0 .211
|
||||
(This type predicate returns #t if)72 197.703 R F1(obj)2.96 E F0 .21(is a)2.96
|
||||
F F1 -.407(re)2.96 G(cor).407 E(d-type)-.407 E F0 .21(object \(i.)2.96 F .21
|
||||
(e. the return v)1.833 F .21(alue of a call to)-.275 F F1(mak)2.96 E(e-)-.11 E
|
||||
-.407(re)72 212.703 S(cor).407 E(d-type)-.407 E F0(\), #f otherwise.)A F3(\(r)
|
||||
72 242.703 Q(ecord-type-name)-.198 E F1(rt)4.583 E F3 280.776(\)p)C -.198(ro)
|
||||
462.244 242.703 S(cedur).198 E(e)-.198 E F0 .302
|
||||
(This procedure returns the type name \(a string\) of the record type)72
|
||||
261.303 R F1(rt)3.052 E F0 3.052(,i)C 1.833(.e)382.021 261.303 S 3.052(.t)
|
||||
-1.833 G(he)400.348 261.303 Q F1(type-name)3.052 E F0(ar)3.052 E(gument)-.198 E
|
||||
(that w)72 276.303 Q(as supplied to the call to)-.11 E F1(mak)2.75 E(e-r)-.11 E
|
||||
(ecor)-.407 E(d-type)-.407 E F0(that created the record type)2.75 E F1(rt)2.75
|
||||
E F0(.)A F3(\(r)72 306.303 Q(ecord-type-\214eld-names)-.198 E F1(rt)4.583 E F3
|
||||
252.66(\)p)C -.198(ro)462.244 306.303 S(cedur).198 E(e)-.198 E F1 -.407(re)72
|
||||
324.903 S(cor).407 E(d-type-\214eld-names)-.407 E F0 .524
|
||||
(returns the list of \214eld names associated with the record type)3.275 F F1
|
||||
(rt)3.274 E F0 .524(\(a list of)3.274 F(symbols\), i.)72 339.903 Q(e. the)1.833
|
||||
E F1(\214elds)2.75 E F0(ar)2.75 E(gument that w)-.198 E(as gi)-.11 E -.165(ve)
|
||||
-.275 G 2.75(ni).165 G 2.75(nt)290.929 339.903 S(he call to)302.237 339.903 Q
|
||||
F1(mak)2.75 E(e-r)-.11 E(ecor)-.407 E(d-type)-.407 E F0(that created)2.75 E F1
|
||||
(rt)2.75 E F0(.)A F3(\(r)72 369.903 Q(ecord-constructor)-.198 E F1(rt \214elds)
|
||||
4.583 E F3 249.921(\)p)C -.198(ro)462.244 369.903 S(cedur).198 E(e)-.198 E(\(r)
|
||||
72 384.903 Q(ecord-constructor)-.198 E F1(rt)4.583 E F3 275.892(\)p)C -.198(ro)
|
||||
462.244 384.903 S(cedur).198 E(e)-.198 E F1 -.407(re)72 403.503 S(cor).407 E
|
||||
(d-constructor)-.407 E F0
|
||||
(returns a procedure for creating instances of the record type)2.75 E F1(rt)
|
||||
2.75 E F0(.)A 1.065(The returned procedure accepts as man)72 422.103 R 3.815
|
||||
(ya)-.165 G -.198(rg)263.322 422.103 S 1.065
|
||||
(uments as there are symbols in the list).198 F F1(\214elds)3.816 E F0 3.816
|
||||
(;t)C(hese)484.453 422.103 Q(ar)72 437.103 Q .584
|
||||
(guments are used as the initial v)-.198 F .583
|
||||
(alues of those \214elds in the ne)-.275 F .583(wly created record instance.)
|
||||
-.275 F(The)6.083 E -.275(va)72 452.103 S .736(lues of an).275 F 3.486<798c>
|
||||
-.165 G .736(elds for which no initial v)141.286 452.103 R .736
|
||||
(alue is speci\214ed \(i.)-.275 F 3.487(e. that)1.833 F .737
|
||||
(are not present in)3.487 F F1(\214elds)3.487 E F0 3.487(\)a)C(re)495.453
|
||||
452.103 Q 2.836(unde\214ned. If)72 467.103 R(the)2.836 E F1(\214elds)2.836 E F0
|
||||
(ar)2.836 E .085(gument is omitted, the \214eld names that were gi)-.198 F
|
||||
-.165(ve)-.275 G 2.835(na).165 G 2.835(sa)414.648 467.103 S 2.835(na)426.646
|
||||
467.103 S -.198(rg)439.865 467.103 S .085(ument in the).198 F(call to)72
|
||||
482.103 Q F1(mak)2.75 E(e-r)-.11 E(ecor)-.407 E(d-type)-.407 E F0
|
||||
(that created the record type)2.75 E F1(rt)2.75 E F0(are used instead.)2.75 E
|
||||
(Example:)72 500.703 Q F2(\(define make-time)100.346 523.206 Q
|
||||
(\(record-constructor time-record\)\))118.346 537.206 Q
|
||||
(\(define noon \(make-time 12 0 0\)\))100.346 551.206 Q
|
||||
(\(define make-uninitialized-time)100.346 572.206 Q
|
||||
(\(record-constructor time-record '\(\)\)\))118.346 586.206 Q F3(\(r)72 623.206
|
||||
Q(ecord-pr)-.198 E(edicate)-.198 E F1(rt)4.583 E F3 286.474(\)p)C -.198(ro)
|
||||
462.244 623.206 S(cedur).198 E(e)-.198 E F1 -.407(re)72 641.806 S(cor).407 E
|
||||
(d-pr)-.407 E(edicate)-.407 E F0 .873
|
||||
(returns a procedure for testing membership in the record type)3.623 F F1(rt)
|
||||
3.623 E F0 6.373(.T)C .873(he returned)453.341 641.806 R .584
|
||||
(procedure accepts one ar)72 656.806 R .584(gument and returns #t if the ar)
|
||||
-.198 F .583(gument is a member of the record type)-.198 F F1(rt)3.333 E F0
|
||||
-.917(\(i. e.)72 671.806 R .038(if it has been created by in)2.788 F -.22(vo)
|
||||
-.44 G .038(king a constructor returned by calling).22 F F1 -.407(re)2.789 G
|
||||
(cor).407 E(d-constructor)-.407 E F0(with)2.789 E F1(rt)2.789 E F0(as an ar)72
|
||||
686.806 Q(gument\), #f otherwise.)-.198 E EP
|
||||
%%Page: 3 3
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
%%EndPageSetup
|
||||
/F0 11/Times-Roman@0 SF 2.75(-3-)278.837 51 S .44 LW 77.5 57 72 57 DL 80.5 57
|
||||
75 57 DL 86 57 80.5 57 DL 91.5 57 86 57 DL 97 57 91.5 57 DL 102.5 57 97 57 DL
|
||||
108 57 102.5 57 DL 113.5 57 108 57 DL 119 57 113.5 57 DL 124.5 57 119 57 DL 130
|
||||
57 124.5 57 DL 135.5 57 130 57 DL 141 57 135.5 57 DL 146.5 57 141 57 DL 152 57
|
||||
146.5 57 DL 157.5 57 152 57 DL 163 57 157.5 57 DL 168.5 57 163 57 DL 174 57
|
||||
168.5 57 DL 179.5 57 174 57 DL 185 57 179.5 57 DL 190.5 57 185 57 DL 196 57
|
||||
190.5 57 DL 201.5 57 196 57 DL 207 57 201.5 57 DL 212.5 57 207 57 DL 218 57
|
||||
212.5 57 DL 223.5 57 218 57 DL 229 57 223.5 57 DL 234.5 57 229 57 DL 240 57
|
||||
234.5 57 DL 245.5 57 240 57 DL 251 57 245.5 57 DL 256.5 57 251 57 DL 262 57
|
||||
256.5 57 DL 267.5 57 262 57 DL 273 57 267.5 57 DL 278.5 57 273 57 DL 284 57
|
||||
278.5 57 DL 289.5 57 284 57 DL 295 57 289.5 57 DL 300.5 57 295 57 DL 306 57
|
||||
300.5 57 DL 311.5 57 306 57 DL 317 57 311.5 57 DL 322.5 57 317 57 DL 328 57
|
||||
322.5 57 DL 333.5 57 328 57 DL 339 57 333.5 57 DL 344.5 57 339 57 DL 350 57
|
||||
344.5 57 DL 355.5 57 350 57 DL 361 57 355.5 57 DL 366.5 57 361 57 DL 372 57
|
||||
366.5 57 DL 377.5 57 372 57 DL 383 57 377.5 57 DL 388.5 57 383 57 DL 394 57
|
||||
388.5 57 DL 399.5 57 394 57 DL 405 57 399.5 57 DL 410.5 57 405 57 DL 416 57
|
||||
410.5 57 DL 421.5 57 416 57 DL 427 57 421.5 57 DL 432.5 57 427 57 DL 438 57
|
||||
432.5 57 DL 443.5 57 438 57 DL 449 57 443.5 57 DL 454.5 57 449 57 DL 460 57
|
||||
454.5 57 DL 465.5 57 460 57 DL 471 57 465.5 57 DL 476.5 57 471 57 DL 482 57
|
||||
476.5 57 DL 487.5 57 482 57 DL 493 57 487.5 57 DL 498.5 57 493 57 DL 504 57
|
||||
498.5 57 DL/F1 11/Times-Bold@0 SF(\(r)72 87 Q(ecord-accessor)-.198 E/F2 11
|
||||
/Times-Italic@0 SF(rt \214eld)4.583 E F1 269.479(\)p)C -.198(ro)462.244 87 S
|
||||
(cedur).198 E(e)-.198 E F2 -.407(re)72 105.6 S(cor).407 E(d-accessor)-.407 E F0
|
||||
.225(returns a procedure for reading the v)2.975 F .225
|
||||
(alue of the \214eld named by)-.275 F F2(\214eld)2.974 E F0 .224(of a member)
|
||||
2.974 F .914(of the record type)72 120.6 R F2(rt)3.664 E F0 6.414(.T)C .914
|
||||
(he returned procedure accepts one ar)179.519 120.6 R .914
|
||||
(gument, which must be a record of)-.198 F .45(the record type)72 135.6 R F2
|
||||
(rt)3.2 E F0 3.2(;i)C 3.2(tr)158.731 135.6 S .45(eturns the current v)168.652
|
||||
135.6 R .45(alue of the speci\214ed \214eld in that record.)-.275 F F2(\214eld)
|
||||
5.949 E F0 .449(must be a)3.199 F .205
|
||||
(member of the list of \214eld names that w)72 150.6 R .206
|
||||
(as supplied to the call to)-.11 F F2(mak)2.956 E(e-r)-.11 E(ecor)-.407 E
|
||||
(d-type)-.407 E F0 .206(that created)2.956 F F2(rt)2.956 E F0(.)A(Example:)72
|
||||
169.2 Q/F3 10/Courier@0 SF(\(define time-hours)100.346 191.703 Q
|
||||
(\(record-accessor time-record 'hours\)\))112.346 205.703 Q
|
||||
(\(define noon \(\(record-constructor time-record\) 12 0 0\)\))100.346 226.703
|
||||
Q(\(time-hours noon\))100.346 240.703 Q/F4 10/Symbol SF<ae>214.346 240.703 Q/F5
|
||||
10/Times-Italic@0 SF(12)2.5 E F1(\(r)72 277.703 Q(ecord-modi\214er)-.198 E F2
|
||||
(rt \214eld)4.583 E F1 268.852(\)p)C -.198(ro)462.244 277.703 S(cedur).198 E(e)
|
||||
-.198 E F2 -.407(re)72 296.303 S(cor).407 E(d-modi\214er)-.407 E F0 .415
|
||||
(returns a procedure for writing the v)3.165 F .414
|
||||
(alue of the \214eld named by)-.275 F F2(\214eld)3.164 E F0 .414(of a member)
|
||||
3.164 F .482(of the record type)72 311.303 R F2(rt)3.232 E F0 5.982(.T)C .482
|
||||
(he returned procedure accepts tw)177.359 311.303 R 3.233(oa)-.11 G -.198(rg)
|
||||
338.181 311.303 S .483(uments: a record of the record type).198 F F2(rt)72
|
||||
326.303 Q F0 1.734(and an arbitrary object; it stores the gi)4.484 F -.165(ve)
|
||||
-.275 G 4.483(no).165 G 1.733
|
||||
(bject into the speci\214ed \214eld in that record and)288.495 326.303 R .468
|
||||
(returns the pre)72 341.303 R .468(vious v)-.275 F .469(alue of the \214eld.)
|
||||
-.275 F F2(\214eld)5.969 E F0 .469
|
||||
(must be a member of the list of \214eld names that w)3.219 F(as)-.11 E
|
||||
(supplied to the call to)72 356.303 Q F2(mak)2.75 E(e-r)-.11 E(ecor)-.407 E
|
||||
(d-type)-.407 E F0(that created)2.75 E F2(rt)2.75 E F0(.)A(Example)72 374.903 Q
|
||||
F3(\(define set-time-hours!)100.346 397.406 Q
|
||||
(\(record-modifier time-record 'hours\)\))112.346 411.406 Q F1(\(describe-r)72
|
||||
448.406 Q(ecord-type)-.198 E F2(rt)4.583 E F1 267.334(\)p)C -.198(ro)462.244
|
||||
448.406 S(cedur).198 E(e)-.198 E F0 .153(This procedure prints the names of th\
|
||||
e \214elds associated with the record type)72 467.006 R F2(rt)2.902 E F0 2.902
|
||||
(;i)C 2.902(ti)427.917 467.006 S 2.902(sa)436.935 467.006 S(utomatically)449
|
||||
467.006 Q(in)72 482.006 Q -.22(vo)-.44 G -.11(ke).22 G 2.75(db).11 G 2.75(yt)
|
||||
114.922 482.006 S(he standard)126.23 482.006 Q F2(describe)2.75 E F0
|
||||
(procedure of Elk if)2.75 E F2(describe)2.75 E F0(is in)2.75 E -.22(vo)-.44 G
|
||||
-.11(ke).22 G 2.75(dw).11 G(ith a record type.)401.01 482.006 Q F1 2.75
|
||||
(4. Records)72 512.006 R(\(r)72 542.006 Q(ecord?)-.198 E F2(obj)4.583 E F1
|
||||
321.707(\)p)C -.198(ro)462.244 542.006 S(cedur).198 E(e)-.198 E F0 .417
|
||||
(This type predicate returns #t if)72 560.606 R F2(obj)3.167 E F0 .417
|
||||
(is an object of type)3.167 F F2 -.407(re)3.167 G(cor).407 E(d)-.407 E F0 -.917
|
||||
(\(i. e.)3.167 F .417(the return v)3.167 F .417(alue of a call to a)-.275 F
|
||||
(record constructor of an)72 575.606 Q 2.75(yr)-.165 G
|
||||
(ecord type\), #f otherwise.)189.128 575.606 Q F1(\(r)72 605.606 Q
|
||||
(ecord-type-descriptor)-.198 E F2 -.407(re)4.583 G(cor).407 E(d)-.407 E F1
|
||||
236.996(\)p)C -.198(ro)462.244 605.606 S(cedur).198 E(e)-.198 E F0 1.302
|
||||
(This procedure returns the record type representing the type of the gi)72
|
||||
624.206 R -.165(ve)-.275 G 4.051(nr).165 G 4.051(ecord. The)412.21 624.206 R
|
||||
(returned)4.051 E .817(record type object is equal \(in the sense of)72 639.206
|
||||
R F2(eq?)3.567 E F0 6.317(\)t)C 3.567(ot)296.758 639.206 S .817
|
||||
(he record type ar)308.883 639.206 R .817(gument that w)-.198 F .817
|
||||
(as passed to)-.11 F F2 -.407(re)72 654.206 S(cor).407 E(d-constructor)-.407 E
|
||||
F0(in the call that created the constructor procedure that created)2.75 E F2
|
||||
-.407(re)2.75 G(cor).407 E(d)-.407 E F0(.)A(Example: e)72 672.806 Q -.275(va)
|
||||
-.275 G(luating the e).275 E(xpression)-.165 E F3
|
||||
(\(\(record-predicate \(record-type-descriptor r\)\) r\))100.346 695.309 Q F0
|
||||
(al)72 717.309 Q -.11(wa)-.11 G(ys yields #t for an).11 E 2.75(yg)-.165 G
|
||||
-2.365 -.275(iv e)184.959 717.309 T 2.75(nr).275 G(ecord)209.874 717.309 Q F2
|
||||
(r)2.75 E F0(.)A EP
|
||||
%%Page: 4 4
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
%%EndPageSetup
|
||||
/F0 11/Times-Roman@0 SF 2.75(-4-)278.837 51 S .44 LW 77.5 57 72 57 DL 80.5 57
|
||||
75 57 DL 86 57 80.5 57 DL 91.5 57 86 57 DL 97 57 91.5 57 DL 102.5 57 97 57 DL
|
||||
108 57 102.5 57 DL 113.5 57 108 57 DL 119 57 113.5 57 DL 124.5 57 119 57 DL 130
|
||||
57 124.5 57 DL 135.5 57 130 57 DL 141 57 135.5 57 DL 146.5 57 141 57 DL 152 57
|
||||
146.5 57 DL 157.5 57 152 57 DL 163 57 157.5 57 DL 168.5 57 163 57 DL 174 57
|
||||
168.5 57 DL 179.5 57 174 57 DL 185 57 179.5 57 DL 190.5 57 185 57 DL 196 57
|
||||
190.5 57 DL 201.5 57 196 57 DL 207 57 201.5 57 DL 212.5 57 207 57 DL 218 57
|
||||
212.5 57 DL 223.5 57 218 57 DL 229 57 223.5 57 DL 234.5 57 229 57 DL 240 57
|
||||
234.5 57 DL 245.5 57 240 57 DL 251 57 245.5 57 DL 256.5 57 251 57 DL 262 57
|
||||
256.5 57 DL 267.5 57 262 57 DL 273 57 267.5 57 DL 278.5 57 273 57 DL 284 57
|
||||
278.5 57 DL 289.5 57 284 57 DL 295 57 289.5 57 DL 300.5 57 295 57 DL 306 57
|
||||
300.5 57 DL 311.5 57 306 57 DL 317 57 311.5 57 DL 322.5 57 317 57 DL 328 57
|
||||
322.5 57 DL 333.5 57 328 57 DL 339 57 333.5 57 DL 344.5 57 339 57 DL 350 57
|
||||
344.5 57 DL 355.5 57 350 57 DL 361 57 355.5 57 DL 366.5 57 361 57 DL 372 57
|
||||
366.5 57 DL 377.5 57 372 57 DL 383 57 377.5 57 DL 388.5 57 383 57 DL 394 57
|
||||
388.5 57 DL 399.5 57 394 57 DL 405 57 399.5 57 DL 410.5 57 405 57 DL 416 57
|
||||
410.5 57 DL 421.5 57 416 57 DL 427 57 421.5 57 DL 432.5 57 427 57 DL 438 57
|
||||
432.5 57 DL 443.5 57 438 57 DL 449 57 443.5 57 DL 454.5 57 449 57 DL 460 57
|
||||
454.5 57 DL 465.5 57 460 57 DL 471 57 465.5 57 DL 476.5 57 471 57 DL 482 57
|
||||
476.5 57 DL 487.5 57 482 57 DL 493 57 487.5 57 DL 498.5 57 493 57 DL 504 57
|
||||
498.5 57 DL/F1 11/Times-Bold@0 SF(\(r)72 87 Q(ecord-v)-.198 E(alues)-.11 E/F2
|
||||
11/Times-Italic@0 SF -.407(re)4.583 G(cor).407 E(d)-.407 E F1 279.863(\)p)C
|
||||
-.198(ro)462.244 87 S(cedur).198 E(e)-.198 E F2 -.407(re)72 105.6 S(cor).407 E
|
||||
(d-values)-.407 E F0 .649(returns the current contents of the \214elds of)3.399
|
||||
F F2 -.407(re)3.399 G(cor).407 E(d)-.407 E F0 .649(as a v)3.399 F(ector)-.165 E
|
||||
6.149(.T)-.605 G(he)425.375 105.6 Q F2(n)3.398 E F0 .648(th element of)B .604
|
||||
(the v)72 120.6 R .605(ector corresponds to the \214eld with the name gi)-.165
|
||||
F -.165(ve)-.275 G 3.355(na).165 G 3.355(st)326.735 120.6 S(he)337.427 120.6 Q
|
||||
F2(n)3.355 E F0 .605(th element of the)B F2(\214elds)3.355 E F0(ar)3.355 E
|
||||
(gument)-.198 E(in the call to)72 135.6 Q F2(mak)2.75 E(e-r)-.11 E(ecor)-.407 E
|
||||
(d-type)-.407 E F0(that created the type to which)2.75 E F2 -.407(re)2.75 G
|
||||
(cor).407 E(d)-.407 E F0(belongs.)2.75 E 1.159(The returned v)72 154.2 R 1.159
|
||||
(ector is not a cop)-.165 F 3.909(yo)-.11 G 3.909(ft)233.497 154.2 S 1.159
|
||||
(he actual \214elds; i.)244.127 154.2 R 1.159
|
||||
(e. modifying the contents of the v)1.833 F(ector)-.165 E
|
||||
(directly writes the corresponding \214elds of the record.)72 169.2 Q F1
|
||||
(\(describe-r)72 199.2 Q(ecord)-.198 E F2 -.407(re)4.583 G(cor).407 E(d)-.407 E
|
||||
F1 269.985(\)p)C -.198(ro)462.244 199.2 S(cedur).198 E(e)-.198 E F0 .025
|
||||
(This procedure prints the names and current v)72 217.8 R .025
|
||||
(alues of the \214elds of the gi)-.275 F -.165(ve)-.275 G 2.775(nr).165 G .025
|
||||
(ecord; it is automati-)412.569 217.8 R(cally in)72 232.8 Q -.22(vo)-.44 G -.11
|
||||
(ke).22 G 2.75(db).11 G 2.75(yt)139.056 232.8 S(he standard)150.364 232.8 Q F2
|
||||
(describe)2.75 E F0(procedure of Elk if)2.75 E F2(describe)2.75 E F0(is in)2.75
|
||||
E -.22(vo)-.44 G -.11(ke).22 G 2.75(dw).11 G(ith a record.)425.144 232.8 Q F1
|
||||
2.75(5. Con)72 262.8 R -.11(ve)-.44 G(nience Macr).11 E(os)-.198 E F0
|
||||
(The macros described in this section are loaded by e)97 281.4 Q -.275(va)-.275
|
||||
G(luating).275 E/F3 10/Courier@0 SF(\(require 'recordutil\))100.346 303.903 Q
|
||||
F0 1.594(after ha)72 325.903 R 1.594(ving loaded the record e)-.22 F 4.343
|
||||
(xtension. This)-.165 F 1.593(causes the \214le)4.343 F F2 -.407(re)4.343 G
|
||||
(cor).407 E(dutil.scm)-.407 E F0 1.593(to be loaded and)4.343 F
|
||||
(de\214nes the feature)72 340.903 Q F2 -.407(re)2.75 G(cor).407 E(dutil)-.407 E
|
||||
F0(.)A F1(\(de\214ne-r)72 370.903 Q(ecord-type)-.198 E F2(name \214elds)4.583 E
|
||||
F1 253.177(\)s)C(yntax)477.721 370.903 Q F0 .796(This macro de\214nes a v)72
|
||||
389.503 R(ariable)-.275 E F2(<name>-r)3.547 E(ecor)-.407 E(d)-.407 E F0 3.547
|
||||
(,i)C -2.09 -.44(nv o)288.188 389.503 T -.11(ke).44 G 3.547(st).11 G .797
|
||||
(he procedure)325.186 389.503 R F2(mak)3.547 E(e-r)-.11 E(ecor)-.407 E(d-type)
|
||||
-.407 E F0 .797(with the)3.547 F(gi)72 404.503 Q -.165(ve)-.275 G(n).165 E F2
|
||||
(name)4.866 E F0(and)4.866 E F2(\214elds)4.866 E F0 4.866(,a)C 2.116
|
||||
(nd assigns the result to this v)186.031 404.503 R 4.866(ariable. In)-.275 F
|
||||
(addition,)4.866 E F2(de\214ne-r)4.866 E(ecor)-.407 E(d-type)-.407 E F0 .76
|
||||
(de\214nes a type predicate for the ne)72 419.503 R 3.51(wr)-.275 G .76
|
||||
(ecord type as)239.856 419.503 R F2(<name>\255r)3.511 E(ecor)-.407 E(d?)-.407 E
|
||||
F0 .761(and a constructor function)3.511 F(as)72 434.503 Q F2(mak)3.35 E
|
||||
(e\255<name>\255r)-.11 E(ecor)-.407 E(d)-.407 E F0 6.1(.T)C .6
|
||||
(he constructor function accepts no ar)205.222 434.503 R .599
|
||||
(guments and returns an unini-)-.198 F(tialized record of the ne)72 449.503 Q
|
||||
(wly de\214ned record type.)-.275 E(Example:)72 468.103 Q F3
|
||||
(\(require 'record\))100.346 490.606 Q(\(require 'recordutil\))100.346 504.606
|
||||
Q(\(define-record-type)100.346 525.606 Q(time \(hours minutes seconds\)\))
|
||||
112.346 539.606 Q(\(record-type? time-record\))100.346 557.806 Q/F4 10/Symbol
|
||||
SF<ae>268.346 557.806 Q/F5 10/Times-Italic@0 SF(#t)2.5 E F3
|
||||
(\(define t \(make-time-record\)\))100.346 576.006 Q(\(time-record? t\))100.346
|
||||
594.206 Q F4<ae>208.346 594.206 Q F5(#t)2.5 E F1(\(de\214ne-r)72 631.206 Q
|
||||
(ecord-accessors)-.198 E F2(rt)4.583 E F1 272.427(\)s)C(yntax)477.721 631.206 Q
|
||||
(\(de\214ne-r)72 646.206 Q(ecord-modi\214ers)-.198 E F2(rt)4.583 E F1 271.8
|
||||
(\)s)C(yntax)477.721 646.206 Q F0 2.413(The macro)72 664.806 R F2(de\214ne-r)
|
||||
5.163 E(ecor)-.407 E(d-accessor)-.407 E(s)-.11 E F0(\()5.163 E F2(de\214ne-r)A
|
||||
(ecor)-.407 E(d-modi\214er)-.407 E(s)-.11 E F0 5.163(\)d)C 2.414
|
||||
(e\214nes accessor \(modi\214er\) func-)357.774 664.806 R 2.066
|
||||
(tions for the \214elds of the record type)72 679.806 R F2(rt)4.815 E F0 7.565
|
||||
(.F)C 2.065(or each \214eld named)275.27 679.806 R F2(\214eld)4.815 E F0(,)A F2
|
||||
(de\214ne-r)4.815 E(ecor)-.407 E(d-accessor)-.407 E(s)-.11 E F0(\()72 694.806 Q
|
||||
F2(de\214ne-r)A(ecor)-.407 E(d-modi\214er)-.407 E(s)-.11 E F0 4.83(\)d)C 2.08
|
||||
(e\214nes a function)192.594 694.806 R F2(<name>\255<\214eld>)4.83 E F0(\()
|
||||
4.831 E F2(set\255<name>\255<\214eld>!)A F0 2.081(\), where)B F2(name)72
|
||||
709.806 Q F0 1.062(is the type name of the gi)3.812 F -.165(ve)-.275 G 3.812
|
||||
(nr).165 G 1.062(ecord type.)240.139 709.806 R 1.062
|
||||
(Each of the functions is the result of a call to)6.562 F F2 -.407(re)72
|
||||
724.806 S(cor).407 E(d-accessor)-.407 E F0(\()3.342 E F2 -.407(re)C(cor).407 E
|
||||
(d-modi\214er)-.407 E F0 3.342(\)a)C 3.342(sd)230.396 724.806 S .592
|
||||
(escribed abo)243.517 724.806 R -.165(ve)-.165 G 3.342(,w).165 G .592
|
||||
(ith the ar)323.483 724.806 R(guments)-.198 E F2(rt)3.342 E F0 .592
|
||||
(and the name of the)3.342 F EP
|
||||
%%Page: 5 5
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
%%EndPageSetup
|
||||
/F0 11/Times-Roman@0 SF 2.75(-5-)278.837 51 S .44 LW 77.5 57 72 57 DL 80.5 57
|
||||
75 57 DL 86 57 80.5 57 DL 91.5 57 86 57 DL 97 57 91.5 57 DL 102.5 57 97 57 DL
|
||||
108 57 102.5 57 DL 113.5 57 108 57 DL 119 57 113.5 57 DL 124.5 57 119 57 DL 130
|
||||
57 124.5 57 DL 135.5 57 130 57 DL 141 57 135.5 57 DL 146.5 57 141 57 DL 152 57
|
||||
146.5 57 DL 157.5 57 152 57 DL 163 57 157.5 57 DL 168.5 57 163 57 DL 174 57
|
||||
168.5 57 DL 179.5 57 174 57 DL 185 57 179.5 57 DL 190.5 57 185 57 DL 196 57
|
||||
190.5 57 DL 201.5 57 196 57 DL 207 57 201.5 57 DL 212.5 57 207 57 DL 218 57
|
||||
212.5 57 DL 223.5 57 218 57 DL 229 57 223.5 57 DL 234.5 57 229 57 DL 240 57
|
||||
234.5 57 DL 245.5 57 240 57 DL 251 57 245.5 57 DL 256.5 57 251 57 DL 262 57
|
||||
256.5 57 DL 267.5 57 262 57 DL 273 57 267.5 57 DL 278.5 57 273 57 DL 284 57
|
||||
278.5 57 DL 289.5 57 284 57 DL 295 57 289.5 57 DL 300.5 57 295 57 DL 306 57
|
||||
300.5 57 DL 311.5 57 306 57 DL 317 57 311.5 57 DL 322.5 57 317 57 DL 328 57
|
||||
322.5 57 DL 333.5 57 328 57 DL 339 57 333.5 57 DL 344.5 57 339 57 DL 350 57
|
||||
344.5 57 DL 355.5 57 350 57 DL 361 57 355.5 57 DL 366.5 57 361 57 DL 372 57
|
||||
366.5 57 DL 377.5 57 372 57 DL 383 57 377.5 57 DL 388.5 57 383 57 DL 394 57
|
||||
388.5 57 DL 399.5 57 394 57 DL 405 57 399.5 57 DL 410.5 57 405 57 DL 416 57
|
||||
410.5 57 DL 421.5 57 416 57 DL 427 57 421.5 57 DL 432.5 57 427 57 DL 438 57
|
||||
432.5 57 DL 443.5 57 438 57 DL 449 57 443.5 57 DL 454.5 57 449 57 DL 460 57
|
||||
454.5 57 DL 465.5 57 460 57 DL 471 57 465.5 57 DL 476.5 57 471 57 DL 482 57
|
||||
476.5 57 DL 487.5 57 482 57 DL 493 57 487.5 57 DL 498.5 57 493 57 DL 504 57
|
||||
498.5 57 DL(\214eld.)72 87 Q(Example:)72 105.6 Q/F1 10/Courier@0 SF
|
||||
(\(define-record-type time \(hours minutes seconds\)\))100.346 128.103 Q
|
||||
(\(define-record-modifiers time-record\))100.346 142.103 Q
|
||||
(\(define noon \(make-time-record\)\))100.346 160.303 Q
|
||||
(\(set-time-hours! noon 12\))100.346 174.303 Q(\(set-time-minutes! noon 0\))
|
||||
100.346 188.303 Q(\(set-time-seconds! noon 0\))100.346 202.303 Q
|
||||
(\(define-record-accessors time-record\))100.346 223.303 Q(\(time-hours noon\))
|
||||
100.346 241.503 Q/F2 10/Symbol SF<ae>214.346 241.503 Q/F3 10/Times-Italic@0 SF
|
||||
(12)2.5 E EP
|
||||
%%Page: 6 6
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
%%EndPageSetup
|
||||
/F0 11/Times-Roman@0 SF 2.75(-6-)278.837 51 S .44 LW 77.5 57 72 57 DL 80.5 57
|
||||
75 57 DL 86 57 80.5 57 DL 91.5 57 86 57 DL 97 57 91.5 57 DL 102.5 57 97 57 DL
|
||||
108 57 102.5 57 DL 113.5 57 108 57 DL 119 57 113.5 57 DL 124.5 57 119 57 DL 130
|
||||
57 124.5 57 DL 135.5 57 130 57 DL 141 57 135.5 57 DL 146.5 57 141 57 DL 152 57
|
||||
146.5 57 DL 157.5 57 152 57 DL 163 57 157.5 57 DL 168.5 57 163 57 DL 174 57
|
||||
168.5 57 DL 179.5 57 174 57 DL 185 57 179.5 57 DL 190.5 57 185 57 DL 196 57
|
||||
190.5 57 DL 201.5 57 196 57 DL 207 57 201.5 57 DL 212.5 57 207 57 DL 218 57
|
||||
212.5 57 DL 223.5 57 218 57 DL 229 57 223.5 57 DL 234.5 57 229 57 DL 240 57
|
||||
234.5 57 DL 245.5 57 240 57 DL 251 57 245.5 57 DL 256.5 57 251 57 DL 262 57
|
||||
256.5 57 DL 267.5 57 262 57 DL 273 57 267.5 57 DL 278.5 57 273 57 DL 284 57
|
||||
278.5 57 DL 289.5 57 284 57 DL 295 57 289.5 57 DL 300.5 57 295 57 DL 306 57
|
||||
300.5 57 DL 311.5 57 306 57 DL 317 57 311.5 57 DL 322.5 57 317 57 DL 328 57
|
||||
322.5 57 DL 333.5 57 328 57 DL 339 57 333.5 57 DL 344.5 57 339 57 DL 350 57
|
||||
344.5 57 DL 355.5 57 350 57 DL 361 57 355.5 57 DL 366.5 57 361 57 DL 372 57
|
||||
366.5 57 DL 377.5 57 372 57 DL 383 57 377.5 57 DL 388.5 57 383 57 DL 394 57
|
||||
388.5 57 DL 399.5 57 394 57 DL 405 57 399.5 57 DL 410.5 57 405 57 DL 416 57
|
||||
410.5 57 DL 421.5 57 416 57 DL 427 57 421.5 57 DL 432.5 57 427 57 DL 438 57
|
||||
432.5 57 DL 443.5 57 438 57 DL 449 57 443.5 57 DL 454.5 57 449 57 DL 460 57
|
||||
454.5 57 DL 465.5 57 460 57 DL 471 57 465.5 57 DL 476.5 57 471 57 DL 482 57
|
||||
476.5 57 DL 487.5 57 482 57 DL 493 57 487.5 57 DL 498.5 57 493 57 DL 504 57
|
||||
498.5 57 DL/F1 13/Times-Bold@0 SF(Index)272.108 123 Q(A)72 174 Q F0(accessor)72
|
||||
204 Q 2.75(,1)-.44 G 2.75(,4)119.817 204 S F1(C)72 234 Q F0(constructor)72 264
|
||||
Q 2.75(,1)-.44 G 2.75(,3)132.049 264 S 2.75(,4)143.049 264 S F1(D)72 294 Q F0
|
||||
(de\214ne-record-accessors,)72 324 Q/F2 12/Times-Bold@0 SF(4)2.75 E F0
|
||||
(de\214ne-record-modi\214ers,)72 339 Q F2(4)2.75 E F0(de\214ne-record-type,)72
|
||||
354 Q F2(4)2.75 E F0(describe, 3, 4)72 369 Q(describe-record,)72 384 Q F2(4)
|
||||
2.75 E F0(describe-record-type,)72 399 Q F2(3)2.75 E F1(F)72 429 Q F0
|
||||
(feature, 1, 4)72 459 Q(\214eld names, 2)72 474 Q(\214eld, 3)72 489 Q
|
||||
(\214elds, 1, 2, 3, 4)72 504 Q F1(I)72 534 Q F0(initial v)72 564 Q(alue, 2)
|
||||
-.275 E(instances, 1, 2)72 579 Q F1(M)72 609 Q F0(macros, 1, 4)72 639 Q(mak)72
|
||||
654 Q(e-record-type,)-.11 E F2(1)2.75 E F0 2.75(,2)C 2.75(,3)172.578 654 S 2.75
|
||||
(,4)183.578 654 S(modi\214er)302.4 174 Q 2.75(,1)-.44 G 2.75(,4)350.239 174 S
|
||||
F1(R)302.4 204 Q F0(record data type, 1)302.4 234 Q(record type, 1, 3)302.4 249
|
||||
Q(record, 1)302.4 264 Q(constructor)310.65 279 Q 2.75(,2)-.44 G
|
||||
(record-accessor)302.4 294 Q(,)-.44 E F2(3)2.75 E F0 2.75(,4)C
|
||||
(record-constructor)302.4 309 Q(,)-.44 E F2(2)2.75 E F0 2.75(,3)C
|
||||
(record-modi\214er)302.4 324 Q(,)-.44 E F2(3)2.75 E F0 2.75(,4)C
|
||||
(record-predicate,)302.4 339 Q F2(2)2.75 E F0(record-type-descriptor)302.4 354
|
||||
Q(,)-.44 E F2(3)2.75 E F0(record-type-\214eld-names,)302.4 369 Q F2(2)2.75 E F0
|
||||
(record-type-name,)302.4 384 Q F2(2)2.75 E F0(record-type?,)302.4 399 Q F2(2)
|
||||
2.75 E F0(record-v)302.4 414 Q(alues,)-.275 E F2(4)2.75 E F0(record.o, 1)302.4
|
||||
429 Q(record.scm, 1)302.4 444 Q(record?,)302.4 459 Q F2(3)2.75 E F0
|
||||
(recordutil, 4)302.4 474 Q(recordutil.scm, 4)302.4 489 Q F1(S)302.4 519 Q F0
|
||||
(structures, 1)302.4 549 Q F1(T)302.4 579 Q F0(type name, 2)302.4 609 Q
|
||||
(type predicate, 1, 2, 3, 4)302.4 624 Q F1(V)302.4 654 Q F0 -.165(ve)302.4 684
|
||||
S(ctor).165 E 2.75(,4)-.44 G EP
|
||||
%%Page: 7 7
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
%%EndPageSetup
|
||||
/F0 13/Times-Bold@0 SF -1.196(Ta)239.127 123 S(ble of Contents)1.196 E/F1 11
|
||||
/Times-Roman@0 SF .866(Introduction ..........................................\
|
||||
..............................................................................\
|
||||
......)72 177.6 R(1)498.5 177.6 Q(Using the Record Extension)72 196.2 Q 19.25(\
|
||||
..............................................................................\
|
||||
....................... 1)3.011 F(Record T)72 214.8 Q .228(ypes ..............\
|
||||
..............................................................................\
|
||||
................................)-.88 F(1)498.5 214.8 Q 2.703(Records ........\
|
||||
..............................................................................\
|
||||
..............................................)72 233.4 R(3)498.5 233.4 Q(Con)
|
||||
72 252 Q -.165(ve)-.44 G(nience Macros).165 E 19.25(..........................\
|
||||
..............................................................................\
|
||||
........ 4)3.935 F(Inde)72 270.6 Q 2.868(x.)-.165 G 19.25(....................\
|
||||
..............................................................................\
|
||||
...................................... 6)102.5 270.6 R EP
|
||||
%%Trailer
|
||||
end
|
||||
%%EOF
|
|
@ -1 +1,31 @@
|
|||
EXTRA_DIST = regexp.ms regexp.ps
|
||||
EXTRA_DIST = regexp.ms
|
||||
|
||||
if HAVE_GROFF
|
||||
doc_DATA = regexp.ps
|
||||
docdir = $(datadir)/doc/@PACKAGE@
|
||||
endif
|
||||
|
||||
MANUAL= regexp
|
||||
TROFF= groff -ms -t
|
||||
UNROFF= unroff -ms
|
||||
|
||||
regexp.ps: regexp.ms index.ms
|
||||
(cat regexp.ms ../util/tmac.index index.ms; echo ".Tc")\
|
||||
| $(TROFF) 2> /dev/null > regexp.ps
|
||||
|
||||
regexp.html: regexp.ms
|
||||
(cat $?; echo ".Tc") | $(UNROFF) document=regexp
|
||||
|
||||
index.ms: regexp.ms index.raw
|
||||
sort -f -t'#' +1 -3 +0n index.raw | awk -f ../util/fixindex.awk\
|
||||
| awk -f ../util/block.awk >index.ms
|
||||
|
||||
index.raw: regexp.ms
|
||||
$(TROFF) regexp.ms 2> index.raw >/dev/null
|
||||
|
||||
check:
|
||||
checknr -c.Ul.Pr.Sy.Va.Sh.Ix.Id.Ch -a.Ss.Se.[[.]] regexp.ms |\
|
||||
grep -v "Empty command"
|
||||
|
||||
clean:
|
||||
rm -f index.raw index.ms regexp.ps regexp.html
|
||||
|
|
|
@ -1,460 +0,0 @@
|
|||
%!PS-Adobe-3.0
|
||||
%%Creator: groff version 1.08
|
||||
%%DocumentNeededResources: font Times-Bold
|
||||
%%+ font Times-Italic
|
||||
%%+ font Times-Roman
|
||||
%%+ font Courier
|
||||
%%DocumentSuppliedResources: procset grops 1.08 0
|
||||
%%Pages: 5
|
||||
%%PageOrder: Ascend
|
||||
%%Orientation: Portrait
|
||||
%%EndComments
|
||||
%%BeginProlog
|
||||
%%BeginResource: procset grops 1.08 0
|
||||
/setpacking where{
|
||||
pop
|
||||
currentpacking
|
||||
true setpacking
|
||||
}if
|
||||
/grops 120 dict dup begin
|
||||
/SC 32 def
|
||||
/A/show load def
|
||||
/B{0 SC 3 -1 roll widthshow}bind def
|
||||
/C{0 exch ashow}bind def
|
||||
/D{0 exch 0 SC 5 2 roll awidthshow}bind def
|
||||
/E{0 rmoveto show}bind def
|
||||
/F{0 rmoveto 0 SC 3 -1 roll widthshow}bind def
|
||||
/G{0 rmoveto 0 exch ashow}bind def
|
||||
/H{0 rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
|
||||
/I{0 exch rmoveto show}bind def
|
||||
/J{0 exch rmoveto 0 SC 3 -1 roll widthshow}bind def
|
||||
/K{0 exch rmoveto 0 exch ashow}bind def
|
||||
/L{0 exch rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
|
||||
/M{rmoveto show}bind def
|
||||
/N{rmoveto 0 SC 3 -1 roll widthshow}bind def
|
||||
/O{rmoveto 0 exch ashow}bind def
|
||||
/P{rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
|
||||
/Q{moveto show}bind def
|
||||
/R{moveto 0 SC 3 -1 roll widthshow}bind def
|
||||
/S{moveto 0 exch ashow}bind def
|
||||
/T{moveto 0 exch 0 SC 5 2 roll awidthshow}bind def
|
||||
/SF{
|
||||
findfont exch
|
||||
[exch dup 0 exch 0 exch neg 0 0]makefont
|
||||
dup setfont
|
||||
[exch/setfont cvx]cvx bind def
|
||||
}bind def
|
||||
/MF{
|
||||
findfont
|
||||
[5 2 roll
|
||||
0 3 1 roll
|
||||
neg 0 0]makefont
|
||||
dup setfont
|
||||
[exch/setfont cvx]cvx bind def
|
||||
}bind def
|
||||
/level0 0 def
|
||||
/RES 0 def
|
||||
/PL 0 def
|
||||
/LS 0 def
|
||||
/PLG{
|
||||
gsave newpath clippath pathbbox grestore
|
||||
exch pop add exch pop
|
||||
}bind def
|
||||
/BP{
|
||||
/level0 save def
|
||||
1 setlinecap
|
||||
1 setlinejoin
|
||||
72 RES div dup scale
|
||||
LS{
|
||||
90 rotate
|
||||
}{
|
||||
0 PL translate
|
||||
}ifelse
|
||||
1 -1 scale
|
||||
}bind def
|
||||
/EP{
|
||||
level0 restore
|
||||
showpage
|
||||
}bind def
|
||||
/DA{
|
||||
newpath arcn stroke
|
||||
}bind def
|
||||
/SN{
|
||||
transform
|
||||
.25 sub exch .25 sub exch
|
||||
round .25 add exch round .25 add exch
|
||||
itransform
|
||||
}bind def
|
||||
/DL{
|
||||
SN
|
||||
moveto
|
||||
SN
|
||||
lineto stroke
|
||||
}bind def
|
||||
/DC{
|
||||
newpath 0 360 arc closepath
|
||||
}bind def
|
||||
/TM matrix def
|
||||
/DE{
|
||||
TM currentmatrix pop
|
||||
translate scale newpath 0 0 .5 0 360 arc closepath
|
||||
TM setmatrix
|
||||
}bind def
|
||||
/RC/rcurveto load def
|
||||
/RL/rlineto load def
|
||||
/ST/stroke load def
|
||||
/MT/moveto load def
|
||||
/CL/closepath load def
|
||||
/FL{
|
||||
currentgray exch setgray fill setgray
|
||||
}bind def
|
||||
/BL/fill load def
|
||||
/LW/setlinewidth load def
|
||||
/RE{
|
||||
findfont
|
||||
dup maxlength 1 index/FontName known not{1 add}if dict begin
|
||||
{
|
||||
1 index/FID ne{def}{pop pop}ifelse
|
||||
}forall
|
||||
/Encoding exch def
|
||||
dup/FontName exch def
|
||||
currentdict end definefont pop
|
||||
}bind def
|
||||
/DEFS 0 def
|
||||
/EBEGIN{
|
||||
moveto
|
||||
DEFS begin
|
||||
}bind def
|
||||
/EEND/end load def
|
||||
/CNT 0 def
|
||||
/level1 0 def
|
||||
/PBEGIN{
|
||||
/level1 save def
|
||||
translate
|
||||
div 3 1 roll div exch scale
|
||||
neg exch neg exch translate
|
||||
0 setgray
|
||||
0 setlinecap
|
||||
1 setlinewidth
|
||||
0 setlinejoin
|
||||
10 setmiterlimit
|
||||
[]0 setdash
|
||||
/setstrokeadjust where{
|
||||
pop
|
||||
false setstrokeadjust
|
||||
}if
|
||||
/setoverprint where{
|
||||
pop
|
||||
false setoverprint
|
||||
}if
|
||||
newpath
|
||||
/CNT countdictstack def
|
||||
userdict begin
|
||||
/showpage{}def
|
||||
}bind def
|
||||
/PEND{
|
||||
clear
|
||||
countdictstack CNT sub{end}repeat
|
||||
level1 restore
|
||||
}bind def
|
||||
end def
|
||||
/setpacking where{
|
||||
pop
|
||||
setpacking
|
||||
}if
|
||||
%%EndResource
|
||||
%%IncludeResource: font Times-Bold
|
||||
%%IncludeResource: font Times-Italic
|
||||
%%IncludeResource: font Times-Roman
|
||||
%%IncludeResource: font Courier
|
||||
grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72 def/PL
|
||||
841.89 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron/Zcaron/scaron
|
||||
/zcaron/Ydieresis/trademark/quotesingle/.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/quoteright/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/circumflex/underscore/quoteleft/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/tilde/.notdef/quotesinglbase
|
||||
/guillemotleft/guillemotright/bullet/florin/fraction/perthousand/dagger
|
||||
/daggerdbl/endash/emdash/ff/fi/fl/ffi/ffl/dotlessi/dotlessj/grave/hungarumlaut
|
||||
/dotaccent/breve/caron/ring/ogonek/quotedblleft/quotedblright/oe/lslash
|
||||
/quotedblbase/OE/Lslash/.notdef/exclamdown/cent/sterling/currency/yen/brokenbar
|
||||
/section/dieresis/copyright/ordfeminine/guilsinglleft/logicalnot/minus
|
||||
/registered/macron/degree/plusminus/twosuperior/threesuperior/acute/mu
|
||||
/paragraph/periodcentered/cedilla/onesuperior/ordmasculine/guilsinglright
|
||||
/onequarter/onehalf/threequarters/questiondown/Agrave/Aacute/Acircumflex/Atilde
|
||||
/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute
|
||||
/Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis
|
||||
/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls
|
||||
/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla/egrave/eacute
|
||||
/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis/eth/ntilde/ograve
|
||||
/oacute/ocircumflex/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex
|
||||
/udieresis/yacute/thorn/ydieresis]def/Courier@0 ENC0/Courier RE/Times-Roman@0
|
||||
ENC0/Times-Roman RE/Times-Italic@0 ENC0/Times-Italic RE/Times-Bold@0 ENC0
|
||||
/Times-Bold RE
|
||||
%%EndProlog
|
||||
%%Page: 1 1
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
%%EndPageSetup
|
||||
/F0 12/Times-Bold@0 SF(Refer)222.444 120 Q(ence Manual f)-.216 E(or the)-.3 E
|
||||
(Elk Regular Expr)200.262 138 Q(ession Extension)-.216 E/F1 10/Times-Italic@0
|
||||
SF(Oliver Laumann)255.085 162 Q/F2 11/Times-Bold@0 SF 2.75(1. Intr)72 234 R
|
||||
(oduction)-.198 E/F3 11/Times-Roman@0 SF .65(The re)97 252.6 R .65(gular e)
|
||||
-.165 F .65(xpression e)-.165 F .65
|
||||
(xtension de\214nes Scheme language bindings for the POSIX re)-.165 F(gular)
|
||||
-.165 E -.165(ex)72 267.6 S .086(pression functions that are pro).165 F .087
|
||||
(vided by most modern UNIX v)-.165 F .087(ersions \()-.165 F/F4 11
|
||||
/Times-Italic@0 SF -.407(re)C(gcomp\(\))-.033 E F3(and)2.837 E F4 -.407(re)
|
||||
2.837 G -.11(ge)-.033 G(xec\(\))-.11 E F3(\).)A -1.21(Yo)72 282.6 S 3.014(um)
|
||||
1.21 G .263(ay w)101.304 282.6 R .263(ant to refer to your UNIX system')-.11 F
|
||||
(s)-.605 E F4 -.407(re)3.013 G(gcomp\(3\))-.033 E F3 .263(manual for details.)
|
||||
3.013 F .263(The Scheme inter)5.763 F(-)-.22 E -.11(fa)72 297.6 S 1.35
|
||||
(ce to the re).11 F 1.35(gular e)-.165 F 1.35(xpression functions mak)-.165 F
|
||||
1.351(es the entire functionality of the usual C language)-.11 F(interf)72
|
||||
312.6 Q .24(ace a)-.11 F -.275(va)-.22 G .24(ilable to the Scheme programmer)
|
||||
.275 F 5.74(.T)-.605 G 2.99(ol)289.458 312.6 S .24(oad the re)301.006 312.6 R
|
||||
.24(gular e)-.165 F .24(xpression e)-.165 F .239(xtension, e)-.165 F -.275(va)
|
||||
-.275 G(luate).275 E(the e)72 327.6 Q(xpression)-.165 E/F5 10/Courier@0 SF
|
||||
(\(require 'regexp\))100.346 350.103 Q F3 2.251(This causes the \214les)97
|
||||
375.703 R F4 -.407(re)5.001 G -.11(ge)-.033 G(xp.scm)-.11 E F3(and)5.001 E F4
|
||||
-.407(re)5.002 G -.11(ge)-.033 G(xp.o)-.11 E F3 2.252(to be loaded \()5.002 F
|
||||
F4 -.407(re)C -.11(ge)-.033 G(xp.o)-.11 E F3 2.252(must be statically)5.002 F
|
||||
(link)72 390.703 Q(ed with the interpreter on platforms that do not support dy\
|
||||
namic loading of object \214les\).)-.11 E 1.246(Loading the e)97 409.303 R
|
||||
1.246(xtension pro)-.165 F 1.246(vides the features)-.165 F F4 -.407(re)3.996 G
|
||||
-.11(ge)-.033 G(xp)-.11 E F3(and)3.996 E F4 -.407(re)3.995 G -.11(ge)-.033 G
|
||||
(xp.o)-.11 E F3 6.745(.O)C 3.995(ns)406.125 409.303 S 1.245(ystems that do not)
|
||||
419.899 409.303 R 1.384(support the re)72 424.303 R 1.385(gular e)-.165 F 1.385
|
||||
(xpression library functions, loading the e)-.165 F 1.385(xtension succeeds, b)
|
||||
-.165 F 1.385(ut no further)-.22 F(primiti)72 439.303 Q -.165(ve)-.275 G 3.725
|
||||
(so).165 G 3.725(rf)125.401 439.303 S .975(eatures are de\214ned.)136.452
|
||||
439.303 R .975(Otherwise, the additional feature)6.475 F F4(:r)3.724 E -.44(eg)
|
||||
-.407 G(ular).44 E(-e)-.22 E(xpr)-.22 E(essions)-.407 E F3 .974(is pro-)3.724 F
|
||||
(vided, so that the e)72 454.303 Q(xpression)-.165 E F5
|
||||
(\(feature? ':regular-expressions\))100.346 476.806 Q F3 .649
|
||||
(can be used in Scheme programs to check whether re)72 498.806 R .65(gular e)
|
||||
-.165 F .65(xpressions are a)-.165 F -.275(va)-.22 G .65(ilable on the local)
|
||||
.275 F(platform.)72 513.806 Q F2 2.75(2. Cr)72 543.806 R(eating Regular Expr)
|
||||
-.198 E(essions)-.198 E(\(mak)72 573.806 Q(e-r)-.11 E(egexp)-.198 E F4(pattern)
|
||||
4.583 E F2 279.654(\)p)C -.198(ro)462.244 573.806 S(cedur).198 E(e)-.198 E
|
||||
(\(mak)72 588.806 Q(e-r)-.11 E(egexp)-.198 E F4(pattern \215a)4.583 E(gs)-.11 E
|
||||
F2 256.235(\)p)C -.198(ro)462.244 588.806 S(cedur).198 E(e)-.198 E F4(mak)72
|
||||
607.406 Q(e-r)-.11 E -1.98 -.44(eg e)-.407 H(xp).22 E F3 .312
|
||||
(returns an object of the ne)3.062 F 3.062(wS)-.275 G .312(cheme type)263.538
|
||||
607.406 R F4 -.407(re)3.062 G -.11(ge)-.033 G(xp)-.11 E F3 .312
|
||||
(representing the re)3.062 F .312(gular e)-.165 F(xpression)-.165 E 1.806
|
||||
(speci\214ed by the string ar)72 622.406 R(gument)-.198 E F4(pattern)4.556 E F3
|
||||
7.306(.A)C 4.556(ne)274.511 622.406 S 1.807
|
||||
(rror is signaled if the underlying call to the C)289.451 622.406 R 1.494
|
||||
(library function)72 637.406 R F4 -.407(re)4.243 G(gcomp\(3\))-.033 E F3 -.11
|
||||
(fa)4.243 G 4.243(ils. The).11 F(optional)4.243 E F4<8d61>4.243 E(gs)-.11 E F3
|
||||
(ar)4.243 E 1.493(gument is a list of zero or more of the)-.198 F(symbols)72
|
||||
652.406 Q F4 -.22(ex)4.907 G 2.157(tended, ignor).22 F(e-case)-.407 E 4.907(,n)
|
||||
-.11 G(o-sube)224.683 652.406 Q(xpr)-.22 E(,)-1.221 E F3(and)4.908 E F4(ne)
|
||||
4.908 E(wline)-.165 E F3 4.908(;t)C 2.158(hese correspond to the C constants)
|
||||
340.761 652.406 R F1(REG_EXTENDED, REG_ICASE, REG_NOSUB,)72 667.406 Q F3(and)
|
||||
2.75 E F1(REG_NEWLINE)2.75 E F3(.)A -1.1 -.88(Tw o)97 686.006 T 1.085
|
||||
(objects of the type)4.716 F F4 -.407(re)3.835 G -.11(ge)-.033 G(xp)-.11 E F3
|
||||
1.085(are equal in the sense of)3.835 F F4(equal?)3.835 E F3 1.085
|
||||
(if their \215ags are identical)3.835 F .811
|
||||
(and if their patterns are equal in the sense of)72 701.006 R F4(string=?)3.561
|
||||
E F3 6.311(.T)C 1.031 -.11(wo r)330.951 701.006 T -.165(eg).11 G .811(ular e)
|
||||
.165 F .812(xpressions are)-.165 F F4(eq?)3.562 E F3 .812(if their)3.562 F
|
||||
(\215ags are identical and if the)72 716.006 Q 2.75(ys)-.165 G
|
||||
(hare the same pattern string.)206.255 716.006 Q EP
|
||||
%%Page: 2 2
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
%%EndPageSetup
|
||||
/F0 11/Times-Roman@0 SF 2.75(-2-)278.837 51 S .44 LW 77.5 57 72 57 DL 80.5 57
|
||||
75 57 DL 86 57 80.5 57 DL 91.5 57 86 57 DL 97 57 91.5 57 DL 102.5 57 97 57 DL
|
||||
108 57 102.5 57 DL 113.5 57 108 57 DL 119 57 113.5 57 DL 124.5 57 119 57 DL 130
|
||||
57 124.5 57 DL 135.5 57 130 57 DL 141 57 135.5 57 DL 146.5 57 141 57 DL 152 57
|
||||
146.5 57 DL 157.5 57 152 57 DL 163 57 157.5 57 DL 168.5 57 163 57 DL 174 57
|
||||
168.5 57 DL 179.5 57 174 57 DL 185 57 179.5 57 DL 190.5 57 185 57 DL 196 57
|
||||
190.5 57 DL 201.5 57 196 57 DL 207 57 201.5 57 DL 212.5 57 207 57 DL 218 57
|
||||
212.5 57 DL 223.5 57 218 57 DL 229 57 223.5 57 DL 234.5 57 229 57 DL 240 57
|
||||
234.5 57 DL 245.5 57 240 57 DL 251 57 245.5 57 DL 256.5 57 251 57 DL 262 57
|
||||
256.5 57 DL 267.5 57 262 57 DL 273 57 267.5 57 DL 278.5 57 273 57 DL 284 57
|
||||
278.5 57 DL 289.5 57 284 57 DL 295 57 289.5 57 DL 300.5 57 295 57 DL 306 57
|
||||
300.5 57 DL 311.5 57 306 57 DL 317 57 311.5 57 DL 322.5 57 317 57 DL 328 57
|
||||
322.5 57 DL 333.5 57 328 57 DL 339 57 333.5 57 DL 344.5 57 339 57 DL 350 57
|
||||
344.5 57 DL 355.5 57 350 57 DL 361 57 355.5 57 DL 366.5 57 361 57 DL 372 57
|
||||
366.5 57 DL 377.5 57 372 57 DL 383 57 377.5 57 DL 388.5 57 383 57 DL 394 57
|
||||
388.5 57 DL 399.5 57 394 57 DL 405 57 399.5 57 DL 410.5 57 405 57 DL 416 57
|
||||
410.5 57 DL 421.5 57 416 57 DL 427 57 421.5 57 DL 432.5 57 427 57 DL 438 57
|
||||
432.5 57 DL 443.5 57 438 57 DL 449 57 443.5 57 DL 454.5 57 449 57 DL 460 57
|
||||
454.5 57 DL 465.5 57 460 57 DL 471 57 465.5 57 DL 476.5 57 471 57 DL 482 57
|
||||
476.5 57 DL 487.5 57 482 57 DL 493 57 487.5 57 DL 498.5 57 493 57 DL 504 57
|
||||
498.5 57 DL/F1 11/Times-Bold@0 SF(\(r)72 87 Q(egexp?)-.198 E/F2 11
|
||||
/Times-Italic@0 SF(obj)4.583 E F1 321.091(\)p)C -.198(ro)462.244 87 S(cedur)
|
||||
.198 E(e)-.198 E F0(This type predicate returns #t if)72 105.6 Q F2(obj)2.75 E
|
||||
F0(is a re)2.75 E(gular e)-.165 E(xpression, #f otherwise.)-.165 E F1(\(r)72
|
||||
135.6 Q(egexp-patter)-.198 E(n)-.165 E F2 -.407(re)4.583 G -.11(ge)-.033 G(xp)
|
||||
-.11 E F1 273.571(\)p)C -.198(ro)462.244 135.6 S(cedur).198 E(e)-.198 E(\(r)72
|
||||
150.6 Q(egexp-\215ags)-.198 E F2 -.407(re)4.583 G -.11(ge)-.033 G(xp)-.11 E F1
|
||||
286.837(\)p)C -.198(ro)462.244 150.6 S(cedur).198 E(e)-.198 E F0 .179
|
||||
(These primiti)72 169.2 R -.165(ve)-.275 G 2.929(sr).165 G .179
|
||||
(eturn the pattern \(or \215ags, respecti)151.965 169.2 R -.165(ve)-.275 G .179
|
||||
(ly\) speci\214ed in the call to).165 F F2(mak)2.929 E(e-r)-.11 E -1.98 -.44
|
||||
(eg e)-.407 H(xp).22 E F0(that)2.928 E(has created the re)72 184.2 Q(gular e)
|
||||
-.165 E(xpression object.)-.165 E F1 2.75(3. Matching)72 214.2 R(Regular Expr)
|
||||
2.75 E(essions)-.198 E(\(r)72 244.2 Q(egexp-exec)-.198 E F2 -.407(re)4.583 G
|
||||
-.11(ge)-.033 G(xp string of)-.11 E(fset)-.198 E F1 233.267(\)p)C -.198(ro)
|
||||
462.244 244.2 S(cedur).198 E(e)-.198 E(\(r)72 259.2 Q(egexp-exec)-.198 E F2
|
||||
-.407(re)4.583 G -.11(ge)-.033 G(xp string of)-.11 E(fset \215a)-.198 E(gs)-.11
|
||||
E F1 209.848(\)p)C -.198(ro)462.244 259.2 S(cedur).198 E(e)-.198 E F0 .27
|
||||
(This primiti)72 277.8 R .6 -.165(ve a)-.275 H .27(pplies the speci\214ed re)
|
||||
.165 F .27(gular e)-.165 F .27(xpression to the gi)-.165 F -.165(ve)-.275 G
|
||||
3.021(ns).165 G .271(tring starting at the gi)373.516 277.8 R -.165(ve)-.275 G
|
||||
3.021(no).165 G -.275(ff)493.286 277.8 S(-).275 E(set.)72 292.8 Q F2(of)6.064 E
|
||||
(fset)-.198 E F0 .563(is an inte)3.313 F .563(ger lar)-.165 F .563
|
||||
(ger than or equal to zero and less than or equal to the length of)-.198 F F2
|
||||
(string)3.313 E F0(.)A .149(If the match succeeds,)72 307.8 R F2 -.407(re)2.9 G
|
||||
-.11(ge)-.033 G(xp-e)-.11 E(xec)-.22 E F0 .15(returns an object of the ne)2.9 F
|
||||
2.9(wS)-.275 G .15(cheme type)359.714 307.8 R F2 -.407(re)2.9 G -.11(ge)-.033 G
|
||||
(xp-matc)-.11 E(h)-.165 E F0 2.9(,o)C(ther)483.452 307.8 Q(-)-.22 E .492
|
||||
(wise #f.)72 322.8 R .492(The optional)5.992 F F2<8d61>3.242 E(gs)-.11 E F0(ar)
|
||||
3.242 E .492(gument is a list of zero or more of the symbols)-.198 F F2
|
||||
(not-bol)3.241 E F0(and)3.241 E F2(not-eol)3.241 E F0
|
||||
(which correspond to the constants)72 337.8 Q/F3 10/Times-Italic@0 SF(REG_NO)
|
||||
2.75 E(TBOL)-.4 E F0(and)2.75 E F3(NO)2.75 E(T_EOL)-.4 E F0
|
||||
(in the C language interf)2.75 E(ace.)-.11 E F1(\(r)72 367.8 Q(egexp-match?)
|
||||
-.198 E F2(obj)4.583 E F1 288.102(\)p)C -.198(ro)462.244 367.8 S(cedur).198 E
|
||||
(e)-.198 E F0 1.07(This type predicate returns #t if)72 386.4 R F2(obj)3.82 E
|
||||
F0 1.07(is a re)3.82 F 1.071(gular e)-.165 F 1.071
|
||||
(xpression match \(that is, the return v)-.165 F 1.071(alue of a)-.275 F
|
||||
(successful call to)72 401.4 Q F2 -.407(re)2.75 G -.11(ge)-.033 G(xp-matc)-.11
|
||||
E(h)-.165 E F0(\), #f otherwise.)A F1(\(r)72 431.4 Q(egexp-match-number)-.198 E
|
||||
F2(matc)4.583 E(h)-.165 E F1 239.999(\)p)C -.198(ro)462.244 431.4 S(cedur).198
|
||||
E(e)-.198 E F0 1.425(This primiti)72 450 R 1.755 -.165(ve r)-.275 H 1.424
|
||||
(eturns the number of substrings that matched parenthetic sube).165 F 1.424
|
||||
(xpressions in the)-.165 F .159(original pattern when the gi)72 465 R -.165(ve)
|
||||
-.275 G 2.909(nm).165 G .16(atch w)221.141 465 R .16
|
||||
(as created, plus one \(the \214rst substring corresponds to the)-.11 F .407
|
||||
(entire re)72 480 R .407(gular e)-.165 F .407(xpression rather than a sube)
|
||||
-.165 F .407(xpression; see)-.165 F F2 -.407(re)3.157 G -.11(ge)-.033 G
|
||||
(xec\(3\))-.11 E F0 .407(for details\).)3.157 F 3.156(Av)5.907 G .406
|
||||
(alue of zero)451.268 480 R 1.2
|
||||
(is returned if the match has been created by applying a re)72 495 R 1.201
|
||||
(gular e)-.165 F 1.201(xpression with the)-.165 F F2(no-sube)3.951 E(xpr)-.22 E
|
||||
F0(\215ag set.)72 510 Q F1(\(r)72 540 Q(egexp-match-start)-.198 E F2(matc)4.583
|
||||
E 2.75(hn)-.165 G(umber)205.426 540 Q F1 218.934(\)p)C -.198(ro)462.244 540 S
|
||||
(cedur).198 E(e)-.198 E(\(r)72 555 Q(egexp-match-end)-.198 E F2(matc)4.583 E
|
||||
2.75(hn)-.165 G(umber)200.553 555 Q F1 223.807(\)p)C -.198(ro)462.244 555 S
|
||||
(cedur).198 E(e)-.198 E F0 .138(These primiti)72 573.6 R -.165(ve)-.275 G 2.888
|
||||
(sr).165 G .138(eturn the start of)151.883 573.6 R .138(fset \(or end of)-.275
|
||||
F .138(fset, respecti)-.275 F -.165(ve)-.275 G .137
|
||||
(ly\) of the substring denoted by the).165 F(inte)72 588.6 Q(ger)-.165 E F2
|
||||
(number)3.869 E F0 6.619(.A)C F2(number)161.036 588.6 Q F0(ar)3.869 E 1.12
|
||||
(gument of zero refers to the substring corresponding to the entire)-.198 F
|
||||
5.654(pattern. The)72 603.6 R(of)5.654 E 2.904(fsets returned by these primiti)
|
||||
-.275 F -.165(ve)-.275 G 5.654(sc).165 G 2.904(an be directly used as ar)
|
||||
313.098 603.6 R 2.903(guments to the)-.198 F F2(substring)72 618.6 Q F0
|
||||
(primiti)2.75 E .33 -.165(ve o)-.275 H 2.75(fE).165 G(lk.)176.984 618.6 Q EP
|
||||
%%Page: 3 3
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
%%EndPageSetup
|
||||
/F0 11/Times-Roman@0 SF 2.75(-3-)278.837 51 S .44 LW 77.5 57 72 57 DL 80.5 57
|
||||
75 57 DL 86 57 80.5 57 DL 91.5 57 86 57 DL 97 57 91.5 57 DL 102.5 57 97 57 DL
|
||||
108 57 102.5 57 DL 113.5 57 108 57 DL 119 57 113.5 57 DL 124.5 57 119 57 DL 130
|
||||
57 124.5 57 DL 135.5 57 130 57 DL 141 57 135.5 57 DL 146.5 57 141 57 DL 152 57
|
||||
146.5 57 DL 157.5 57 152 57 DL 163 57 157.5 57 DL 168.5 57 163 57 DL 174 57
|
||||
168.5 57 DL 179.5 57 174 57 DL 185 57 179.5 57 DL 190.5 57 185 57 DL 196 57
|
||||
190.5 57 DL 201.5 57 196 57 DL 207 57 201.5 57 DL 212.5 57 207 57 DL 218 57
|
||||
212.5 57 DL 223.5 57 218 57 DL 229 57 223.5 57 DL 234.5 57 229 57 DL 240 57
|
||||
234.5 57 DL 245.5 57 240 57 DL 251 57 245.5 57 DL 256.5 57 251 57 DL 262 57
|
||||
256.5 57 DL 267.5 57 262 57 DL 273 57 267.5 57 DL 278.5 57 273 57 DL 284 57
|
||||
278.5 57 DL 289.5 57 284 57 DL 295 57 289.5 57 DL 300.5 57 295 57 DL 306 57
|
||||
300.5 57 DL 311.5 57 306 57 DL 317 57 311.5 57 DL 322.5 57 317 57 DL 328 57
|
||||
322.5 57 DL 333.5 57 328 57 DL 339 57 333.5 57 DL 344.5 57 339 57 DL 350 57
|
||||
344.5 57 DL 355.5 57 350 57 DL 361 57 355.5 57 DL 366.5 57 361 57 DL 372 57
|
||||
366.5 57 DL 377.5 57 372 57 DL 383 57 377.5 57 DL 388.5 57 383 57 DL 394 57
|
||||
388.5 57 DL 399.5 57 394 57 DL 405 57 399.5 57 DL 410.5 57 405 57 DL 416 57
|
||||
410.5 57 DL 421.5 57 416 57 DL 427 57 421.5 57 DL 432.5 57 427 57 DL 438 57
|
||||
432.5 57 DL 443.5 57 438 57 DL 449 57 443.5 57 DL 454.5 57 449 57 DL 460 57
|
||||
454.5 57 DL 465.5 57 460 57 DL 471 57 465.5 57 DL 476.5 57 471 57 DL 482 57
|
||||
476.5 57 DL 487.5 57 482 57 DL 493 57 487.5 57 DL 498.5 57 493 57 DL 504 57
|
||||
498.5 57 DL/F1 11/Times-Bold@0 SF 2.75(4. Example)72 102 R F0 .398(The follo)97
|
||||
120.6 R .399(wing program demonstrates a simple Scheme procedure)-.275 F/F2 11
|
||||
/Times-Italic@0 SF(matc)3.149 E(hes)-.165 E F0 .399(that returns a list)3.149 F
|
||||
.045(of substrings of a gi)72 135.6 R -.165(ve)-.275 G 2.795(ns).165 G .045
|
||||
(tring that match a gi)182.082 135.6 R -.165(ve)-.275 G 2.794(np).165 G 2.794
|
||||
(attern. An)294.604 135.6 R .044(error message is displayed if re)2.794 F
|
||||
(gular)-.165 E -.165(ex)72 149.6 S
|
||||
(pressions are not supported by the local platform.).165 E/F3 10/Courier@0 SF
|
||||
(\(require 'regexp\))72 172.103 Q(\(define \(matches str pat\))72 191.703 Q(\(\
|
||||
let loop \(\(r \(make-regexp pat '\(extended\)\)\) \(result '\(\)\) \(from 0\)\
|
||||
\))84 205.703 Q(\(let \(\(m \(regexp-exec r str from\)\)\))114 219.703 Q
|
||||
(\(if \(regexp-match? m\))126 233.703 Q
|
||||
(\(loop r \(cons \(substring str \(+ from \(regexp-match-start m 0\)\))150
|
||||
247.703 Q(\(+ from \(regexp-match-end m 0\)\)\))324 261.703 Q(result\))234
|
||||
275.703 Q(\(+ from \(regexp-match-end m 0\)\)\))186 289.703 Q
|
||||
(\(reverse result\)\)\)\)\))150 303.703 Q EP
|
||||
%%Page: 4 4
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
%%EndPageSetup
|
||||
/F0 11/Times-Roman@0 SF 2.75(-4-)278.837 51 S .44 LW 77.5 57 72 57 DL 80.5 57
|
||||
75 57 DL 86 57 80.5 57 DL 91.5 57 86 57 DL 97 57 91.5 57 DL 102.5 57 97 57 DL
|
||||
108 57 102.5 57 DL 113.5 57 108 57 DL 119 57 113.5 57 DL 124.5 57 119 57 DL 130
|
||||
57 124.5 57 DL 135.5 57 130 57 DL 141 57 135.5 57 DL 146.5 57 141 57 DL 152 57
|
||||
146.5 57 DL 157.5 57 152 57 DL 163 57 157.5 57 DL 168.5 57 163 57 DL 174 57
|
||||
168.5 57 DL 179.5 57 174 57 DL 185 57 179.5 57 DL 190.5 57 185 57 DL 196 57
|
||||
190.5 57 DL 201.5 57 196 57 DL 207 57 201.5 57 DL 212.5 57 207 57 DL 218 57
|
||||
212.5 57 DL 223.5 57 218 57 DL 229 57 223.5 57 DL 234.5 57 229 57 DL 240 57
|
||||
234.5 57 DL 245.5 57 240 57 DL 251 57 245.5 57 DL 256.5 57 251 57 DL 262 57
|
||||
256.5 57 DL 267.5 57 262 57 DL 273 57 267.5 57 DL 278.5 57 273 57 DL 284 57
|
||||
278.5 57 DL 289.5 57 284 57 DL 295 57 289.5 57 DL 300.5 57 295 57 DL 306 57
|
||||
300.5 57 DL 311.5 57 306 57 DL 317 57 311.5 57 DL 322.5 57 317 57 DL 328 57
|
||||
322.5 57 DL 333.5 57 328 57 DL 339 57 333.5 57 DL 344.5 57 339 57 DL 350 57
|
||||
344.5 57 DL 355.5 57 350 57 DL 361 57 355.5 57 DL 366.5 57 361 57 DL 372 57
|
||||
366.5 57 DL 377.5 57 372 57 DL 383 57 377.5 57 DL 388.5 57 383 57 DL 394 57
|
||||
388.5 57 DL 399.5 57 394 57 DL 405 57 399.5 57 DL 410.5 57 405 57 DL 416 57
|
||||
410.5 57 DL 421.5 57 416 57 DL 427 57 421.5 57 DL 432.5 57 427 57 DL 438 57
|
||||
432.5 57 DL 443.5 57 438 57 DL 449 57 443.5 57 DL 454.5 57 449 57 DL 460 57
|
||||
454.5 57 DL 465.5 57 460 57 DL 471 57 465.5 57 DL 476.5 57 471 57 DL 482 57
|
||||
476.5 57 DL 487.5 57 482 57 DL 493 57 487.5 57 DL 498.5 57 493 57 DL 504 57
|
||||
498.5 57 DL/F1 13/Times-Bold@0 SF(Index)272.108 123 Q(:)72 174 Q F0(:re)72 204
|
||||
Q(gular)-.165 E(-e)-.22 E(xpressions, 1)-.165 E F1(E)72 234 Q F0(equality)72
|
||||
264 Q 2.75(,1)-.715 G F1(F)72 294 Q F0(feature, 1)72 324 Q(\215ags, 1, 2)72 339
|
||||
Q F1(M)72 369 Q F0(mak)72 399 Q(e-re)-.11 E(ge)-.165 E(xp,)-.165 E/F2 12
|
||||
/Times-Bold@0 SF(1)2.75 E F0 2.75(,2)C F1(N)72 429 Q F0(no-sube)72 459 Q(xpr)
|
||||
-.165 E 2.75(,2)-.44 G F1(P)72 489 Q F0(POSIX, 1)72 519 Q F1(R)72 549 Q F0(re)
|
||||
72 579 Q(gcomp, 1)-.165 E(re)72 594 Q(ge)-.165 E -.165(xe)-.165 G(c, 2).165 E
|
||||
(re)72 609 Q(ge)-.165 E(xp-e)-.165 E -.165(xe)-.165 G(c,).165 E F2(2)2.75 E F0
|
||||
(re)72 624 Q(ge)-.165 E(xp-\215ags,)-.165 E F2(2)2.75 E F0(re)72 639 Q(ge)-.165
|
||||
E(xp-match, 2)-.165 E(re)72 654 Q(ge)-.165 E(xp-match-end,)-.165 E F2(2)2.75 E
|
||||
F0(re)72 669 Q(ge)-.165 E(xp-match-number)-.165 E(,)-.44 E F2(2)2.75 E F0(re)72
|
||||
684 Q(ge)-.165 E(xp-match-start,)-.165 E F2(2)2.75 E F0(re)72 699 Q(ge)-.165 E
|
||||
(xp-match?,)-.165 E F2(2)2.75 E F0(re)72 714 Q(ge)-.165 E(xp-pattern,)-.165 E
|
||||
F2(2)2.75 E F0(re)72 729 Q(ge)-.165 E(xp.o, 1)-.165 E(re)302.4 174 Q(ge)-.165 E
|
||||
(xp.scm, 1)-.165 E(re)302.4 189 Q(ge)-.165 E(xp?,)-.165 E F2(2)2.75 E F1(S)
|
||||
302.4 219 Q F0(sube)302.4 249 Q(xpression, 2)-.165 E(substring primiti)302.4
|
||||
264 Q -.165(ve)-.275 G 2.75(,2).165 G F1(T)302.4 294 Q F0(type predicate, 2)
|
||||
302.4 324 Q F1(U)302.4 354 Q F0(UNIX, 1)302.4 384 Q EP
|
||||
%%Page: 5 5
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
%%EndPageSetup
|
||||
/F0 13/Times-Bold@0 SF -1.196(Ta)239.127 123 S(ble of Contents)1.196 E/F1 11
|
||||
/Times-Roman@0 SF .866(Introduction ..........................................\
|
||||
..............................................................................\
|
||||
......)72 177.6 R(1)498.5 177.6 Q(Creating Re)72 196.2 Q(gular Expressions)
|
||||
-.165 E 19.25(................................................................\
|
||||
.................................. 1)3.792 F(Matching Re)72 214.8 Q
|
||||
(gular Expressions)-.165 E 19.25(.............................................\
|
||||
................................................... 2)5.013 F 2.395(Example ..\
|
||||
..............................................................................\
|
||||
...................................................)72 233.4 R(2)498.5 233.4 Q
|
||||
(Inde)72 252 Q 2.868(x.)-.165 G 19.25(........................................\
|
||||
..............................................................................\
|
||||
.................. 4)102.5 252 R EP
|
||||
%%Trailer
|
||||
end
|
||||
%%EOF
|
|
@ -1 +1,31 @@
|
|||
EXTRA_DIST = unix.ms unix.ps
|
||||
EXTRA_DIST = unix.ms
|
||||
|
||||
if HAVE_GROFF
|
||||
doc_DATA = unix.ps
|
||||
docdir = $(datadir)/doc/@PACKAGE@
|
||||
endif
|
||||
|
||||
MANUAL= unix
|
||||
TROFF= groff -ms -t
|
||||
UNROFF= unroff -ms
|
||||
|
||||
unix.ps: unix.ms index.ms
|
||||
(cat unix.ms ../util/tmac.index index.ms; echo ".Tc")\
|
||||
| $(TROFF) 2> /dev/null > unix.ps
|
||||
|
||||
unix.html: unix.ms
|
||||
(cat $?; echo ".Tc") | $(UNROFF) document=unix
|
||||
|
||||
index.ms: unix.ms index.raw
|
||||
sort -f -t'#' +1 -3 +0n index.raw | awk -f ../util/fixindex.awk\
|
||||
| awk -f ../util/block.awk >index.ms
|
||||
|
||||
index.raw: unix.ms
|
||||
$(TROFF) unix.ms 2> index.raw >/dev/null
|
||||
|
||||
check:
|
||||
checknr -c.Ul.Pr.Sy.Va.Sh.Ix.Id.Ch -a.Ss.Se.[[.]] unix.ms |\
|
||||
grep -v "Empty command"
|
||||
|
||||
clean:
|
||||
rm -f index.raw index.ms unix.ps unix.html
|
||||
|
|
2235
doc/unix/unix.ps
2235
doc/unix/unix.ps
File diff suppressed because it is too large
Load Diff
|
@ -1 +1,22 @@
|
|||
EXTRA_DIST = usenix.ms usenix.ps
|
||||
EXTRA_DIST = usenix.ms
|
||||
|
||||
if HAVE_GROFF
|
||||
doc_DATA = usenix.ps
|
||||
docdir = $(datadir)/doc/@PACKAGE@
|
||||
endif
|
||||
|
||||
TROFF= groff -ms
|
||||
UNROFF= unroff -ms
|
||||
|
||||
usenix.ps: usenix.ms tmp.ref
|
||||
sed -f tmp.ref usenix.ms | $(TROFF) 2> /dev/null > usenix.ps
|
||||
|
||||
usenix.html: usenix.ms tmp.ref
|
||||
sed -f tmp.ref usenix.ms | $(UNROFF) document=usenix
|
||||
|
||||
tmp.ref: usenix.ms
|
||||
$(TROFF) usenix.ms 2> tmp.ref >/dev/null
|
||||
|
||||
clean:
|
||||
rm -f tmp.ref usenix.ps
|
||||
|
||||
|
|
2354
doc/usenix/usenix.ps
2354
doc/usenix/usenix.ps
File diff suppressed because it is too large
Load Diff
|
@ -1 +1,31 @@
|
|||
EXTRA_DIST = xlib.ms xlib.ps
|
||||
EXTRA_DIST = xlib.ms
|
||||
|
||||
if HAVE_GROFF
|
||||
doc_DATA = xlib.ps
|
||||
docdir = $(datadir)/doc/@PACKAGE@
|
||||
endif
|
||||
|
||||
MANUAL= xlib
|
||||
TROFF= groff -ms -t
|
||||
UNROFF= unroff -ms
|
||||
|
||||
xlib.ps: xlib.ms index.ms
|
||||
(cat xlib.ms ../util/tmac.index index.ms; echo ".Tc")\
|
||||
| $(TROFF) 2> /dev/null > xlib.ps
|
||||
|
||||
xlib.html: xlib.ms
|
||||
(cat $?; echo ".Tc") | $(UNROFF) document=xlib
|
||||
|
||||
index.ms: xlib.ms index.raw
|
||||
sort -f -t'#' +1 -3 +0n index.raw | awk -f ../util/fixindex.awk\
|
||||
| awk -f ../util/block.awk >index.ms
|
||||
|
||||
index.raw: xlib.ms
|
||||
$(TROFF) xlib.ms 2> index.raw >/dev/null
|
||||
|
||||
check:
|
||||
checknr -c.Ul.Pr.Sy.Va.Sh.Ix.Id.Ch -a.Ss.Se.[[.]] xlib.ms |\
|
||||
grep -v "Empty command"
|
||||
|
||||
clean:
|
||||
rm -f index.raw index.ms xlib.ps xlib.html
|
||||
|
|
3182
doc/xlib/xlib.ps
3182
doc/xlib/xlib.ps
File diff suppressed because it is too large
Load Diff
|
@ -1 +1,31 @@
|
|||
EXTRA_DIST = xt.ms xt.ps
|
||||
EXTRA_DIST = xt.ms
|
||||
|
||||
if HAVE_GROFF
|
||||
doc_DATA = xt.ps
|
||||
docdir = $(datadir)/doc/@PACKAGE@
|
||||
endif
|
||||
|
||||
MANUAL= xt
|
||||
TROFF= groff -ms -t
|
||||
UNROFF= unroff -ms
|
||||
|
||||
xt.ps: xt.ms index.ms
|
||||
(cat xt.ms ../util/tmac.index index.ms; echo ".Tc")\
|
||||
| $(TROFF) 2> /dev/null > xt.ps
|
||||
|
||||
xt.html: xt.ms
|
||||
(cat $?; echo ".Tc") | $(UNROFF) document=xt
|
||||
|
||||
index.ms: xt.ms index.raw
|
||||
sort -f -t'#' +1 -3 +0n index.raw | awk -f ../util/fixindex.awk\
|
||||
| awk -f ../util/block.awk >index.ms
|
||||
|
||||
index.raw: xt.ms
|
||||
$(TROFF) xt.ms 2> index.raw >/dev/null
|
||||
|
||||
check:
|
||||
checknr -c.Ul.Pr.Sy.Va.Sh.Ix.Id.Ch -a.Ss.Se.[[.]] xt.ms |\
|
||||
grep -v "Empty command"
|
||||
|
||||
clean:
|
||||
rm -f index.raw index.ms xt.ps xt.html
|
||||
|
|
1067
doc/xt/xt.ps
1067
doc/xt/xt.ps
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue