* 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:
sam 2003-09-11 08:21:49 +00:00
parent d55ca1b9bf
commit 3077766693
26 changed files with 348 additions and 18648 deletions

View File

@ -473,6 +473,23 @@ ELK_LIBS="${ELK_LIBS} -lm"
AC_SUBST(INCLUDES) AC_SUBST(INCLUDES)
AC_SUBST(ELK_LIBS) 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([ AC_OUTPUT([
Makefile Makefile
autotools/Makefile autotools/Makefile
@ -515,5 +532,6 @@ libgdbm support: ${ac_cv_my_have_gdbm}
X11 support: ${ac_cv_my_have_x11} X11 support: ${ac_cv_my_have_x11}
Xaw support: ${ac_cv_my_have_xaw} Xaw support: ${ac_cv_my_have_xaw}
Motif support: ${ac_cv_my_have_motif} Motif support: ${ac_cv_my_have_motif}
build documentation: ${ac_cv_my_have_groff}
EOF EOF

2
debian/control vendored
View File

@ -2,7 +2,7 @@ Source: elk
Section: devel Section: devel
Priority: optional Priority: optional
Maintainer: Sam Hocevar (Debian packages) <sam+deb@zoy.org> 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 Standards-Version: 3.6.1.0
Package: elk Package: elk

1
debian/elkdoc.docs vendored
View File

@ -5,4 +5,3 @@ MACHINES
NEWS NEWS
README README
TODO TODO
doc

4
debian/rules vendored
View File

@ -56,6 +56,8 @@ install: build
$(CURDIR)/debian/elk/usr/lib/*.a \ $(CURDIR)/debian/elk/usr/lib/*.a \
$(CURDIR)/debian/libelk0-dev/usr/lib/ $(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 \ mv $(CURDIR)/debian/elk/usr/share/doc/elk/examples \
$(CURDIR)/debian/elkdoc/usr/share/doc/elkdoc/ $(CURDIR)/debian/elkdoc/usr/share/doc/elkdoc/
@ -67,8 +69,6 @@ binary-indep: build install
dh_testroot dh_testroot
# dh_installdebconf # dh_installdebconf
dh_installdocs 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_installexamples
# dh_installmenu # dh_installmenu
# dh_installemacsen # dh_installemacsen

View File

@ -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

View File

@ -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

View File

@ -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

File diff suppressed because it is too large Load Diff

View File

@ -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

File diff suppressed because it is too large Load Diff

View File

@ -1,2 +1,21 @@
EXTRA_DIST = $(man_MANS) elk.ps EXTRA_DIST = $(man_MANS)
man_MANS = elk.1 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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

File diff suppressed because it is too large Load Diff

View File

@ -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

File diff suppressed because it is too large Load Diff

View File

@ -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

File diff suppressed because it is too large Load Diff

View File

@ -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

File diff suppressed because it is too large Load Diff