0707070000020052671007770001460001440000010537350354565065000000500000000004Size525 0707070000020070171007770001460001440000010745120363234201300000600000000424Files./Size ./Files ./Install ./MAKEcpio ./MAKEflop ./Name ./README.icon ./Remove ./cross.dat ./cross.icn ./desc.icon ./hello.icn ./icont ./iconx ./iconx.hdr ./ilink ./itran ./meander.dat ./meander.icn ./overview.icon ./regis.frm ./roman.icn ./run.icon ./trouble.frm ./wordcnt.icn 0707070000020070151007770001460001440000010753600354565234400001000000002473Install # if test -f /usr/bin/icont then echo "WARNING! Icon already installed." echo "Continue? \c" read junk case junk in [n|N]*) exit 1 ;; esac fi # Next move all relevant files to their destination # LIST1="icont iconx" LIST2="ilink itran iconx.hdr" LIST3="README.icon desc.icon overview.icon regis.frm run.icon trouble.frm" LIST4="cross.icn hello.icn meander.icn roman.icn wordcnt.icn cross.dat meander.dat" for i in $LIST1 do mv $i /usr/bin chown root /usr/bin/$i chgrp users /usr/bin/$i chmod +x /usr/bin/$i done chmod +t /usr/bin/iconx for i in $LIST2 do mv $i /usr/lib chown root /usr/lib/$i chgrp users /usr/lib/$i chmod +x /usr/lib/$i done echo "\n\n NOW MOVING SIX DOCUMENTS TO YOUR FILECABINET FOLDER." echo " we suggest you print them at your leisure ......" for i in $LIST3 do mv $i $HOME/Filecabinet chown $LOGNAME $HOME/Filecabinet/$i chgrp users $HOME/Filecabinet/$i chmod 644 $HOME/Filecabinet/$i done # echo "\n\n NOW MOVING SOME TESTS TO YOUR WASTEBASKET FOLDER." echo " run them (as described in README.icon) to verify installation ......" for i in $LIST4 do mv $i $HOME/Wastebasket chown $LOGNAME $HOME/Wastebasket/$i chgrp users $HOME/Wastebasket/$i chmod 644 $HOME/Wastebasket/$i done # message "Installation of the University of Arizona's Icon programming language \nis complete." 0707070000020066551007770001460001440000010576620363234174200001100000000041MAKEcpiocat Files | cpio -ocBv > ICON+IN 0707070000020073461007770001460001440000010761410354407546000001100000000044MAKEflopcat Files | cpio -ocBv > /dev/fp021 0707070000020077651007770001460001440000010721170363234211700000500000000117NameThe U. of Arizona Icon Programming Lang. - version 5.10 3/86 - from THE STORE! 0707070000020073641007770001460001440000010721360354557423600001400000011171README.icon Version 5.10 of Icon for UNIX-PC This diskette contains executable binary files for Version 5.10 of Icon running on the UNIX-PC. This implementation is the complete version 5.10 and is based on William Mitchel's Sun workstation implementation. The port was done by O. Rick Fonorow and it has been placed it in the public domain to make it as widely available as possible. This material is being distributed by the University of Arizona as a service to the computing community. It makes no war- ranties of any kind as to the correctness or suitability of this material for any application. This diskette can be copied and used freely, provided the material on it is not modified and that appropriate credit is given where applicable. Persons who obtain a copy of this diskette from a secondary source are encouraged to register their copy by sending a completed copy of the registration form on this diskette (regis.frm) to: Icon Project Department of Computer Science The University of Arizona Tucson, AZ 85721 Persons who register their copies will receive the Icon Newsletter, which is published aperiodically, free of charge and will be notified of corrections, new releases, and so forth. Documentation Version 5 of the Icon programming language is described in the following book: The Icon Programming Language, Ralph E. Griswold and Madge T. Griswold, Prentice-Hall, Inc., Englewood Cliffs, New Jersey. 1983. ISBN 0-13-449777-5. A brief overview of Icon is contained in the file overview.icon on this diskette. Features that have been added to Version 5 of Icon since the book was written are described in the file desc.icon Printed copies of these documents are available on request from the Icon Project at the address listed above. - 1 - Installing UNIX-PC Icon The five executable binary files need to run Icon are: /usr/bin/icont /usr/bin/iconx /usr/lib/itran /usr/lib/ilink /usr/lib/iconx.hdr Running UNIX-PC Icon Icon programs must have the extension .icn. An Icon program in the file prog.icn is translated by icont prog.icn The result is a file with the name prog (with the extension removed). This file can be run by prog Alternatively, the program can be run after translation by icont prog.icn -x In this case the file prog also is left and can be run subse- quently. More information about running Icon is contained in run.icon. Testing UNIX-PC Icon There are a few programs on the distribution diskette that may be used for testing Icon: hello.icn This program prints the version, installation options, time, and date. Run this test as icont hello.icn -x cross.icn This program prints all the ways that two words intersect in a common character. The file cross.dat contains typical data. Run this test as icont cross.icn -x P./< NfXLN^NuNV./. /.NP-@g ./9 /< NPp.N.:N^NuNVp../.N, X @./. N# XJfpN^Nup`NVp.N)> @-H./N-8X. /.N-X n N^NuNVp/./.N, X @-Hf-n`Rp../.N, X @-Hp.N)> @-H .././N#PP n N^NuNVH p-@-@`R ."nJf .R"n $1 ."n#gR`BJg& .R"n&1 .R"n#fL N^NuNV./< /< RN ,Pp.N.:N^NuNVN$-@ f. /< RN ,X <N^NuJf8./. /.N#P./< /< RN ,P.N$HnN.X".f .`NV./< %NX-n `./< *NXX nJfN^Nu0<N@dN.0BNuNV. /. /.N#PN^NuNVH . .N#-@.N)> @$H f L N^Nu&J .V"$`BSl J`NV.N*N^NuNVHA -H. D//.N P$9 Pg pLN^Nu `NVHA-H.//. N P$ n( g pLN^Nu `NVH-| n-H-H||A-HHn//. N $ nB LN^NuNVH<$n&nBB.G(J`RHH$gp%f -@"gtѮ "f&Sm kR`P.p/N%2X`> + f."/ /+N"P @"'H`./."p// N Jf+ f .L<N^Nup-@-@-@-@-@RHH$  g$ #g" +g -fR`R`R`R`p*f$pѮ n -hl .D-@RR`Bp0fRB` .Ѐ"Ё"0Ё-@RHH$ | -0(f .gJg .`p-@`VR *fpѮ n -hR`8B` .Ѐ"Ё"0Ё-@RHH$ | -0(fBHH hg lfRR-| HLAG-HHp-@-@HH$ Jgv Eg Gg XgT cg dgL eg fg gg og* sg ug xfp` p`p`p-@Jlp-@JfpdpѮ n -h>pdfBJ>l-| IL >g* .>D-@>`Jg -| KL`Jg-| MLpXf | O` | `-H*I\*L`Dp>-@ .>-@>.N,ЀЮ"n*1. .>N"-@>J>f Ю-@Jgȹg  Xg4 og xf-| qL` lp-@`-| tL`xJlp-@pѮ n -h6-h:Hn.Hn2 .Rrl .R`p//.:/.6N @(HJ.g -| wL`Jg -| yL`Jg-| {LKQJgHH`p0JfJg.-n`SJoJfIQ. 4/9 0 .6".:NXJg .2S-@"JlD`Jlp-@pѮ n -h6-h:Hn.Hn2 + f."/ /+N"P @"'H`./."p// N SmVSm kRr0`.p0/N%2X` kR"nHRH`. nHRHp/N%2X nHJg$Sm` kRr `.p /N%2XS .䰮&mSm`J"g@p . ."N,0rH"nHp . ."N"-@"`pH nH0 nHCEbJ2n . NVp././././. /.N> @ N^NuNVp././././. /.N @ N^NuNVH<$n&|  ."KI . fp.N)/N!X. /9  .". NXJlp`p"n"g .". @-@-A B9 B. /9  .". NXJgd*| R. /9  .". NXJm,`>./ .". N4X-@-A -ђ`. /9  .". NXJm`-y -y ` -n-n./. 9 "9 NX-@-A. /.".NXJo`. /9  .". NXJln`8./ .". NX-@-A -` M o2./ .". NX. /9 NXJl`Jgҹ eй c(| .  /9  .". NXJg e0`T .". N$ 0 Nh./ .". NX./ 9 $"9 (NX-@-A e$&L 5m0 f1 RJgR`R`R0R# 9nB |  L<N^Nu M o./ .". NXJm`./. .". N4XN$ 0 Nh./.NX./ .". NX-@-A R. /9  .".NXJo^. /9  .".N4X-@-A`ZH?L ` H?LN "LNuH? o "($/ &/$N " LNuH? o/NX$/ &/$N//NP LNuH?$& /"/ `H?$/&/ /$"/(Nj "LNuH? o$&( / "/$NF " LNuH? o/NX$& / "/$N//NP LNu@UUŰcBCEHNJGf(g~JFf `0 FgrFDGQGmfJf` ^GkQJkցՀd RF Fm`LdFED@NNM fBNuN`(fFfJj$<B`$<B`H?$& /"/ `H?$/&/ /$"/(Nj "LNuH? o$&( / "/$NF " LNuH? o/NX$& / "/$N//NP LNu*BNb:G8<a,8<aᏄg$&<FN`.HGODfJfJgRGSGgNu8<@ANBCFgDgNg Dg,NuNJk&Fg"Jg `Jk6g2$<`N LNu"`"/H8NVN0 LNu$<&HCĀ(f<Jg,<`&HBJ Bf4<`<Jg<`SB<B2Nu m `B>BFCNBNr, AKNux ,<.̂(ȃ⊄(΀ȁ∀NuJf F m F BJgk [ZNu< @%Hg& * HH"| RA"jC `, "| A%HA(H* HH"| R#%j.N,NJg* f LN^NuNVH$n* HH"| R 1$l* HH%qLN^Nul$`0<N@Nu opJWg`RDNuNVH J f4p  @# p  @# #  #   .^"$$y  B `( f fR   n*f,`#  $&R+g Ae Ad&Jp @$Hc` A#  c#  y  p  @$A L N^Nu " # p.N+ @&H 9 Ae 9 .N+ @&H rf` y  y Agp"y  @" 9 AA&# r "A `NVH $n&JY#  p @&L N^NuNVH &n+g.N +-@. N @$H gngh-K-J . V"$d-B` nX"nX .SJfd$ Ae A"%  J L N^Nu 9 ѯ0<N@dN.0 9 # Nu0<N@dN.0# BNuNVH $n.f&JJf K L N^Nu0<N@dN.0BNuNVHn/<T/.N,z JlpN^Nup`0<6N@dN.0NuNVH8BJlDF$".l"D`NVH8B .lDF$". lF lB@H@0B@H@`,& l//N-PlDJlDLN^Nu o"oJWfSWf /Nu o"opWf /NuNVH8&".(`NVH8 .&". ( lH@40H@0H@`2 l$//N-PlS LN^NuNVH0$.&. B02HBHC҂HABAЁL N^Nu0<N@dN.0Jg o Nu0<N@dN.0Nu# pNuNVN$$.N$N^Nuitranilink-i/usr/bin/iconxrm-fstdin.u1stdin.u2-s-o.icn.icn.u1.u2.u1%s: bad argument '%s' .u1%s/itran/usr/libLinking: %s/ilink/usr/lib/bin/rmExecuting: iconx/usr/bin/iconx/bin/rmusage: %s [-c] [-m] [-t] [-u] file ... [-x args] No more processes exec failed on %s %s '%s' -+ 0123456789ABCDEF0123456789abcdef0x0X-+ -+ Fn CAy7Aׄ@È@Y@$C@@$@$@$@$@$?@$@$ ((((( H   . . N 6 0707070000020074271007550001460001440000010721140356753670600000600000254456iconxQ޻u"x6  .text"x .data 6# @.bss 6 6  OQ./HJf/H# 6N,/N "`0<N@NVH. /.NZXLN^NuNVNH.xp/N X.p /N X#  p# #  p# #  p# #  p# 0#  4# # # (p# B B ,B #  # #\ #  # $#  #  # B l | h"| 8"" | h"| 8""B dp# t#  |#  #  # # p #  #  p# 6 | h"| 6""# 6"B 6&B 6.B 62 | h"| 66"".N $p./.N X-@Jl . %Nz. A/.NX @-H.pd/HnNrPp./< CHnN !&PJg~p./</.NP.pd/HnNrPp./< FHnN !&PJf*p.HnN X//.N P` . IN` p.HnN X//.N Pp .Hnb/.N Pr g . oNrp.N  @# 8R#f , y 8Rj# 8V y 8Rn# 8Z y 8Rr# 8^ y 8Rv# 8b# 8f y 8Rz# 8j# 8n y 8R~# 8r# 8r 8vN. .b"y 8RA r @# 8z 9 r "y 8zA# 8~ 9 "y 8~A ?r @# 8.  9 N H"y 8A# 8 y 8A r @# 8# 8 9 "y 8A? r @# 8# 8# 8 9 "y 8A? r @# 8# 8# 8# 8. 8N  @ g . N.b/9 8R/.N P-@bg,./.b/< /< 4Nf . N|.N NB 8 9 S$Jm`.  N H"y 8# 8.  N H"y 8A# 8 9 r "y 8#S`t l "y 8~BR`  m&. 8z/< 4NX y 8~ 4`p./< 4NX  m. y 8zA./< 4NX y 8~!| 4`p./< 4NX  m8J 8f. y 8zA./< 4NX y 8~!| 4`p./< 4NX# 8# 6 8 | 8"| 8""HnRN X#R 8LN^NuNVH. N  @$H gJg.N# ,. N  @$H gJg.N# . N  @$H gJg.N# . N  @$H gJg.N# .  N  @$H gJg.N# . N  @$H gJg.N# . N  @$H g(.p/N X.p /N XR 8. $N  @$H gR 8LN^NuNVHp./<NBXLN^NuNVHp./<0NXLN^NuNVHJ o../9 /9 /< -/< 4Nf`./< H/< 4NfP. 4N J 8gNHp.N$LN^NuNVHJ o../9 /9 /< b/< 4Nf`./< /< 4NfP. 4N J 8gNHp.N$LN^NuNVH$.J o,. /9 //< /< 4Nf`./< /< 4NfP$| Jo, f./< /< 4NfP`P`J g^. /< 4NfXp./. /< 4N2PS 4m y 4R 4r `. 4p /N  X. 4N J 8gNHp.N$LN^NuNVH &y 8^ 8bd g`$+Jl DS"| 'q`p y 8RE('J 9 8vѪ f%|^`@ y 8R%Ht * ЪЪl C$A"9 8vӨR`P`T&y 8f 8jd 9 8vѫP`L N^NuRR:Rh:.^Nz,4>(X:F\ ||||||||||||||||@@@@@@@@^^^^^^^^HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHU8UXZ2[]^^abcNcdeLefghijzjkkTkkl.ldllmmov\vxz0||*H 4bJ0t" B "PN B PNNHy H8 B PNL8 NB H8 B PNL8 N y 8RHy H8 B PNL8 NH/gHoNNXO/gHoNNXO/gHoNNXOHy H8 B PN(NHy H8 B PN(NB/</gHoNNXO/gHoNNXOHy H8 B PN0N`/gHoNNXO/gHoNNXOHy H8 B PN N/gHoNNXOHy H8 B PN NB/<Hy H8 B PN(NB/</gHoNNXOHy H8 B PN(N`/gHoNNXOHy H8 B PNN$Hy H8 B PNNB/</gHoNNXOHy H8 B PN NB/<Hy H8 B PN N/9 /9 /9 HyHy H8 B PNNNB/</-/-N: g"++XK`"+KӭNNN g"++XK`"/" ӗHyHy H8N N g"++XK`"/" ӗHyNB/<// // N~ g"++XK`"/HyHy H8Nb N: "(m.M*_//N& g"++XK`"ҹ 8v# N g"++XK`"N<;ZN g"++XK`"`/ H8NJ B N g"++XK`"`/HyNN g"++XK`"/HyHy H8N0N Hy H8 B PNN g"++XK`"`?# N g"++XK`"/ H8N Nv g"++XK`"ҋ/ *O/ (|/NF/ *O/ (|HyN0B/<N$PONHyHyNHyHyN g"++XK`"/" ӗHyN////N g"++XK`"/"9 8vӗ g"++XK`"/N~ g"++XK`"S*mQ(m.M*_NL*m*m*m*m*m*m(m.M*_N( g"++XK`"`/"9 8^ӗHyN g"++XK`"`/"9 8nӗHyN g"++XK`"`DҎ/HyNr g"++XK`"`Ҏ/HyN6HyN$$ 8R//Hy DHy &NHy &N H&HZ JNV$n /*NPXOHy*OHyHy y 8^ fv/(/(B/<PJB$g/RN /`/ H8N (|,|Hy H8NJHyN HyHyuN HyNDNVN /.N "`NVHnHnNP gZ fr. /9 .".N XJl .".@-@-AHn /./.NH N^NuJl .D-@Hn /.N$`Hnpf/N P`NVHHnHnHn0Nb JfHn0ph/N P. HnHn(NPJg. `p.HnHn NVPp.HnHnNVP.(/.NX$.(/.NX&fNZo$ S"n,1 S1HH"n 1HHfNZ-|8 R-@ Hf-| $p`z f -| $` 8f-| $p`NHnHnNPHnNXT.N$.$nvp./< NfX @-H$`p'.HH/NXր SJnp./< NfX-C ` n h-H 4fp-@ -| $` 4fp-@ -| $` 4fp-@ -| $` nA .ND\.N n$( $hvp./< NfX @-H$`p.HH/N:Xր SJnp./< NfX-C ` n$($h n ( g f-| `-| `-| .N & Ѓ.N./.NfX @-H$./ NfX Ѓ`|&n./< `Bp-@ -| $`|&n./< ` p-@ -| $`Z&n./< 1HnNPHnN X$.N.HnNfX @-H$-B `&n k (( .N&n k . /< KHnNPHnN X$p./< PNfX @-H$. k /( NfX.HnNfX ^Є`bp.N n./< XHnNPHnN X$p ./< ]NfX @-H$.HnNfX  -@ `. kN H` NV m l . "g 'g* \fDp./< `* . f.p./< ` . fp./< NfXpN^Nu y v y vB(p./9 vNfXp` . gL g gd g gD gX g& frp./< `rp./< `dp./< `Vp./< `Hp./< `:p./< `,p./< `p./< ` y v\ y v".0A y vr8®0A y v. 0Ap./9 vNfXp`NVH n$hv$`,  m mX` "g \g 'fT`RSJn LN^NuNVHA(C  gHn pw/N Pp.NnHnNX$Hn/Hn/.$N˦ @$HJf ./HnNP @//.$NPLN^NuNVHnHnNP fHn /.N$PN^NuNZ`NVH HnHn(NPJfHn(pg/N Pp.Hn NX-n$lHn /<N P. HnHnNP.NJfp-@-| R` -n-n.p/NfX @-H ."HEc ."nGcc#`$n-n(&n, .o -n` .SJn-n0-n4L N^NuNVH p.Hn NX&.$-CJlHn /<N P lp-@ .D.Nn.N @&H.p//.NP @$H < '@'@'J J'H t` C$AC Rm-|(-K,L N^NuNVH S"n,1 S1HH"n 1HHf-|8-B"(SJlt`p3("| 6>(R mJ(fA0"| x LN^Nu$.(.N$n,-B0.p/NfX @-H4&H SJop"| 6>`NVH HnHn0NPJfHn0pg/N P. HnHn(NPJg. `p.HnHn NVPp.HnHnNVP.(/.NX$.(/.NX-@o -B$ .` .-@ .0lNZ$n4 n,A(G-n0` gNZSJn-|8 Ю0-@L N^NuNVH  fV n$$( R.p/Hn(Hn N .~p// n, h A$/N L N^Nu  f n$$(-B lp-@ .D.Nn-n$.N @-H"< !A n!A.p//.NP @"n#H n"H!i Jov n h E$v`6 "nC-q` nA$$YP n-h JfRp%m.~`  f&p.HnNX .S b@0; NJ n$$(-B lp-@p\. .N HD.Nn-n$.N @-H"< !A n!A.p//.NP @"n#H n"H!i JoT n h E$v` "nC-q`$p.N @-H%H n"< !A n!Ap.p/p/NP @"n#H n"H!i n h A$"nC n h A,"nC P n-h JfdRp%mD f.Jp//`<.K"p// n h A$/N `@ n$ (Ѐ$-B lp-@ .<.Nn-n$.N @-H"< !A n!A.p//.NP @"n#H n"H!i Jo n h E$v`F "nC-q`* nA$$YP nA$$YP n-h JfRp%m f.KV`.Knp/ jDD`/ n h A$/N `Hn/<N P-|(-n,`Hn ps/N P`NV n h h A$. n h h A$/N~XN^NuNV n h h A,. n h h A,/N~XN^NuNV. /.N~XN^NuNV n A. nA/N~XN^NuNVH-| 4t` .CAC"" f^po* nm n"hѨp `.p /N  X n( fHn/<N P n-h`npf9 fp./<N X. xHnNXHnHnNPJfHnpm/N P././.NڄPRo nSm$ n"hRp p.N$LN^Nu.p /N  X`NVA C HnHn NP g gNZN^Nu. N. /.$NfX @-H$`NVHnHnNPJfHnpg/N P mHn/<N PHnHnNPHn HnN X/N$PN^NuNVH HnHn NPJfHn pe/N P. /.NX&A"|  $9 -B# 䴃o-B$ .` & y A(A-H,-C(NA"| ""# NZL N^NuNV.8Nn-| HnNX @-H$N^NuNVHnHn NPJfHn pg/N P. |HnHnHnN A(C n$ A-H`SS( n$e0HH"n 1"nHHfN^NuNV .fp-@ -| $N^Nu . g g g g g g g g g g g g g fp-@ -| ?$`\p-@ -| $`Jp-@ -| $`8p-@ -| $`&p-@ -| $`p-@ -| $`p -@ -| $`p-@ -|  $`p-@ -| $`p-@ -| !$`p-@ -| '$`p-@ -| ;$`A "n"i C `~p -@ -| Q$`l. _N H`\NVHHnHnHn0Nb JfHn0ph/N P. HnHn(NPJg. `p.HnHn NVPp.HnHnNVP.(/.NX$.(/.NX&o`-B$&.`R S"n,1 S1HH"n 1HHg-|8-B CI 0-@(-L,N$n$R`Hn pt/N PNZLN^Nu f$n$t`> * Ђ&m C$I 0-@(-L,N$n$RmA "n$C `NV# HnHn NP-@fHn pg/N PHnHnNP-@fHnpg/N PJ fj fT.N./.NfX @-H,-n(`. N. /.$NfX @-H,-n (`A(C`Jf gA(C `\ . Ю.N n$ 8f-n$,`. /.$NfX @-H,./.NfX . Ю-@(B N^NuNVH# p(.NnHnHnHnNb JfHnph/N Pp.N @-Ht`" "n 1F( "nC#Rpmv$`( "nC 1r‚gRR m n!C-| -n$B LN^NuNVH<# . gd .gV  f gHnpw/N P f  gHn pw/N P  f f n$ ("ЀЁ0.Nn-n$-n-|(N: @-H-H,t` "nC-q "nCA-H`n. "nC/1N@XJfB n  n.A/NX @"n#H n hA-H nR n-h JfRp%mZ`p(.NnHnHnHn Nb JfHn ph/N PHnHnHnNb JfHnph/N Pp.N @$Ht`. "n 1F( "n 1* C#Rpmv$`$ C 1r‚gRR m%C-|(-J,B LHn8//Hn0HnN̆`NV# -| .g . b`@0; NJ"RR""6RRRRRRRRFR" n-h$B N^Nu n h -h $` n-h$`HnHnNPJfHnpp/N P-n$`NVH # AC( .(g.(g Hn(NNXHnHn(NP-@gHnHn NPJfHn pe/N P.(/.NX$(oNZ f,p.Np-@0. n,A(A/NfX`p.NnHn0p//Hn(HnN̆B L N^Nu .(g.(g Hn(NNX .( gv g fHnHn NPJfHn pe/N P$n, j . /.NX$ j oNZ SCA`HnHn NPJfHn pe/N P n,./.NX$ n,oNZ n,$h v`֪ g . N H$j Ъl * Ԁm C$`^p .NnHn NX$p%. N J"n,C$q`D *n@ *f0Hn A/NPJgA-H 0-@0`$$j f-|0.Hn Hn(NP @-H4`Hn(pr/N P`NVH # .(g.(fHn(po/N P . g. fHn po/N PA0C( AC p-@-@ (fJ f@$n,&n$ jf. *o *-@` +o +-@ .(g.(g Hn(NNX . g. g Hn NNXHn Hn0NPJg n$".ӨHn(HnNPJg n,".ӨB L N^NuNVH # HnHn NPJfHn pg/N PA"|  -y 9 R-@찮 lNZ$n$ y G$. ` gNZ SJn$. չ A(C NA"| ""# NZL N^NuNV# HnHn(NPJfHn(pe/N PHnHn NPJfHn pe/N PHnHnNPJfHnpe/N PJfHn/<N P-|0`-n4N .Ѯ .nJn .mJmNZN^NuNVH<# . g .g  f gHnpw/N P f  gHn pw/N P  f f n$ ("nЩ"ЀЁ0.Nn n$ ("nm -H-I` -n-n$-|(N: @-H-H,t`~ "nC-q "nCA-H`L n  n.A/NX @"n#H n hA-H nR n-h JfRp%m~t` "nC-q`bHn n/(A//.N˦ @-HJf(. n/(A/NP @//.NP n-h JfRp%mz`p(.NnHnHnHn Nb JfHn ph/N PHnHnHnNb JfHnph/N Pp.N @-Ht`. "n(1 "n 1* "nC#Rpmv$`( "nC 1r‚gRR m n!C-|(-n,B L gVNA "| ""# NZN^NuHnpg/N P.N./.NfX @-HA"| ""p# `NV# -y -y $y 8%O%y G/ NNXO gHkHyvN [!|!J# 8.h,h# $.Ԏ B!k!k&H$+ gT @gH  f +`? f$ k (m n / NNXO# # B N^Nu _L8 NNV# -y -y $y 8%O%y  j# 8.h,h# # # NZNV# -y -y $y 8%O%y (N&j# 8.k,k# -l -l$I"$, gT @gH  f ,`? f$ l (m n / NNXO# # B L8N^NuNVH<# .g g . !$N HNN @-HA"| h nB&n K!K K*UE-R .ЀCI l-h .ЮR.Nn././.N"P @-H n!| n!n$ .ЀCA-HB nA"nQ -n`"R ."nCA"nQ .SJn .ЀCI LY' LY'-n` LY' LY' .SJn LY' LY' LY' L'BB-K'9 '9 I-n` LY' LY' .SJnA-H-n`"R ."nCA"nQ .SJn'9 h'9 l'9 h'9 lp'BB'.'<J'. n!K'9 '9 n!K-|-nB L<N^NufN# N,LXNJ ,g2 f(*Vg $V *Њ @/(NXOO# # # fB L8`L n h"n "i./) ("(N X-@-A. $/9 $".N XJfp`. $/9 $ .".N XJop`p`NV n fpN^Nu n  gV gT gR gP gT gR gP gN gL g& fBp `p`p`p`p`p`|p`vp`pp`jp `dp `^. % N H`NNV .Ю NvN^NuNV . NvN^NuNV . NvN^NuHyHyN NVH .-@-@JlNZ lp-@ .D.Nn n-h n-h .N @-H.p//.NP @-H n"< !A n!A n"n!I n!I nE$Jo ` I (-h ."n谩nJoj n ( ЮS-@"n谩m I ( ."nC$A"JP""R ."n谩op-@ I-h S` n  n !nLN^NuNVH $n g" f n "jC pL N^NuHn/ NPJfp`t` "nBRpm&j$`,HH&pHH"nÁR SJf n p`NVH$nHn/ NP gl fl. &2/9 &. .".N XJnJ. &*/9 && .".N XJm* .".N "n "pLN^Nu n `p`NVH$n fHn/ NP. Hn`^  g& f* n "j !ipLN^Nu n p`Hn/ NP @ fp`. /*NX`NVH$nB|+|+-y &6-y &:BBBB` "| %&1g HH$`p+gp-f @`R. &B/9 &> .".N XJll r0N -@-A. &J/9 &F .".N (X./.N vX-@-A. &R/9 &N".N XJo R`RHH$ "| %&1fNprgpRf4. / .".N /.HH/N LN^Nup.fR` "| %&1gR. &Z/9 &V .".N XJln r0N -@-A. &b/9 &^ .".N (X./.N vX-@-AS. &j/9 &f".N XJoRHH$`LJgpegpEfRHH$p+gp-f @HH$ "| %&1f&`8 .Ѐ"Ё"0Ё-@HH$ "| %&1f .+f .` .DѮ`HH$ "| %&1fJfJfr. &z/9 &v .".N XJmP. &r/9 &n .".N XJn0 .+f .".` .".@N "n "p` .Юr'n: .Юrٰl n &~!y &`DJo .` .D-@-y &-y &-y &-y &.g ./. .".N (X-@-A .-@Jg$./. .".N (X-@-A`Jo./. .".N (`./. .".N \X-@-AB 6././.NP-@-AJ 6o". &/9 &".N XJop` .+f .".` .".@"n "#Ap`rNVH $. $npmp$nHH&B`> 1g r0`p rW&lZ. .N HЃ-@HH& "| %&1HHr€f "| %&1g HH&`Jg pL N^Nu .+ f .` .D"n"p`NVH $. &. Dm RoNZJo L N^Nu ЃR`NVH$nHn/ NP g" f0 n !npLN^Nu .N "n "#A`p`NVH $n f pL N^Nu  g( g0 fZ. / jA/N2P`. / /*N<` jA&H K-P-h. / /./.N `p`~NVH nE-nBJm.p . .N J0p . .N ,-@Jf`0p . .N Jr0p . .N ,-@Jf<- n "nC" n !JpLN^NuNV.p//. /.N. .N "n" n!npN^NuNVH$nt`& "n 1r‚g R mB n "  n !npLN^NuNV n f n "n""pN^Nup`NV n f n pN^Nu./. /.NbPJf.ph/N Xp`NV n f n "n""pN^Nu n g g.pi/N Xp`NV n f n pN^Nu. /.NXJf.pe/N Xp`NV n f  n!n pN^NuHn/.NP f n  n!n`.pe/N Xp`NV n f n"n""pN^Nu. /.NXJf.pg/N Xp`NVH n gg nf n h`@ n  g> g\ fb n h f n hA"n""`D n$hAC .g.g HnNPX .gHnpg/N P *ЪSop./<N X n  n"nC!I`A"n"iC A"n"iC n h$( nA"n""p%. N J"nC$q gP *nH *fHnA/NPJgA`$j ` n$hA`. (N HpL N^NuNVH n"| "" n "| ""p# 9 f | "y ""` 9 g g fp# $y g|A"| ""&j $*p%. N J& C$q-J`4 *n *f. A/NXJf-J$j f`p#  9 g9 g . NNHn/< NPJf. pg/N X y A "| "" 9 g9 g . NN 9 g. pg/N X 9 й .N$y *S$# y A(# й & op./<N X./9 NfX @# . /9 NfX 9 . y A8/NfX 9 й # %y A "| "" | "| ""`R nf8$y CAC"" C# C# `*$y A"nC n!J n!| p $A"| `:p#  y -h | ./( nNXJf B NZB L N^Nu. (N H`NV./< )/< 4NfP n f. )/< )`" ngv ng@. )./< ))/< 4NfP n.//< )N/< 4Nf N^Nup?"n"| 'N./< ) n f0 n& n fJ n$h n &ht SJg0 gt`( n "n f  g g* gT L N^Nu n ("n f0p`. n h"n "i./) ("(N XJgp$`tvpl "n "iC(1 "n"iC 1fHR`NV. *V/9 *R .". N XJf 9 *Z"9 *^N^Nu 9 *J"9 *N@./ .". N XJl 9 *b"9 *f`. *N/9 *J .". N XJop"# 6 9 *j"9 *n`. *>/9 *: .". N (X-@-A ./NtXN -@N ./ .". N X. *v/9 *rN X-@-A./".N (X-@-A./ 9 *"9 *N (X. */9 *N vX./.N (X. */9 * N vX./.N (X-@-A./. 9 *z"9 *~N (X. *6/9 *2N vX./.N (X. *./9 **N vX./.N (X. *&/9 *"N vX-@-A./.".N X-@-A./. .".N vX./ 9 *B"9 *FN (X./.N \X-@-A.//NP`,y L8B N^NNV. */9 * .". N XJl .". @-@-A Hn//NR -@-A. */9 *".N XJg$. */9 * .". N vX-@-A .". @-@-A `Hn/. /.NR .". N^NuNV .". @-@-A./NX@N^NuNV# 8 ."9 8 8c p.NN^NuNV# 8 ."9 8 8c p.NN^NuNVJ 8f p.NN^NuNVH y 8r B 8$y 8`4 9 r G f$ 8# 8`p& 9  8eL N^NuNVH # 8 8. 8N. 8N. N 9 8f . 8Nn`9 8g . 8N 9 8f . 8N@`9 8g . 8NZ&| ` f.N` g.N4P 9 "| Ac&y 8^` f.N` g.NP 8be&y 8n` f.N` g.NP 8reNjJgzJ 8fp# 8 8 y 8B 9 ѹ 8 9 $ y 8E(e"b 8c(.N  @ rfp./<1N X`t.Nx y 8A(-Hչ 8 y 8A(# 8 8c # 8 8 y 8"9 8 9 8Ѐc 9 8Ѐ` y 8"9 8 "y 8" 8$`< y 8E(e( 8c.N  @ rgչ 8# 8` Jn. 8/9 8NX. 8N y 8"9 8 9 8Ѐc 9 8Ѐ` y 8"9 8 "y 8A  8$`6 y 8E(e" 8c.N  @ rg# 8` Jn y 8 8c# 8 y 8 8g8./9 8 9 8 8/NP 9 8 8ѹ 8# 8 8 n 8g4./9 8 9 8 8/NtP . 8ѹ 8# 8# 8 8L N^NuNVH n(h 8e 8d ng. nf$ n # 7HJgF L"9 7H剑(H# 7@  7@b8 "| &Jg  1`LN^Nu ,G n!y 7@(  7@b 9 7@"| &# 7Do 9 7DEd f.N` g.NP` n f~ bt(.N@A.NA .N`NNVH `$P rc` "n A'H`'n  rc&J$jgf` n" A n "| &Jg "| & 1` n (Ѯ n "| &Jg "| & 1` n (Ѯ n 8e(L N^NuNVH$n`f "| &Jg n  1` n ($ n(g n ng .//NPծ n 8e# 8LN^NuNV n h 8e` n h 8dP y 8 8e2 8. 8N  @ rfp./</N X y 8X 8 N^NuNVH y 8 8b# 8 8LN^Nu.Zp/ y 8"9 8//N &y 8 y 8 P h-H$H(y 8`N T hc`ڵe T h-H$H T h"Tѱc I h-H T" ҮӨX 8ed`# 8`DNV n P"n "Q (N^NuNVH<$n &n".$ .-@(J*Kd `*Sl`&c(`"Sl(J*K`+$Sl`SlL<N^NuNV y 8!O!y  y 8.h# /.NL y 8.h# N^NuNVH HnHn/./. /.N 6 @$H&nJg- .S$`SSJo 20(gJm .쐮rnJlv ljS.t`RmeJl .D-@-p . .N ,Jo . 0p . .N J0`ZJn0.`R0Jmt`ڴf.Ro .l`0 .Rm. +.f0B n L N^NuNVH $nv nSm n"hRp` .N$p gpg R m L N^NuNVH n fBt$h n&p n `p &`HHԀSJn n Ԁ`p n  g4 g6 fFt&plF "n"iC 1R` n$(`" n h ("(N `p?"n$ L N^NuNV. */.N !XN^NuNVH  n-P$h n -P&h .o .$ SJg( g"HH#HHL N^Nu .`NVJg n ("n opN^Nu n ("n f" IA. nA/NXJgp` n-h `NV. +/9 + .". N XJnp!# 6 9 +"9 +N^NuHn/. /.N< -@-A`.. +(/9 +$ .".N (X-@-A .S-@. + /9 + .".N XJm. */9 * .".N XJl../. 9 +,"9 +0N (X-@-A .S-@. +8/9 +4 .".N vX-@-A. +@/9 +< .".N X./.N \X-@-A./".N (X-@-A./ 9 *"9 *N (X. */9 *N vX./.N (X. */9 *N vX./.N (X. */9 *N vX-@-A./. 9 +D"9 +HN (X. +/9 +N vX./.N (X. +/9 *N vX./.N (X. */9 *N vX./ .".N \X-@-A .N . */9 *N (X-@-A./. .".N (X./.N vX-@-A".`bNV. /.NX. */9 *N \XN^NuNVH p%. .N J"nCE nBJg&j +o` nr J L N^Nu +f. A/NXJfE`NVH$n $%nLN^NuNVH$np .Nn$. /.NX @%HLN^NuNVH$n&n (n gf( kA`4 f j (SѮE ( ././.NP @)HLN^NuNVHHn/.NP-@f.pf/N XHn/. NP-@f. pf/N X f: f0t .lt` .gt./.N$X` f .N -@-A f .N -@-At./. .".N XJlt`./. .".N XJgt././.NHP LN^NuNVH< `. +P/.NfX n -h ` n  g g g g( gD g gJ gZ g gn gP g g* fP n &h g@.A//.NP nSm n"hRp[`Jfn. +\` n ./< +b` n hA*H M-P-hHnHn/./.NHn/< +e/.Nf L< N^Nu n f. +h/.NfX` n Hf. +o` n f. +u` n 8f. +|` nSm n"hRp'`.p'/N  Xvt`X "n "iC 1r‚g, SJn. +/.NfX`p'.//.NPR m nSm n"hRp'`.p'/N  X` n h h-H 4f . +` 4f . +` 4f . +` n h$( n h$h. +/.NfX`p.HH//.NP SJn nSln.p)/N  X` n h$( n h$h n h ( g f-| +`-| +`-| +./< +/.Nf`. n /(/.NP` n h./< +` n h./< +/.Nf` n &h k $($h . +/.NfX`p.HH//.NP SJn k &( n . +`0Jo ./< +` nSm n"hRp(`.p(/N  Xt` n"hRp,` n &h-k  f. +/.NfX`./. /.NP f./< +/.NfP`./+/< +/.Nf  f.. ,/.NfX(k-k l A-H`< n f-k k hA-H. , /.NfXA-H n f$ n $hpl `p& nSm* n"hRp"`(p".HH//.NP`.p"/N  X SJnpo. +L/.NfX nSm n"hRp"`4.p"/N  X` n g n f`.p[/N  X.A//.NTP nSm n"hRp]`.p]/N  X` n &h$+$k` n"hR`. ,`p?"n rnp?"| 'N./< ,!`. ,$N H`4 SJo*p.HH//.NP` .R. CA//.N|PRl nSl.p,/N  X` nSm n"hRp)`.p)/N  X` SJo nSl .p/N  X`. ,/.NfX.A//.N`NV m  l . "g 'g" \f:. ,A`" . f(. ,;` . f. ,>/.NfXN^Nu nSm n"hR.`.p./N  X` . gB gl gP gf g6 gB g fP. ,G`r. ,D`h. ,J`^. ,M`T. ,P`J. ,S`@. ,V`6. ,Y`, . ./< ,\/.NfP`NVH n $h -hJo&Jo ./< ,b/.NfPL N^Nu nSm n"hRp[`.p[/N  Xp-@tJoRot$j o .".Wo * ЂS&m .R. C$A//.NP .찮l nSm. n"hRp,`J nSmJ n"hRp]`".p,/N  X` f. ,k/.NfXR`0.p]/N  X`NV. ,t/9 ,p .". N XJn. ,|/9 ,x .". N XJf2. ,/9 , .".N XJo 9 ,"9 ,N^Nu .".N -@N ./.N XJfv .". @-@-A./NȤX./ .".N (X-@-A./NX-@-A.g".@-@-A .".`\p!# 6 9 ,"9 ,`D. /.NȤX./ .".N (X-@-A./NX`NVH $n&n $.` jR`.p/N  X SJgSm`L N^NuNVH n$h& l ` <$` n R SJn n BL N^Nu# NuB NuNV-y 8f-y 8^`D. nP/NXJf& n h f n  n"n`P n 8be n-h-P-| ,`././.NPJfr nHH"| 31HHr€f4 n h-hl .D-@` n h-h . f n  n"n!ipN^NuP nJfnp`NVH.N -@ . o .$ SJgN nR"nRgp nHHr"nHHLN^Nu . `NV y / OOH<(H/9 /9 /9 $n$* f $*QB`4 J"OS"Q/L ,OB L8N^NuNVH nEB` n(h&h nE-P-j`A̵f8-S nCgE`d n(h&h nE-Pp-@`BAf &l(T `. f .N`g.N2PJgSJfJg nAff`@LN^NuNVHJ ,oS ,. /9 NX. N" n./( /< 4NڄPS 4m y 4R 4r(`N. 4p(/N  X`Rp. nQ//< 4N2PJ g.S 4m y 4R 4r,`. 4p,/N  X . S JfS 4m y 4R 4r)`. 4p)/N  XS 4m( y 4R 4r . 4N LN^Nu. 4p /N  X`NVH$nJ ,oS ,. /9 NX. N./* /< 4NڄP. 1/< 4NfXp./. /< 4N2PS 4m( y 4R 4r . 4N LN^Nu. 4p /N  X`NVH$nJ ,oS ,. /9 NX. N./* /< 4NڄP. 1/< 4NfXS 4m( y 4R 4r . 4N LN^Nu. 4p /N  X`NVH$nJ ,oS ,. /9 N8X. Np./* /< 4NڄP. 1%/< 4NfXp./. /< 4N2PS 4m( y 4R 4r . 4N LN^Nu. 4p /N  X`NVH$nJ ,oS ,. /9 N|X. N./* /< 4NڄP. 11/< 4NfXS 4m( y 4R 4r . 4N LN^Nu. 4p /N  X`NVJ o$. /./< 1:/< 4Nf N^Nu. 1E/< 4NfX`NVH$.`& y 4R 4r `. 4p /N  X SJonf6 m,mf$ lHnNX @$HR J LN^NuNVH$n$. p:m0 *j DD`g <m` <nmԀ Ъr.N J" LN^NuNVH n.Q N J-@ n.Q N ,-@Jl QSp<. .N J# 7np<. .N ,&p<. N J# 7rp<. N ,# 7v .pr.N J# 7JmbvF`, j DD`g <m` <nR j DD`g <m` <n".l`:vF`0 SJj DD`g <m` <nѮSJm# 7$.# 7 j DD`g <m` <n nfp# 1Pv` 刔R "| 1Llp# 1P R# 7z# 7~B 7 | 7n L N^NuNVH$| 7T&| 1Jf n ("ЀЁ"| 1G$| 7TR nI "ЀЁ"| 1G./ NX @$H $d./ N~X @$H $d./ NhX @$H $d./ NRX @$H n dm |2|0T n (d./ NX @$H | 7T LN^NuNVH$nR m p . . N ,r .N J0` p . . N J0 J LN^NuNVH . 1N  @$H gJgt&y 1HHgHH`p Sf -fp`p-@gRt` Ѐ"ЁHHЁr0$ 0m 9oJg D$ "逐"逐# 1Jgp`p# 1Hg &y 1tHHgHH`p SfL N^NuNVH $nt&HH gX gN +g& -g` Ѐ"ЁHHЁr0$`RR 0m 9oJg DL N^NuR` `NVH$. $n-nS` LN^NuJoJn".Nrf ng`SRl ` &.p //*/.N @-Hg &׮תJlp` (* HH"| 5 1l.N Jf`Z nB n`@NVH$n . fp.N /N X. 2/9 2 .". N XJm .". ` .". @-@-A. 1/9 1".N XJm$%n `. 2 /9 2 .".N vX$%A. 2/9 2 `,./. "*N XJo". 2/9 2 "*N X$%A`. 2$/9 2 .". N XJl "*@$%A./ .". N XLN^NuNVH$nJ oJn pLN^Nu. .N H$Jn0.Nrf Ю S. N !v". `SRd ` &./*/.N P @A8-HתJlp` (* HH"| 5 1l.N fj .`HNVH$n* * g lJg* fv$-n Jf$p.p/* HH/N P"Ӯ` * f6Jo2 .n* ."*m .Ѫ .pLN^Nu* g %j* ./. * HH/N P-@B`J* HH@g<.N * gB* %j./. * HH/N P-@ fp`hp`bNVHHnNJXJm n rf .` .$ n rf .` .&N (fr n rfp`p-@.N .N .p//NP.N p././< 23/< 20/< 2(N tp.N pf LN^Nu "| 7#.N . /NX @`NVH n( HH$.N B.p/N X @-H.p/N X @-H.p/N X @-HHnN "&X& "| 7gpfpf-@.p/N X.p/N X.p/N X .L N^Nu0<>N@dN "VNuNVH $n N  @&H g4BB+ n 'H'HHH ag& rg wg* L N^Nu `p.p//.N P *+f + + K`0<*N@dN "V o BNuNVHA-H.//. NP$ n( g pLN^Nu ` /o("/ "o oSвWg fBNu Nu`NV# 7# 7. . N H"nA./ NXN^NuNVH $9 7`6. nA(/NX-n `./.NX nA(-H . -@䰂cL Ѐ. .N !v. N H-@ n-H-H$n n &H`./ NX` L N^Nudf./ y 7NX-@gJlH`@f.ծ././ NPծ$n`$ծ./.N~X`./ NrX`c"./. y 7NX-@gJn`صf .". 찁m`././ N@P&n`0NVH -y 7$n&n SfL N^NuNVH-y 7$n&n (nHH-@SfLN^NuNVH $nJf.N * f* g * HHrD€g&&| 4`+ g.N  5e%j* gp`* HH"| 5 1./** HH/N P$Sm jRpL N^Nu g ` * g* Bp`NVH$.g . 2:/9 26 .". N XJf .". LN^NuHn/. /.N< Jot Ю o>p.N /N X`(. 2B/9 2> .". N (X-@-A ppbpN ./ .". N (`p Ю l: 9 2F"9 2J`J. 2R/9 2N .". N (X-@-A pⴀep"DN ./ .". N \X`NVH$n . fp.N /N XB. 2Z/9 2V .". N XJf .". LN^Nu. 2b/9 2^ .". N XJo* .". `,R. 2r/9 2n .".N (X` .". @-@-A. 2j/9 2f .".N XJl. 2z/9 2v .".N XJl$S./. .".N vX-@-A`. 2/9 2~ .". N XJo .".` .".@`NVH$n* HH$Jg* g .N * %n fz pl> "| 4 q%HA&H* HH"| 5#%jBLN^Nu "| 8A%HA(H* HH"| 5#`* HH"| 5A"jC .N Jg `NVH-| n-H-H||A-HHn//. N $ nB LN^NuNVH<$n&nBB.G(J`RHH$gp%f -@"gtѮ "f&Sm kR`P.p/N  X`> + f."/ /+N P @"'H`./."p// N  Jf+ f .L<N^Nup-@-@-@-@-@RHH$  g$ #g" +g -fR`R`R`R`p*f$pѮ n -hl .D-@RR`Bp0fRB` .Ѐ"Ё"0Ё-@RHH$ | 30(f .gJg .`p-@`VR *fpѮ n -hR`8B` .Ѐ"Ё"0Ё-@RHH$ | 30(fBHH hg lfRR-| 2LAG-HHp-@-@HH$ Jgv Eg Gg XgT cg dgL eg fg gg og* sg ug xfp` p`p`p-@Jlp-@JfpdpѮ n -h>pdfBJ>l-| 2L >g* .>D-@>`Jg -| 2L`Jg-| 2LpXf | 2` | 2-H*I\*L`Dp>-@ .>-@>.N JЀЮ"n*1. .>N ,-@>J>f Ю-@Jgȹg  Xg4 og xf-| 2L` lp-@`-| 2L`xJlp-@pѮ n -h6-h:Hn.Hn2 .Rrl .R`p//.:/.6N 6 @(HJ.g -| 2L`Jg -| 2L`Jg-| 2LKQJgHH`p0JfJg.-n`SJoJfIQ. 2/9 2 .6".:N XJg .2S-@"JlD`Jlp-@pѮ n -h6-h:Hn.Hn2 + f."/ /+N P @"'H`./."p// N  SmVSm kRr0`.p0/N  X` kR"nHRH`. nHRHp/N  X nHJg$Sm` kRr `.p /N  XS .䰮&mSm`J"g@p . ."N J0rH"nHp . ."N ,-@"`pH nH0 nHCEbJ2n . 2/9 2 .6".:N XJfp+`p-rH"nH | 30(gpE`perH"nH`>NVp././././. /.N> @ N^NuNVp././././. /.N @ N^NuNVH<$n&| 7 ."KI . fp.N /N X. 2/9 2 .". N XJlp`p"n"g .". @-@-A B9 7B. 2/9 2 .". N XJgd*| 2R. 36/9 32 .". N XJm,`>./ .". N \X-@-A -ђ`. 3>/9 3: .". N XJm`-y 3B-y 3F` -n-n./. 9 3J"9 3NN (X-@-A. /.".N XJo`. 3f/9 3b .". N XJln`8./ .". N (X-@-A -` M o2./ .". N (X. 3n/9 3jN XJl`Jgҹ 7eй 88c(| 88. 3v/9 3r .". N XJg 7e0`T .". N $ 0 N ./ .". N X./ 9 3z"9 3~N (X-@-A e$&L 5m0 7f1 7RJgR`R`R0R# 9nB | 7 L<N^Nu M o./ .". N XJm`./. .". N \XN $ 0 N ./.N (X./ .". N X-@-A R. 3V/9 3R .".N XJo^. 3^/9 3Z .".N \X-@-A`ZH?L ` H?LN "LNuH? o "($/ &/$N " LNuH? o/N X$/ &/$N//N P LNuH?$& /"/ `H?$/&/ /$"/(Nj "LNuH? o$&( / "/$NF " LNuH? o/N X$& / "/$N//N P LNu@UUŰcBCEHN JGf(g~JFf `0 FgrFDGQGmfJf` ^GkQJkցՀd RF Fm`LdFED@N N M fBNuN F`(fFfJj$<B`$<B`H?$& /"/ `H?$/&/ /$"/(Nj "LNuH? o$&( / "/$NF " LNuH? o/N X$& / "/$N//N P LNu*BNb:G8<a,8<aᏄg$&<FN `.HGODfJfJgRGSGgNu8<@ANBCFgDgNg Dg,NuNJk&Fg"Jg `Jk6g2$<`N LNu"`"/H8NVN0 LNu$<&HCĀ(f<Jg,<`&HBJ Bf4<`<Jg<`SB<B2Nu m `B>BFCNBNr, AKNux ,<.̂(ȃ⊄(΀ȁ∀NuJf F m F BJgk [ZNu< @# 8:p 8: @# 8># 8> 8F# 8: 8B .^"$$y 8BB 8N`( 8Ff 8:fR 8N  8Nn*f,`# 8B$&R+g Ae Ad&Jp @$Hc` A# 8Bc# 8J y 8B p 8B @$A L N^Nu " # 8Np.N  @&H 9 8NAe 9 8N.N  @&H rf` y 8F y 8FAgp"y 8F @" 9 8NAA&# 8Fr 8:"A `NVH $n&JY# 8Bp @&L N^NuNVH &n+g.N +-@. N @$H gngh-K-J . V"$d-B` nX"nX .SJfd$ Ae A"% 8J J L N^Nu 9 6 ѯ0<N@dN "V 9 6 # 6 Nu0<N@dN "V# 6 BNu0<N@dN "VBNuNVHn/<T/.N : JlpN^Nup`0<6N@dN "VNuNVH8BJlDF$".l"D`NVH8B .lDF$". lF lB@H@0B@H@`,& l//N !PlDJlDLN^Nu0<N@dN "VNu0<N@dN "VNu0<N@dN "VNu o"opWf /Nu o"ofBNu / oSJg*Vf g`BNu H!HAHNuHHDNuNVH8&".(`NVH8 .&". ( lH@40H@0H@`2 l$//N !PlS LN^NuNVH0$.&. B02HBHC҂HABAЁL N^Nu0<N@dN "VJg o Nu0<N@dN "VNu# 6pNuNVN .N N^Nu   4 4 4 e f g h i j k l !m /n Go _p qq r s t u v %w < I Z o      6 V {  - . / 20 ^1   B * f $  J    T    , f    B v    L    & b    : p    P  t  &errout&pos&random&subject&trace&input&output rabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZcan't open interpreter filer#!#!invalid format for interpretable filecan't read interpreter file headerinsufficient memoryTried to read %d bytes of code, and got %d can't read interpreter codeTRACENBUFSNSTACKSSTKSIZESTRSIZEHEAPSIZEICONCORENOERRBUFerror at line %d in %s %s error in startup code %s System error at line %d in %s %s System error in startup code %s integer expectednumeric expectedstring expectedcset expectedfile expectedprocedure or integer expectedrecord expectedlist expectedstring or file expectedstring or list expectedvariable expectedinvalid type to size operationinvalid type to random operationinvalid type to subscript operationlist or table expectedinvalid type to element generatormissing main procedureco-expression expectedset expecteddivision by zeroremaindering by zerointeger overflowreal overflow, underflow, or division by zerovalue out of rangenegative first operand to real exponentiationinvalid field namesecond and third arguments to map of unequal lengthinvalid second argument to openargument to system function too longby clause equal to zeroattempt to read file not open for readingattempt to write file not open for writinginsufficient storage in block regioninsufficient storage in string spaceinsufficient storage for garbage collectioninsufficient storage for system stackinsufficient storage for co-expressionsco-expressions not supportedRun-time error %d at line %d in %s Run-time error %d in startup code %s offending value: Unknown opcode %d, pc = %d $< absabs$ >anyany$ balbal$ centercenter $ f $closeclose$! ^collectcollect$!8 copycopycopy: illegal datatype.$$ csetcset$$ deletedelete$%d Xdisplaydisplay local identifiers: = = = global identifiers: = $( exitexit$( findfind$* Fgetget$*  imageimage""&null&ascii&cset&lcase&ucase''&input&output&erroutfile()procedure function record constructor list(%d)list element blocktable(%d)table element blockset(%d)set element block(%d)record (%d)co-expressionimage: unknown type.\\"\'\\\b\d\e\f\n\r\t\v$1 insertinsert$2R integerinteger$2 Mleftleft $3 listlist$4t manymany$5 mapmap$7r &matchmatch$8 _membermember$8 movemove$9 numericnumeric$:  openopen$< >poppop$=` rpospos$= procproc$> pullpull$> pushpush$?` Hputput$@  }readread$@ readsreads$A realreal$A !replrepl$B Zreversereverse$Cd rightright $D seqseq$E  setset$F\ 5sortsort$K kstopstop$L stringstring$M: systemsystem$M tabtab$Nn Jtabletable$N trimtrim$OF typetypestringnullintegerrealcsetfileprocedurelistlist element blocktabletable element blocksetset element blockco-expressiontype: unknown type.$Q  uptoupto$R& writewrite$S writeswrites$U8 K:=:=$U |!!$X ||||$Z2 ~~$[ ----$] @//$^ r======$^ ****$a ||||||$b  ====$cN >>>=>>=$c q>>>>$d <<=<<=$eL <<<<$e  ~==~==$f <--$g l%%$h **$i --$jz ~===~===$j 2\\$k b//$kT ++$k ==$k >=>=$l. $>>$ld U<=<=$l <<$l ~=~=$m ++$m 0^^$o =~=~@=~=~=~=~=~=~??list reference out of bounds in random$v\  <-<-$v :^^$x l<-><->$z0 ::$| **$| [][]list reference out of bounds in subsc$ X:=::=:$* ==$ tobytoby$ ++++$ !"..create: illegal entry pointfield: second operand not field number " " " " " " " # # # # # #$ #) #. #5 #? #G #P@N@@SundayMondayTuesdayWednesdayThursdayFridaySaturdayJanuaryFebruaryMarchAprilMayJuneJulyAugustSeptemberOctoberNovemberDecember%02d:%02d:%02d%04d/%02d/%02dpmam%s, %s %d, %d %d:%02d %sIcon, Version 5.10, August 1985Icon, Version 5.10, August 1985-sys unixpc -ibin /usr/lib -iconx /usr/bin -usg -host UNIX iwjsb SYSTEM5 2.91.00 mc68k-sys unixpc -ibin /usr/lib -iconx /usr/bin -usg -host UNIX iwjsb SYSTEM5 2.91.00 mc68kkeyword: unknown keyword type.mkrec: procedure block not on stackno expression stack spaceanycmp: unknown datatype.order: unknown datatype.  AAAAAABBBBBB ACp@$Cp@$A?@ (8  0   ' ' ' ' ' ' ' ' ' ( ( (- (@ (M (X (i (v ( ( ( ( (illegal nameillegal namelong integerreal numbercsetfileprocedurelist header blocktable header blockrecordtable element blocklist element blocksubstring tvkeyword tvtable element tvillegal nameillegal nameillegal nameexpression stackrefresh blockset header blockset memberderef: illegal trapped variabledoasgn: illegal trapped variable%08x: %15sstr. qualifier%15sinterior ptr.%15s%15sinteger %08x %08x Dump of block region. base:%08x free:%08x max:%08x loc type size contents %08x %15s %4d end of block region. A?X@@ݓ0Ju@NNPAV'-As@U&8?Ge+?f;@È?G???UNIX iwjsb SYSTEM5 2.91.00 mc68k?.B9@kU?栞f;8 @>$q3%#FmH?r ( @3{ !|D?@@???...variable = &null%d%s&ascii&cset&lcase&ucase...&input&output&outputfile(procedurefunctionrecord constructor%s table(%d)set(%d)record ()(%d)&subject[%d][%d+:%d] = = = co-expression%soutimage: unknown type\"\'\\\b\d\e\f\n\r\t\v\%03olist(%d)..., / /  / B / / / * / f / / / $ / / /  / J /  /  /  / T /  /  /  / , 0 f 0  0  0  0 B 0 v 0$  0)  0.  02 L 07  0=  0B  0G & 0O b 0U  0Y  0]  0b : 0g p 0n  0u  0y  0 P 0  0 t 0  0  0  0 N 0 ~ 0  0  0  0 B 0 v 0  0  0  0 B 0 t 0  0  0  0 > 0 n 0  0  0  0 4 0 d 0  0  0  0 & 0 X 0  0  0  0 2 0  0  0 < 0 p 0  0  1 ( 1 \ 1 1 1 absanybalcenterclosecollectcopycsetdeletedisplayexitfindgetimageinsertintegerleftlistmanymapmatchmembermovenumericopenpopposprocpullpushputreadreadsrealreplreverserightseqsetsortstopstringsystemtabtabletrimtypeuptowritewrites:=!||~--/===**|||==>>=>><<=<<~==-%*-~===\/+=>=><=<~=+^?<-^<->:*[]:=:=...++. returned failed suspended resumed%.10s: %d M:/Day Mon 00 00:00:00 1900 SunMonTueWedThuFriSatJanFebMarAprMayJunJulAugSepOctNovDecTZFP 1 1ESTEDTC0C0C0?/bin/shsh-cA>???-+ 0123456789ABCDEF0123456789abcdef0x0X-+ -+ Fn CAy7Aׄ@È@Y@$C@@$@$@$@$@$?@$@$ ((((( H /bin/shsh-c : > 8 8 5 9 B&0707070000020070231007550001460001440000010614160354363644600001200000001702iconx.hdrP .text .data@.bss OQ./HJf/H#N,/N0<N@NV n -Pp/./.N$XJg./. NX.NR @-H#"p../N$XJf8.NjJg,./. NX`HnNNXJgHn/. NvPHn/.NPJf.N Jg./. NJXpd.NN^NuNVp./.NXJfHn/.NP.gpN^Nup`NV n!| n nA./< NX.NN^NuNV`R" y" :g y"JfpN^Nu n R "y"R"A .:gJ.fS"S n R / n R "nRf n Bp`NV.NHN^NuNV./. /.N/< N<( N#HnNX$pfpLN^NuNVJ m" . l. .Ю /NXN^Nu./. /.NP`NVJ g&. /./9 /< _/9 N<(.N.N^NuNVJ g*./. /./9 /< o/9 N<( . m . N8.N . "y Jn, . .N . "y Ar  N^Nu . "y  1"9 X.N`NVJ g*./. /./9 /< /9 N<(.N6. NTN^NuNV 9 Z J gNJ m./. /./9 /< `. . D//./9 /< /9 N<(.N. N N^NuNVJ g*./. /./9 /< /9 N<(.Nr. N N^NuNVJ g.././. /./9 /< /9 N<(.N$. N B.N :N^NuNVJ g*./. /./9 /< /9 N<(.N. N ZN^NuNV`*J g. /< /9 N<(Pp.N 9 fN^NuNVH$. "Ё"y 1g "Ё"y A-h-hJ gPp./9 /< /9 N<( p.HnN \X././<  /9 N<( p.N lp` "Ё"y 1g "Ё"y -qJ gHp./9 /< +/9 N<( p.HnN X./< 2/9 N<(Pp.N p.HnN <` "Ё"y 1gv` CBRpm "Ё"y $q "Ё&1 `,HH(pHHCāR SJfJ g6p./9 /< =/9 N<( . D/9 N<(Xp.N "Ё"y . N p .HnN DXJ gp.HnN XLN^NuNVH . ЮЮ$-@J gp./9 /< F/9 N<( ./< M/9 N<(P 9 Ю./< Q/9 N<(P. /< X/9 N<(P./< \/9 N<(P./< `/9 N<(P./< d/9 N<(P. . //.N_X//< i/9 N<(p.N .N 9 ЮQ.N z. N r.N j.N b.N Z.N_.N J . .N :t` "ЀЁ"y 1gh "ЀЁ"y $qJ g0. // N_X//< z/9 N<(.N_.N .NR ovt` "ЀЁ"y 1gh "ЀЁ"y $qJ g0. // N_X//< /9 N<(.N_.N0 .N"R ovt` "ЀЁ"y 1gh "ЀЁ"y $qJ g0. // N_X//< /9 N<(.N_.N .NR ovLN^NuNVH N-y J g$. /9 /< /9 N<( . N.&y `b+ gR$k'y J g. /< /9 N<(Pp./< /9 N<(Pp$./< /9 N<(P. /9 N<(X. /< /9 N<(P. /9 N<(X./< /9 N<(P. /9 N<(X. // N_X//< /9 N<(p.Np$.Np.N. Np.N.Np.N.N_.N .N e-y J g. /< /9 N<(P-y `J g. /< /9 N<(P n-h t`JgF n (f:J g n./< "/9 N<(P n.N n-P`$J g. &/9 N<(Xp.NJ g> gpf0 y Sm y "hRp `. p /N[XR o@ n  e-y &y `+ gLJ g0. +D//</9 /< */9 N<(.N +D`+ g$J gZ./+/</9 /< >`,+ gXJ g,./+/</9 /< T/9 N<(.N.N e"-y &y `jJ g<. + //+N_X//9 /< {/9 N<(.N_.N$ + .N e-y $9 `6J g. /< /9 N<(P.Np.NSJnN -y J g$y `V y "hRp `BJ g(./</9 /< j/9 N<(.NNp.` dxHH./9 /< /9 N<( t`& d"HH./< /9 N<(PSJn y SlB. p /N[X` 9  ./9  y ( HH/NdP 9  ѹ -y -y J g./< /9 N<(P./< /9 N<(P./< /9 N<(P./< /9 N<(P./< /9 N<(P./< /9 N<(P./< /9 N<(P./< /9 N<(Pp./9 /9 N:Pp .Hn y ( HH/NdPL N^NuNV y "y  αe . N8-nB` .C1"y R mpѹ ѹ N^NuNV y "y  αe . (N8-nB` .C1"y R epѹ ѹ N^NuNV y  "y  αc . AN8 . ѹ ` y R "nR . S JfN^NuNVB`Fpf. Z/9 N<(X ."n1HH./< ]/9 N<(PR . m y Sm y "hRp N^Nu. p /N[X`NV y   c(   ./9  y ( HH/NdP#  N^NuNVHt` "y BR mLN^NuNVH . m . cN8 ."y -qo . |N8Jl> 9 r쐁-@ y "9 Ү$HGItplR` ."y # LN^NuNV y "y  αe . N8 y R  R N^NuNV. $/< /9 N<(PN^NuNVH `lB`dN: @$HND$N#.N2$ @-H&g p"CfVR . /p // N/ SJgND-@./9 N: @/N16PN#`p./< / N9fP SJgN#`HnNXrTg6-|`p# `ND$`:Nt @-H.N*N#`^. X/9 X/< /< N<( p.Nd`.X b@0; NJ `HnNX&pg `L N^Nu SJgNDN-@.g .쁮N: @$H.N2$ @-H&g,.g$ n gp./< / N9fP`,Jg.gp.ND//./ N/ N#`\NVH N @$H f pL N^NuB-y v .ЮJjDD`$ "| G./NXX-@l R-@` Jo-B .m n p` n +`zNVHN. @$H f LN^Nu.N_R.N, @`NVH$y `pfz LN^Nu y \Sm y \"hRp` . \NHXp./< 9NcX-@ f$. n/< L/< N<(Pp.Nd.Hn/.NcP-@. /p/HnNU p./</9 N:P. $N_# N8p. 9  //9 N:PJ g~.  y /(/< N^P. /< NYfX @# .f.. /9 X/< /< N<( p.Ndp./9 N=ZX-y `A# . //< XN8P.  y //< NP. /< XNYfX @# \.f.. X/9 X/< /< N<( p.Nd. /9 \N=ZXN. \N[HnN+X @-Hf@NJ o p.Ndp.NdLN^NuNVH$n&n (n` /f-KJf&nB` .fA-HfJg$nJf n LN^NuNVH$n&n (nB` /fB .fA-HfJg$nJf n LN^NuNV./< /< N<(Pp.NdN^NuNV. /< /< N<(PJ g. /< /< N<(PJg./< /< N<(PJ g. /< /< N<(PJg./< /< N<(P. /< N<(XN^NuNV. /< /< N<(PJ g. /< /< N<(PJg./< /< N<(PJ g. /< /< N<(PJg./< /< N<(P. /< N<(XR N^NuNVH $nt&HH gX gN +g& -g` Ѐ"ЁHHЁr0$`RR 0m 9oJg DL N^NuR` `NVH$n* * g lJg* fv$-n Jf$p.p/* HH/NcP"Ӯ` * f6Jo2 .n* ."*m .Ѫ .pLN^Nu* g %j* ./. * HH/NcP-@B`J* HH@g<.N[* gB* %j./. * HH/NcP-@ fp`hp`bNVHA -H. //.N>P$9 g pLN^Nu `NVHA-H.//. N>P$ n( g pLN^Nu `NVH $nJf.N^* f* g * HHrD€g&&| `+ g.N[ e%j* gp`* HH"|  1./** HH/NcP$Sm jRpL N^Nu g ` * g* Bp`NVH$n* HH$Jg* g .Na* %n fz pl> "|  q%HA&H* HH"| #%jBLN^Nu "| A%HA(H* HH"| #`* HH"| A"jC .NbJg `NVH-| n-H-H||A-HHn//. N> $ nB LN^NuNVH<$n&nBB.G(J`RHH$gp%f -@"gtѮ "f&Sm kR`P.p/N[X`> + f."/ /+NWtP @"'H`./."p// NU Jf+ f .L<N^Nup-@-@-@-@-@RHH$  g$ #g" +g -fR`R`R`R`p*f$pѮ n -hl .D-@RR`Bp0fRB` .Ѐ"Ё"0Ё-@RHH$ | 0(f .gJg .`p-@`VR *fpѮ n -hR`8B` .Ѐ"Ё"0Ё-@RHH$ | 0(fBHH hg lfRR-|  LAG-HHp-@-@HH$ Jgv Eg Gg XgT cg dgL eg fg gg og* sg ug xfp` p`p`p-@Jlp-@JfpdpѮ n -h>pdfBJ>l-|  L >g* .>D-@>`Jg -|  L`Jg-| LpXf | ` | "-H*I\*L`Dp>-@ .>-@>.Nc2ЀЮ"n*1. .>NV-@>J>f Ю-@Jgȹg  Xg4 og xf-| 3L` lp-@`-| 6L`xJlp-@pѮ n -h6-h:Hn.Hn2 .Rrl .R`p//.:/.6NH @(HJ.g -| 9L`Jg -| ;L`Jg-| =LKQJgHH`p0JfJg.-n`SJoJfIQ. /9  .6".:NMXJg .2S-@"JlD`Jlp-@pѮ n -h6-h:Hn.Hn2 + f."/ /+NWtP @"'H`./."p// NU SmVSm kRr0`.p0/N[X` kR"nHRH`. nHRHp/N[X nHJg$Sm` kRr `.p /N[XS .䰮&mSm`J"g@p . ."Nc20rH"nHp . ."NV-@"`pH nH0 nHCEbJ2n . /9  .6".:NMXJfp+`p-rH"nH | 0(gpE`perH"nH`>NVp././././. /.N> @ N^NuNVp././././. /.N @ N^NuNVH<$n&| x ."KI . fp.N_/NVX. J/9 F .". NMXJlp`p"n"g .". @-@-A B9 xB. R/9 N .". NMXJgd*| VR. /9  .". NMXJm,`>./ .". NOX-@-A -ђ`. /9  .". NMXJm`-y -y ` -n-n./. 9 "9 NPX-@-A. /.".NMXJo`. /9  .". NMXJln`8./ .". NPX-@-A -` M o2./ .". NPX. /9 NMXJl`Jgҹ xeй c(| . /9  .". NMXJg e0`T .". NR~$ 0 NRB./ .". NMX./ 9 "9 NPX-@-A e$&L 5m0 xf1 xRJgR`R`R0R# 9nB | x L<N^Nu M o./ .". NMXJm`./. .". NOXNR~$ 0 NRB./.NPX./ .". NMX-@-A R. /9  .".NMXJo^. /9  .".NOX-@-A`ZH?L ` H?LN "LNuH? o "($/ &/$N " LNuH? o/NR`X$/ &/$N//NRP LNuH?$& /"/ `H?$/&/ /$"/(Nj "LNuH? o$&( / "/$NF " LNuH? o/NR`X$& / "/$N//NRP LNu@UUŰcBCEHNSfJGf(g~JFf `0 FgrFDGQGmfJf` ^GkQJkցՀd RF Fm`LdFED@NSNSM fBNuNS`(fFfJj$<B`$<B`H?$& /"/ `H?$/&/ /$"/(Nj "LNuH? o$&( / "/$NF " LNuH? o/NR`X$& / "/$N//NRP LNu*BNb:G8<a,8<aᏄg$&<FNS`.HGODfJfJgRGSGgNu8<@ANBCFgDgNg Dg,NuNJk&Fg"Jg `Jk6g2$<`N LNu"`"/H8NVN0 LNu$<&HCĀ(f<Jg,<`&HBJ Bf4<`<Jg<`SB<B2Nu m `B>BFCNBNr, AKNux ,<.̂(ȃ⊄(΀ȁ∀NuJf F m F BJgk [ZNu< E J R W [ _ d i n r w }                absanybalcenterclosecollectcopycsetdeletedisplayexitfindgetimageinsertintegerleftlistmanymapmatchmembermovenumericopenpopposprocpullpushputreadreadsrealreplreverserightseqsetsortstopstringsystemtabtabletrimtypeuptowritewritesinvalid field nameefailpnullL%d: mark0globalstaticarglocalgencode: illegal constant gencode: illegal opcode(%d): %s %d: %d # %s %d: %d L%d # %s too many labels in ucode%d: %d %d # %s %d: %d *+%d # %s %d: %d *-%d # %s %d: %d I+%d # %s %d: %d I+%d,%d # %s %d: %d %d # %s %d: 0 %d: %d ( %g ) %d: %d ( %ld) %d: %d0%d: %d %d Z+%d %d %d %d %d %d I+%d # %s %d I+%d # %s %d I+%d # %s %d I+%d # %s %d: %d # record blocks %d: %d %d _mkrec+4 %d -2 %d 0 %d I+%d # %s %d: # record/field table %d: %d -1%d: %06o %d # %s %d: %06o Z+%d # %s %d: %06o Z+%d # %s %d: %d 0 # %s %d: %d I+%d # %s %d: 0 0 %d: %03o %03osize: %d trace: %d records: %d ftab: %d globals: %d gnames: %d statics: %d ident: %d out of code buffer spaceout of code buffer spaceout of code buffer space %03otoo many labels in ucodemultiply defined label in ucodeout of code buffer space%sinconsistent redeclarationinconsistent redeclaration%s: ill-formed global file %s ?@$@Y@@@È@jA.AcAׄAeB_ B7HvBmB0@BּC k&4CAy7Cv4WؠCmgNCX`=Dx@DKPDMՒD-JDxCyٝE *,(ET25EqE'/E1!F)>Y9F_%FnFȦ"FɝFЛ|G3BarMGhy GCWiG*???zG{?PbM?6C->h>>z򚼯H>Ey0:>. &֕=|׽=yd=q-=<%hIv=+<V<Ҳ؉ # )? 0@ 6A : B H N T Z ` fB lC q` vD |T E F               G  H I  J S K L M  ! "N 'X ." 6# <O A$ F% KP O& U' Z( a) f[ l* sQ z+ R\asgnbangbscancatccasechfailcoactcofailcomplconcoretcreatecsetdeclenddiffdivdupefailendeqvereterrorescanesuspfieldfileglobalgotoimplinitintinterinvokekeywdlablconcatlexeqlexgelexgtlexlelexltlexnelimitlinelinkllistlocallsuspmarkminusmodmultnegneqvnonnullnullnumbernumeqnumgenumgtnumlenumltnumnepfailpluspnullpoppowerpretprocpsusppush1pushn1randomrasgnrealrecordrefreshrswapsdupsectsizestrsubscswaptabmattobytraceunionsunmarkvaluevarout of identifier table spaceout of local symbol table space.undeclared identifier, procedure putloc: global not in global tableputloc: unknown flagsout of constant table spaceputconst: bad flags: %06o %011o out of global symbol table spaceout of field table spaceout of field table space for record lists /bin/echo iconx path not in.u2.icnr%s: cannot open %s w%s: cannot create %s #!iconx /usr/lib/iconx.hdrCan't open linker header file %s /usr/lib/iconx.hdr.uxw%s: cannot create %s .u1.icnr%s: cannot open %s %s %s: %d: "%s": %s%s %s: %d: "%s": %s%s -+ 0123456789ABCDEF0123456789abcdef0x0X-+ -+ Fn CAy7Aׄ@È@Y@$C@@$@$@$@$@$?@$@$ ((((( H H "P     &X0707070000020070001007550001460001440000010460740354363647600000600000132200itranR v8" .textv .data 8|@.bss 8 8" OQ./HJf/H# 8N,/Nv0<N@NVHB n -P$| G# H` n P(HHJg> Dg SgR mg. sg8 tg& ufB ` n $`R`R `R `~ n P (hf n PA.NH-@Jo0 n P(HHc b@0; NJ ,$ 8# `# `# `# ` n PA.NH-@Jo n P(HH Cg Lg cgF fg ggH ig6 lgB rgp sg: tf<# `T# `J# `@# `6# `,# `" n ./< $/< 7(NLNP` n $SgpѮ n P -f`B`@p# Jf4 P -f # 7 ;`f. 6 y H/NkX @# ;`F. 8/< 8NuX y H./< 8NuX. J ;f y H././< D`. ;/9 ;NMXJ f y H./< X/< 7(NLNP. ] y H//< GN$P. a y H//< GN P. e/< GNkX @# ;.f,. G/./< g/< 7(NLN R `. ?/9 ;NMX. }/< GNkX @# ;.f. G/./< `. C/9 ;NMXNAN|Jf. ;Nl`.. ;NJtJg./< /< 7(NLNPR . ;Nl. ;NlX H y HJf  f. `6  o. /< /< 7(NLNP`J f. /< 7(NLNX  f. `6  o. /< /< 7(NLNP`.J f. /< 7(NLNX`J o. `J o p.Nvp.NvLN^NuNVH$n&n (n` /f-KJf&nB` .fA-HfJg$nJf n LN^NuNV 9 R# "| H#N^NuNV 9 S# N^NuNV 9 "| HJg(. n /(/(p /N, @ N^Nu n`NVH< tp# B By G(| ITAc. NF`6X( H`09 H b @0; NJ((0H./9 H/9 NDPR 3 `j0HЀ"| 401@6m< Cl60HЀ"| 001HЀ"| , qf0HЀ"| 041`20HЀ"| 461UYAdpL< N^NuJ gp# 0HЀ"| 461 CoJ lNB# lB y mZ Cm`R0HЀ"| 0610HЀ"| ,01H f(p# # H H4Jy olSy `b0HЀ"| x61 Cf,J lNB# lB *| `X Uf0-Bf`. ;N@`J f R. /9 ;N@XB `J f.NB NN6^` R. NH~`p`# H`.p / j/( N7P# H`p./*/*/* j/(/(p`X# H.p/ j/( N7P`,B H`"# H`p./9 H R/( N7P# H`p./9 H R/( N7P *R @# H`p# H`p `p.N`# H`./* j/(/(p"`./*/* j/(/(p `./*/* j/(/(p /N`r./*/* j`./*/* j/(/(p`.`~./* j/(/(p%/N`./*/* j/(/(p&`z./* j/(/(p`./* j/(/(p`p.N @.//* j/(/(p`(. R/(/(p`. R/(/(p/N, `z./* j/(/(p'`:. j/(/(p `p. R/( N8X` R./(p/NP` . j/(/(p`p`NN` j f.p/NX @/`# H`. j/(/(p`0./*/* j/(/(p`p.N @. j/(/(p/N, @./* j/(/(p`0p.Nx`. j/(/(p/N, @.`./* j`./* j/(/(p`p.`. R. N;h# Hf R. /< NEX. H j/(/(p`0p.N @.//* j`./*/* j/(/(p`p.N @./ R` ./* j/(/(p`0. j/(/(p$`p.N @.//* j`./*/* j/(/(p`./* j/(/(p`./* j/(/(p `./* j/(/(p`./NX`./NX @./* j/(/(p`hp./<` p./< R` R./</( N9P"R#@ `& R./< `./*/*/* j/(/(p!/N:`S b@0; NJ&,:^,~".F``F,Rbbb",B`B\B\B\Bx 8Flx.XJUm 0H f6-lp`JCgB0HЀ"| 01HЀ$L0HЀ01H则# H=C0HЀ"| 610HЀ"| 01SR@=@ @l*HЀ"| 0410HЀ"| ,01H2HDg0HЀ"| 01HЀ"| 0410.H`NVHJ g*# 8 H y 8# Q# Q$y `BB`. &/N`. &/N X @$H g./9 Q/9 Qp/N, @# HJgJ g* g# H 8# # " QB Q.g/9 Q/9 Qp/N, @# H <gLN^Nu$9 &` p f RB` p#fRN t$pgJfp#g | &F0(f# Q "# Q#  QpfZ 9 R JgB p # &# H ``p# &$| -*B HB p#  *`2 | &0(HH$ | &F0(HHr€fP | &F0(g. &/NX @$H fz`p"gp'f(. &/N`NVH . HH$$y Q Qe . *NF N2"| &1HH$ | &F0(HHr€f Qe . >NFB n N @&H g6./9 Q/9 Qp/N, @# H K L N^Nu Q.N5 @./9 Q/9 Qp/N, @# H | ,`NVH &y QHH"| &F1gBHHr_"| 2.$q f`& Rf./NgXJf J L N^Nu` `NVH<. HH$ | &F0(g r0` p &-y QxB`xٮ` | &F0(g,0(g r0` p * Ѐ"ЁЅ`p.g | &F0(g  ` ref xR` | &F0(g  ` rrfxpmp$oZp./< fNEX`D | &F0(f4 | &F0(g  ` refpx` p+gp-fx` | &F0(gx`p./< `f | &F0(g&` | &F0(f0(HHr€g* | &F0(g r0` p lx`~p./< NEX` | &F0(f0(HHr€g | &F0(g r0` p m$p./< NEX9 &gpJ`p#& n Qe . RNF nR"N"| &1HH$  b@0; NJnJ n Qe . NF nRB n JgL .쐹 Q.N5 @./9 Q/9 Qp/N, @# H | - LN&pgpampfnpW`LN^NupAm pFnp7 鈀$ Rrm` | &F08gp0`#  `NVH $| ). `\`z$jN"| &1`dp./< !NEX n r L N^Nu n HH` n r j`S b@0; NJgfz*HH`NVH$9 g B ` y ;Sm y ;"hRp` . ;NL$  g& g8 g f8R B `0B `p R# `J gS `R  LN^NuNVH$y Q JA# Q Qc . 8NF$ J LN^NuNVH$y Q JA # Q Qc . JNF$%n %n J LN^NuNVH$y Q JA# Q Qc . \NF$%n %n%n J LN^NuNVH$y Q JA# Q Qc . nNF$%n %n%n %n J LN^NuNVH$y Q JA# Q Qc . NF$%n %n%n %n%n J LN^NuNVH$y Q JA# Q Qc . NF$%n %n%n %n%n%n  J LN^NuNV# Q QN^NuNVp# 8.NN^NuNVH $nv S &b@0; NJ'N&j&F"Xf~VhH   t  x P j & f . N.Nh j & f . Nr.NH.N. NX j & fP. `p.N$./< NHX y : R. N y : S. N R./< NX.N.N R.N`. N.N f . N.N.NR j . N`p.NJ$.N^p./< NX y : R. N: y : S./< NfX. N:`> y : Jn . `8 y : ./< NTXA"y :  : . Npѹ : A"y : """" y : ./< NX` p.Nn$P :t y :t y :tBp./<  NX y : R. NL y : S. NZ.N0 y :tJg. N< y :t.N ` . N".NQ :t`  j f:  f0 y :tJg.  /*NF` y :t!j` p.N$./< =NX y : R. BN. Nv.ND. HN y : Sp./< LNX. SNb.N8 y :t./< WNhX.N ` D. N` j ' f . \N.N j ' g . bN.N j ' f . f`P : y :"y : y :"y : !i y : B y : Bp.NZ$ T./< kNX.N\. pNr R./< tNX y : R. N, y : S.N. yN2. N( R.Np.N.N. N R./< NX T.Np.N.N./< NX y : "y : y : "y :!iQ :` . /< `. Nh&.N^ր` . `4. Nf. N<.N j. /< N`Z. /< ` j ft` p.N$./< N,X y : R. N y : Sp./< N(X.NJo R./< NX.N.N R.N` . /< N` j g.N\` . Nr.NH&.N./< `.N. /< `.N.N . N&p./< N8X y : R. N y : S. `. N j fv` . N&.N x./< NXv` j ( g g "gH #fp.N<$ : y : r!A y : "R y : "T!A y : r!A.N p.N .N p./< %N 6X.N j g&p./< *N :X./< 1N X.N y : .N p./< 6N X./< =`Dp.N n$ : y : !| y : y : "R!A y : r!Ap./< N X.N4. N L j gHp./< N RX y : r!A y : R.N y : Sp./< N BX y : .N . N `vp.N $ : y : r!A y : "R y : "T!A y : r!A.N rp.N >.N 6./< N X.NJ y : .N @p./< N X./<  `p.N $ : y : r!A y : "T y : "V!A y : r!A.N p.N .N R./< BN X.Np./< GN X. NN R.N ./< TN X.Nr y : .N hp./< YN X./< `N X y : .N < : `V 8 : e y : Jn . e`F y :  g$ o y : (S./< ~N DX y : ./< N X`p.N $./< N X y : R. N y : Sp./< N X. N .N n. `H# 8 : y : B y : B y : B# :$ :t# :x : j . /< /9 ;NLNP. ;N>. ;N?.. N y H./< N Xp.N.N j gDp.N $./< NX./< NX.Np./< NX.Nx j g.Nd j.N.. Np. NfJ fd.  y Q"9 Q/ j /( /< /< 7(NLN`(. /< `| :x :c. /*NFX j  gLp.N$./<  NX y : R.N y : S.N^. N.Nzp.NF.N>. `D j f f . Nh.N> j f f . NH.N. $N6.N .N. *N j f f. 0`. 5N.N.N j ] g Q f . ;N.N j .Nf j ] f. ?` j Q f . DN.N0. J`6p.N.$./< ON|X y : R. N& y : Sp./< TNxX.N.N`$. /< [`x :x :c. _/*NFXp./< {NX y : R. N y : S.Np. N. `l. N. Nt.Nl. N.N0. `6. Nh. N>.N6.N..N. ` j . N.N.N j . NL`./< NPX. NF L N^NuNVHt .$ Kb@0; NJL`lxT $0&2><JHVbnz$| `dR$| `XR$| `LR$| `@R$| `4R$| `($| `R$| `R$| `R$| `R$| `R$|  `R$| `R$| `R$| `R$| "`R$| &`R$| +`R$| 1`R$| 7`R$| =`vR$| C`jR$| I`^R$| O`R$| T`J$| Z`BR$| ``8R$| d`.$| i`&R$| n`./< uNX. |NF.NJg . NLN^NuNV .6 8b@0; NJ9||r. N. N. N. NN^Nu. NF`NVH .6 8b6@0; NJ9|&&&&&&&&r&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$| `$| `$| `$| `.^N2$| `.WN.WN.WN $| `n.RN$| `Z.WN.WN$| `>.jN$|  `,$| `$$| `./< NX. $NF.NXLN^NuNV . 4g# 4Jo./< DNpXN^NuNV./< I/9 ;NLNPN^NuNV./< R/9 ;NLNPN^NuNV. /./< W/9 ;NLN N^NuNV. /./< `/9 ;NLN N^NuNV./. /./< h/9 ;NLNN^NuNV. /./< t/9 ;NLN N^NuNVH$9 8 .ѹ 8 LN^NuNVH $y Q&nt` Qe . NFRJf.N @ L N^NuNVH$y Qt-n`HHԀ .SJf$y Q-nĹ Q "y Q&q f:./ p/NP @(H "y Q# .ѹ Q J LN^Nu .찫f./ /N,PJg k`Jf./ p/N@P @&`&S`NVH $.$n &n SJg gpL N^Nup`NVH y Q Q$H$%n %n J LN^NuNVH 9 Q Qr .Nf"9 o ` 9 Q Qr .Nf# J |g . |/< /< 7(NLNPB |$y Q`BX 9 "y QAe# Q Q y Q"9 QȒ 9 n y Q"9 QȒ # J g . /< /< 7(NLNPB $y Q`BX 9 "y QAe# Q QLN^NuNV . gX gp gf g g AgL f.N @-Hf. /.N`.N @-Hg n". N^Nu.N @-Hf./. /.NP`p"nf I".  n!n `./< NEX` n ( f./< !NFlX`~./< 7NEX`h. RNF`XNVH .N @$H fX . Q"y Q$q. /./ NzP @&H . Q"y Q# . Q"y Q 1` Qr .NfL N^NuNVH$.N @$H f~ . Q"y Q$q./. /./ N` @*H . Q"y Q# . Q"y Q 1 QJjDDL$N^Nu` y Q" `NVH. /.NX @$H f~ . Q"y Q$q. /././ N, @$ . Q"y Q# . Q"y Q 1 QJjDDLN^Nu` y Q" `NVH . Q"y Q$q`$R g jf J LN^NuNVH . Q"y Q$q`$R g jf J LN^NuNVH . Q"y Q$q`$R g jf * f J LN^NuNVH$.$| '` ./NgXJf *LN^NuPJlp`NVH 9 Q Qr .Nf./< {NL X. NL t`N "y Q$q`8./*/*/ Qr /NfX//< NL $R fR mLN^NuNVH y Q"9 Q䒈./< NL X. NL t`J "y Q$q`4. /*/*/*/ y Q" //< XNL $R fR mLN^NuNVH y Q"9 QȒ./< xNL X. NL t`F "y Q$q`0. /*/*/ y Q" //< NL $R fR mLN^NuNVH 9 "ЀЁ"y QA"y Qe(J |f . NFR | LN^Nu y Q Q$H$%n %n J`NVH 9 "y QA"y Qe(J f . NFR  LN^Nu y Q Q$H$%n %n%n J`NVH 9 "y QA"y Qȳe(J f . 1NFR  LN^Nu y Q Q$H$%n %n%n J`NVHt$y Q`*./* R//< M/.NLN QeLN^NuNVH B&y Q`. .R//< `/.NLN + @ g./< m/.NLNP`l$k +S$./< r` SJg"HH./< v/.NLNP` nSm n"hRp `.p /NmX Qe@L N^NuNVH 9 Q Qr .Nf./. /< |/.NLN t$y Q`&. R//< /.NLN QeLN^NuNVH   f$| `$| ./< /.NLNPJ g. /.NLNX-y Q`" n./< /.NLNP n-hJfB Q y Q"9 Q䒈./< /.NLNPt&y Q`.. /+/+ R//< /.NLN QeL N^NuNVHJ fN0# Q Q# Q Q# Q Q# Q Q# Q Q# Q Q$y Q`BX 9 "y QAe$y Q`BX 9 "y QAe$y Q`BX 9 "y QAe$y Q`BX 9 "y QAeB |B B LN^NuNVH. .Nh:$$y չ . Ntj @ rf LN^Nu J`NVHp.NtB @# t`Ԃ m#  S# Qt`Ԃ m#  S# Qt`Ԃ m#  S# Qt`Ԃ m#  S# Qp./9 NX @# Qp./9 NX @# Qp./9 NX @# Qp./9 NX @# Qp ./9 NX @# Qp./9 NX @# Qp./9 NX @# Qp ./9 NjX @# Qp./9 NRX @# Qp./9 N:X @# Q 9 "y QA# Q y Q # QJ Qf. /< 7(NLNXp.NvLN^NuNVH y HJg./< %/< 7(NLNP f*. %/< 7(NLNXR R LN^Nu n ./< %/< 7(NLNP n Jg$./.NX @./< %/< 7(NLNP$| `P gJl./< %/< 7(NLNP`pNV y HJg./< %/< 7(NLNP. Q/< %/< 7(NLNPJ g. /< %/< 7(NLNP./< %/< 7(NLNPR R N^NuNV y HJg./< &/< 7(NLNP./< &/< 7(NLNP. /< &/< 7(NLNPR R N^NuNV y HJg./< &/< 7(NLNP. Q/< &/< 7(NLNPJ g. /< &$/< 7(NLNP./< &+/< 7(NLNPR N^NuNV y HJg./< &//< 7(NLNP./9 /< &4/< 7(NLN p.NvN^NuNVH$. g g g g f n h LN^Nu$| ,`Jf | &A` *f R`NVp.p/NB~X @-H.f . 4NF nB.Nq-@Zr.p/NB~X @-H.f . 4NF././.NgP n n N^NuNV. 4NL -y Q`./< 4NL XHnNZX @-HfN^NuNV.N& @-HJ Qf # QN^Nu-y Q`-h nJf n!n`NV nJf N^Nu n-P"n  n`NVH $nt&HH gX gN +g& -g` Ѐ"ЁHHЁr0$`RR 0m 9oJg DL N^NuR` `NVHHnNKXJm n rf .` .$ n rf .` .&Nh(fr n rfp`p-@.Nt.Nt.p//NKHP.Ntp././< 5/< 5/< 4Nhp.Nhpf LN^Nu "| :#.Nt. /NKXX @`NVH n( HH$.Nl.p/NhX @-H.p/NhX @-H.p/NhX @-HHnNvX& "| :̶gpfpf-@.p/NhX.p/NhX.p/NhX .L N^Nu0<>N@dNvNuNVH $n Nl\ @&H g4BB+ n 'H'HHH ag& rg wg* L N^Nu `p.p//.NubP *+f + + K`0<*N@dNv o BNuNVHA -H. 7//.NNnP$9 7&g pLN^Nu `NVHA-H.//. NNnP$ n( g pLN^Nu `NVH $nJf.Npj* f* g * HHrD€g&&| 7 `+ g.NmP 8$e%j* gp`* HH"| 8( 1./** HH/NuP$Sm jRpL N^Nu g ` * g* Bp`NVH$n* HH$Jg* g .Nsb* %n fz pl> "| 7 q%HA&H* HH"| 8(#%jBLN^Nu "| QA%HA(H* HH"| 8(#`* HH"| 8(A"jC .NtJg `NVH<$n&nBB.G(J`RHH$gp%f -@"gtѮ "f&Sm kR`P.p/NmX`> + f."/ /+Ng>P @"'H`./."p// NeP Jf+ f .L<N^Nup-@-@-@-@-@RHH$  g$ #g" +g -fR`R`R`R`p*f$pѮ n -hl .D-@RR`Bp0fRB` .Ѐ"Ё"0Ё-@RHH$ | 60(f .gJg .`p-@`VR *fpѮ n -hR`8B` .Ѐ"Ё"0Ё-@RHH$ | 60(fBHH hg lfRR-| 5LAG-HHp-@-@HH$ Jgv Eg Gg XgT cg dgL eg fg gg og* sg ug xfp` p`p`p-@Jlp-@JfpdpѮ n -h>pdfBJ>l-| 5L >g* .>D-@>`Jg -| 5!L`Jg-| 5#LpXf | 5%` | 56-H*I\*L`Dp>-@ .>-@>.NtЀЮ"n*1. .>Nf-@>J>f Ю-@Jgȹg  Xg4 og xf-| 5GL` lp-@`-| 5JL`xJlp-@pѮ n -h6-h:Hn.Hn2 .Rrl .R`p//.:/.6NX @(HJ.g -| 5ML`Jg -| 5OL`Jg-| 5QLKQJgHH`p0JfJg.-n`SJoJfIQ. 5 /9 5 .6".:N]pXJg .2S-@"JlD`Jlp-@pѮ n -h6-h:Hn.Hn2 + f."/ /+Ng>P @"'H`./."p// NeP SmVSm kRr0`.p0/NmX` kR"nHRH`. nHRHp/NmX nHJg$Sm` kRr `.p /NmXS .䰮&mSm`J"g@p . ."Nt0rH"nHp . ."Nf-@"`pH nH0 nHCEbJ2n . 5/9 5 .6".:N]pXJfp+`p-rH"nH | 60(gpE`perH"nH`>NVp././././. /.N> @ N^NuNVp././././. /.N @ N^NuNVH<$n&| ; ."KI . fp.Nq/NfX. 5^/9 5Z .". N]pXJlp`p"n"g .". @-@-A B9 ;B. 5f/9 5b .". N]pXJgd*| 5jR. 5/9 5 .". N]pXJm,`>./ .". N^X-@-A -ђ`. 5/9 5 .". N]pXJm`-y 5-y 5` -n-n./. 9 5"9 5N`X-@-A. /.".N]pXJo`. 5/9 5 .". N]pXJln`8./ .". N`X-@-A -` M o2./ .". N`X. 5/9 5N]pXJl`Jgҹ ;eй ;jc(| ;j. 5/9 5 .". N]pXJg ;-e0`T .". NbH$ 0 Nb ./ .". N]pX./ 9 5"9 5N`X-@-A e$&L 5m0 ;f1 ;RJgR`R`R0R# 9nB | ; L<N^Nu M o./ .". N]pXJm`./. .". N^XNbH$ 0 Nb ./.N`X./ .". N]pX-@-A R. 5/9 5 .".N]pXJo^. 5/9 5 .".N^X-@-A`ZH?L ` H?LN "LNuH? o "($/ &/$N " LNuH? o/Nb*X$/ &/$N//Nb\P LNuH?$& /"/ `H?$/&/ /$"/(Nj "LNuH? o$&( / "/$NF " LNuH? o/Nb*X$& / "/$N//Nb\P LNu@UUŰcBCEHNc0JGf(g~JFf `0 FgrFDGQGmfJf` ^GkQJkցՀd RF Fm`LdFED@Nc`NcM fBNuNc`(fFfJj$<B`$<B`H?$& /"/ `H?$/&/ /$"/(Nj "LNuH? o$&( / "/$NF " LNuH? o/Nb*X$& / "/$N//Nb\P LNu*BNb:G8<a,8<aᏄg$&<FNc`.HGODfJfJgRGSGgNu8<@ANBCFgDgNg Dg,NuNJk&Fg"Jg `Jk6g2$<`N LNu"`"/H8NVN0 LNu$<&HCĀ(f<Jg,<`&HBJ Bf4<`<Jg<`SB<B2Nu m `B>BFCNBNr, AKNux ,<.̂(ȃ⊄(΀ȁ∀NuJf F m F BJgk [ZNu<PתJlp` (* HH"| 8( 1l.NqFf* HHrD€g.No .`(׮`N0<%N@dNvBNuNVH<zJlDD&".l&DD` NVH<z .lDD&". lDD( lB@H@40H@0H@`* l$//NvPPlS JlDL^;paZ ]o=-b[\`_,pqgpUD.I" /pBECQJ@A0OP?LpTMNF!SndHGpKR Ye<VWX>^;pppaZp]p=-(b[\&`_m,%j'k#lUD.I/BECQJc@A0fO  P?L TM:9N8F7S654321+H)GKRY<VWX>^;$sraZ"]ih=- b[ \ `_, *UD.I/BECQJ@A0OP?LTMNFSHGwKRyvu|!~}#{ztx    $%!xocnT()`ooofoooooooococoooioo;,EB?dcR\ooooooooo>o$oo  zge   !!!! ####""$$$%%%%%%%'''''''''''''''''''&&&&&&&&&&&&&13&&56&&&78&9:&&&&--..//0***++,;;<<22(((()===44g<%8=H PFG?B7@^jh9DmRW\JOCn`V6 #"P g?`f'&!l$dc>IAo_SkEiU:()*+,-./0123458JKLMNOWXYZ[\CV=H^@nRjDhT96%GFPB<Paag    eggb;]Q<Feeb baeag;;  !"$&ILN^bhnps z{|}~  ,-./0123456789:;<=>?@ABCDEFGHPQRSTUVWXYZ[\]`adefgjklm tuvwxy #%'()*+JMO_cioqr!  K@(#)yaccpar 4.1 (Berkeley) 2/11/83yacc stack overflowinvalid keyword out of string spaceout of string spaceout of string spaceinvalid radix for integer literalinvalid real literalinvalid integer literalinvalid digit in integer literalout of string spaceout of string spaceout of string spaceunclosed quoteinvalid characterout of tree spaceout of tree spaceout of tree spaceout of tree spaceout of tree spaceout of tree spacepnullsdupcoactasgnmarkesuspgotopnulldupmarkchfailesuspinvalid context for breakunmarkgotomarkeretpopefailmore than one default clausemarkccaseeqvunmarkpopgotopnullpopasgngotopopmarkcoretefailcofailgotocreatecsetpnullpnullfieldvarmarkunmarkgotointpushn1invokekeywdlimitmarklsusppnullllistmarkpopmarkunmarkefailmarkunmarkgotomarkunmarkmarkunmarkgotomarkunmarkefailmarkunmarkgotoinvalid context for nextunmarkgotomarkunmarkefailpnullproc %s declendfileinitmarkunmarkpfailend %s (%d/%d) realinvalid context for return or failmarkpretpfailpnullsdupbscanescanasgnpnulldupplusminussectmarkunmarkstrinvalid context for suspendmarkpsuspefailpnullpush1tobypnulltoby?????traverse: undefined node typeasgnpowercatdiffeqvintersubsclconcatlexeqlexgelexgtlexlelexltlexneminusmodneqvnumeqnumgenumgtnumlenumltnumneplusrasgnrswapdivmultswapunions?binopbinop: undefined binary operatorasgnpnullpnullpnullpnullunopa: undefined unary operatorvaluenonnullbangrefreshnumbercomplnegtabmatsizerandomnull?unopunopb: undefined unary operatorlinelab L%d %s %s L%d %s %d %s %d,L%d %s %s out of string space %d more entries needed in local symbol table %d more entries needed in literal symbol table inconsistent redeclarationredeclared identifierinconsistent redeclarationinstall: unrecognized symbol table flag.Dump of local symbol table (%d entries) loc blink id (name) flags %5d %5d %5d %20s %7o Dump of global symbol table (%d entries) loc blink id (name) flags nargs %5d %5d %5d %20s %7o %8d Dump of constant symbol table (%d entries) loc blink id (name) flags %5d %5d %5d %20s %7o out of local symbol table spaceout of global symbol table spaceout of constant table space local %d,%06o,%s con %d,%06o,%s ,%d,%03orecord %s,%d %d,%s localerrorimpl %s trace link %s.u1 global %d %d,%06o,%s,%d :ddd:Can't get enough memory       J ^ y     , - 4. W/ z0 1 ; B ] ^ 8_ X` ya b e i !j !p !:q !Jr !Zs !xt !u !v !w " "* "I "Y "i "y " " " " " " # # #/ #< #G #Z #t # # # # # # $ $ $- $? $U $g $w $ $ $ $ $ %  %  %A %O %j! %~" % %end of file expectedglobal, record, or procedure declaration expectedlink list expectedmissing semicolonglobal, record, or procedure declaration expectedmissing record nameinvalid global declarationmissing procedure namemissing procedure namemissing link file namemissing field list in record declarationmissing endmissing semicolon or operatorinvalid operand for unary operatorinvalid operand for unary operatorinvalid operand for unary operatorinvalid operand for unary operatorinvalid operand for unary operatorinvalid operand for unary operatorinvalid create expressioninvalid keyword constructioninvalid if control expressioninvalid case control expressioninvalid while control expressioninvalid until control expressioninvalid every control expressioninvalid repeat expressionmissing parameter list in procedure declarationinvalid local declarationinvalid initial expressioninvalid operandinvalid operandinvalid operand in assignmentinvalid operand in augmented assignmentinvalid operand in augmented assignmentinvalid operand in augmented assignmentinvalid operand in augmented assignmentinvalid to clauseinvalid operand in alternationinvalid operandinvalid operandinvalid operandinvalid operandinvalid operandinvalid operandinvalid operandinvalid reference or subscriptinvalid field namemissing right parenthesismissing right bracemissing right bracketmissing thenmissing ofmissing identifiermissing right parenthesismissing endinvalid declarationmissing semicolon or operatormissing right bracketmissing right parenthesisinvalid then clausemissing left braceinvalid do clauseinvalid do clauseinvalid do clauseinvalid argument listinvalid by clauseinvalid sectionmissing right parenthesismissing right bracketinvalid case clausemissing right bracket or ampersandmissing right bracemissing right parenthesisinvalid else clausemissing right brace or semicolonmissing colonmissing colon or ampersandinvalid case clauseinvalid default clauseinvalid case clausesyntax error%s, unexpected end of file line %d: "%s": %s %s, line %d: "%s": %s %s, line %d: %s %s, line %d: "%s": %s %s, line %d: %s ???  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./ :;<=>?@AC GHIJK M OPQ S U WXYZ[\]^_`ac ghijk m opq s u wxyz{|}~ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ) )  )asciiclockcsetdatedatelineerroutfailhostinputlcaselevelmainnulloutputposrandomsourcesubjecttimetraceucaseversionoptions, /. /[ 06] 1( 0) 1; 1{ 0*} 1! /v\ /j: )< )> )= *| )+ *$- *6* *H^ *~ +V/ *% +b? +& +@ += *Z /- *f< +z: ,.= , 1&| * /> +: ,= , 1= *r: + 0: + /: *+ * 1J: *- * 0: ** * 1: 1 .> 1z 1n= ,: ,F 0Z= *: ,  12: ,R= , 0= 1V 1>: + 2 = 0 0: +& /= 1: +2 0: +> 1: +J| + /= /= 2= /= 0= 1= /= * 1: +n 0= 0: ,v= , 0: ,^= , 0r: + 0B= 0N: + 1b= 1: + /= .: + .= .= .= / = .= .= .= .= /"= /^= /:= /.= /R= /F= .= /: ,: 1: ," 1: , 0~: ,j 0f: , 0: , 0 2 2 2 2 2 2 2 2 2  2  3  3  3  3 3 3 3% 3* 31 34 3< 3A 3G 3L 3P 3S 3] 3d 3k 3r 3y 3 3! 3" 3# 3$ 3% 3& 3' 3( 3) 3* 3+ 3, 3- 3. 3/ 30 31 32 33 34 35 36 37 38 39 3: 3; 3< 3= 3> 4? 4B 4@ 4 A 4C 4D 4E 4F 4G 4H 4#I 4)J 4,K 40L 43M 47N 4:O 4>P 4@Q 4CR 4ES 4IT 4KU 4OV 4TW 4VX 4YY 4[Z 4^[ 4`\ 4c] 4f^ 4h_ 4l` 4nc 4qd 4ua 4wb 4ye 4{g 4}f 4h 4i 4j 4k 4l 4m 4n 4o 4 -6 -N -f - - - - - - . . .& .J .b .z .identifierinteger-literalreal-literalstring-literalcset-literalend-of-filebreakbycasecreatedefaultdodynamicelseendeveryfailglobalifinitiallinklocalnextnotofprocedurerecordrepeatreturnstaticsuspendthentountilwhile:=@@:=&:==:====:=>=:=>:=<=:=<:=~=:=~===:===:=>>=:=>>:=<<=:=<<:=~==:=\!|^^:=:,||||:=&.----:====****:={[||||||:===>>=>><<=<<~==(-:--:=%%:=~====>=><=<~=+:++:=?<-<->}]);?:=//:=**:=:=:~++++:=end-of-filenot enough memory for file listnot enough memory for file listlfiles: '%s' /bin/shsh-c-+ 0123456789ABCDEF0123456789abcdef0x0X-+ -+ Fn CAy7Aׄ@È@Y@$C@@$@$@$@$@$?@$@$ ((((( H S W( R R 8$ R [00707070000020073511007770001460001440000010727660354560035200001400000000023meander.databc:2 1234:2 ABC:4 0707070000020070111007770001460001440000010727670354557774200001400000001402meander.icn# # M E A N D E R I N G S T R I N G S # # This main procedure accepts specifications for meandering strings # from standard input with the alphabet separated from the length by # a colon. procedure main() local line, alpha, n while line := read() do { line ? if alpha := tab(upto(':')) then { move(1) if n := integer(tab(0)) then write(meander(alpha,n)) else write("erroneous input") } else write("erroneous input") } end procedure meander(alpha,n) local result, t, i, c, k i := k := *alpha t := n-1 result := repl(alpha[1],t) while c := alpha[i] do { if find(result[-t:0] || c,result) then i -:= 1 else {result ||:= c; i := k} } return result end 0707070000020067761007770001460001440000010727700354557734200001600000067026overview.icon An Overview of the Icon Programming Language* Ralph E. Griswold TR 83-3a May 13, 1983 Department of Computer Science The University of Arizona Tucson, Arizona 85721 *This work was supported by the National Science Foundation under Grant MCS81-01916. An Overview of the Icon Programming Language 1.0 Introduction Icon is a high-level programming language with extensive facilities for processing strings and lists. Icon has several novel features, including expressions that may produce sequences of results, goal-directed evaluation that automatically searches for a successful result, and string scanning that allows opera- tions on strings to be formulated at a high conceptual level. Icon resembles SNOBOL4 [1] in its emphasis on high-level string processing and a design philosophy that allows ease of programming and short, concise programs. Like SNOBOL4, storage allocation and garbage collection are automatic in Icon, and there are few restrictions on the sizes of objects. Strings, lists, and other structures are created during program execution and their size does not need to be known when a program is writ- ten. Values are converted to expected types automatically; for example, numeral strings read in as input can be used in numeri- cal computations without explicit conversion. Whereas SNOBOL4 has a pattern-matching facility that is separate from the rest of the language, string scanning is integrated with the rest of the language facilities in Icon. Unlike SNOBOL4, Icon has an expression-based syntax with reserved words; in appearance, Icon programs resemble those of several other conventional programming languages. Examples of the kinds of problems for which Icon is well sui- ted are: + text analysis, editing, and reformatting + document preparation + symbolic mathematics + text generation + program parsing and translation + data laundry + graph manipulation Icon is implemented in C [2] and runs under UNIX8*9 on the PDP- __________________________ 8 *9UNIX is a trademark of Bell Laboratories. - 1 - 11, VAX-11, and Onyx C8002 computers. Implementations for other computers and operating systems are presently underway. An ear- lier version of Icon [3] is available on several large-scale com- puters, including the CRAY-1, DEC-10, IBM 360/370, PRIME 450/550/650, DG MV8000, and CDC Cyber/6000. A brief description of some of the representative features of Icon is given in the following sections. This description is not rigorous and does not include many features of Icon. See [4] for a complete description. 2.0 Strings Strings of characters may be arbitrarily long, limited only by the architecture of the computer on which Icon is implemented. A string may be specified literally by enclosing it in double quo- tation marks, as in greeting := "Hello world" which assigns an 11-character string to greeting, and address := "" which assigns the zero-length empty string to address. The num- ber of characters in a string s, its size, is given by *s. For example, *greeting is 11 and *address is 0. Icon uses the ASCII character set, extended to 256 characters. There are escape conventions, similar to those of C, for representing characters that cannot be keyboarded. Strings also can be read in and written out, as in line := read() and write(line) Strings can be constructed by concatenation, as in element := "(" || read() || ")" If the concatenation of a number of strings is to be written out, the write function can be used with several arguments to avoid actual concatenation: write("(",read(),")") Substrings can be formed by subscripting strings with range specifications that indicate, by position, the desired range of - 2 - characters. For example, middle := line[10:20] assigns to middle the string of characters of line between posi- tions 10 and 20. Similarly, write(line[2]) writes the second character of line. The value 0 is used to refer to the position after the last character of a string. Thus write(line[2:0]) writes the substring of line from the second character to the end, thus omitting the first character. An assignment can be made to the substring of string-valued variable to change its value. For example, line[2] := "..." replaces the second character of line by three dots. Note that the size of line changes automatically. There are many functions for analyzing strings. An example is find(s1,s2) which produces the position in s2 at which s1 occurs as a sub- string. For example, if the value of greeting is as given ear- lier, find("or",greeting) produces the value 8. See Section 4.2 for the handling of situa- tions in which s1 does not occur in s2, or in which it occurs at several different positions. 3.0 Character Cets While strings are sequences of characters, csets are sets of characters in which membership rather than order is significant. Csets are represented literally using single enclosing quotation marks, as in vowels := 'aeiouAEIOU' Two useful built-in csets are &lcase and &ucase, which consist of the lowercase and uppercase letters, respectively. Set opera- tions are provided for csets. For example, - 3 - letters := &lcase ++ &ucase forms the cset union of the lowercase and uppercase letters and assigns the resulting cset to letters, while consonants := letters -- 'aeiouAEIOU' forms the cset difference of the letters and the vowels and assigns the resulting cset to consonants. Csets are useful in situations in which any one of a number of characters is significant. An example is the string analysis function upto(c,s) which produces the position s at which any character in c occurs. For example, upto(vowels,greeting) produces 2. Another string analysis function that uses csets is many(c,s) which produces the position in s after an initial substring con- sisting only of characters that occur in s. An example of the use of many is in locating words. Suppose, for example, that a word is defined to consist of a string of letters. The expres- sion write(line[1:many(letters,line)]) writes a word at the beginning of line. Note the use of the posi- tion returned by a string analysis function to specify the end of a substring. 4.0 Expression Evaluation 4.1 Conditional Expressions In Icon there are conditional expressions that may succeed and produce a result, or may fail and not produce any result. An example is the comparison operation i > j which succeeds (and produces the value of j) provided that the value of i is greater than the value of j, but fails otherwise. The success or failure of conditional operations is used instead of Boolean values to drive control structures in Icon. An example is - 4 - if i > j then k := i else k := j which assigns the value of i to k if the value of i is greater than the value of j, but assigns the value of j to k otherwise. The usefulness of the concepts of success and failure is illustrated by find(s1,s2), which fails if s1 does not occur as a substring of s2. Thus if i := find("or",line) then write(i) writes the position at which or occurs in line, if it occurs, but does not write a value if it does not occur. Many expressions in Icon are conditional. An example is read(), which produces the next line from the input file, but fails when the end of the file is reached. The following expres- sion is typical of programming in Icon and illustrates the integration of conditional expressions and conventional control structures: while line := read() do write(line) This expression copies the input file to the output file. If an argument of a function fails, the function is not cal- led, and the function call fails as well. This ``inheritance'' of failure allows the concise formulation of many programming tasks. Omitting the optional do clause in while-do, the previous expres- sion can be rewritten as while write(read()) 4.2 Generators In some situations, an expression may be capable of producing more than one result. Consider sentence := "Store it in the neighboring harbor" find("or",sentence) Here or occurs in sentence at positions 3, 23, and 33. Most pro- gramming languages treat this situation by selecting one of the positions, such as the first, as the result of the expression. In Icon, such an expression is a generator and is capable of produ- cing all three positions. The results that a generator produces depend on context. In a situation where only one result is needed, the first is produced, as in - 5 - i := find("or",sentence) which assigns the value 3 to i. If the result produced by a generator does not lead to the success of an enclosing expression, however, the generator is resumed to produce another value. An example is if (i := find("or",sentence)) > 5 then write(i) Here the first result produced by the generator, 3, is assigned to i, but this value is not greater than 5 and the comparison operation fails. At this point, the generator is resumed and pro- duces the second position, 23, which is greater than 5. The com- parison operation then succeeds and the value 23 is written. Because of the inheritance of failure and the fact that compar- ison operations return the value of their right argument, this expression can be written in the following more compact form: write(5 < find("or",sentence)) Goal-directed evaluation is inherent in the expression evalua- tion mechanism of Icon and can be used in arbitrarily complicated situations. For example, find("or",sentence1) = find("and",sentence2) succeeds if or occurs in sentence1 at the same position as and occurs in sentence2. A generator can be resumed repeatedly to produce all its results by using the every-do control structure. An example is every i := find("or",sentence) do write(i) which writes all the positions at which or occurs in sentence. For the example above, these are 3, 23, and 33. Generation is inherited like failure, and this expression can be written more concisely by omitting the optional do clause: every write(find("or",sentence)) There are several built-in generators in Icon. One of the most frequently used of these is i to j which generates the integers from i to j. This generator can be combined with every-do to formulate the traditional for-style control structure: - 6 - every k := i to j do f(k) Note that this expression can be written more compactly as every f(i to j) There are a number of other control structures related to gen- eration. One is alternation, expr1 | expr2 which generates the results of expr1 followed by the results of expr2. Thus every write(find("or",sentence1) | find("or",sentence2)) writes the positions of or in sentence1 followed by the positions of or in sentence2. Again, this sentence can be written more com- pactly by using alternation in the second argument of find: every write(find("or",sentence1 | sentence2)) Another use of alternation is illustrated by (i | j | k) = (0 | 1) which succeeds if any of i, j, or k has the value 0 or 1. 5.0 String Scanning The string analysis and synthesis operations described in Sec- tions 2 and 3 work best for relatively simple operations on strings. For complicated operations, the bookkeeping involved in keeping track of positions in strings becomes burdensome and error prone. In such cases, Icon has a string scanning facility that is analogous in many respects to pattern matching in SNO- BOL4. In string scanning, positions are managed automatically and attention is focused on a current position in a string as it is examined by a sequence of operations. The string scanning operation has the form s ? expr where s is the subject string to be examined and expr is an expression that performs the examination. A position in the sub- ject, which starts at 1, is the focus of examination. Matching functions change this position. One matching func- tion, move(i), moves the position by i and produces the substring - 7 - of the subject between the previous and new positions. If the position cannot be moved by the specified amount (because the subject is not long enough), move(i) fails. A simple example is line ? while write(move(2)) which writes successive two-character substrings of line, stop- ping when there are no more characters. Another matching function is tab(i), which sets the position in the subject to i and also returns the substring of the subject between the previous and new positions. For example, line ? if tab(10) then write(tab(0)) first sets the position in the subject to 10 and then to the end of the subject, writing line[10:0]. Note that no value is writ- ten if the subject is not long enough. String analysis functions such as find can be used in string scanning. In this context, the string that they operate on is not specified and is taken to be the subject. For example, line ? while write(tab(find("or"))) do move(2) writes all the substrings of line prior to occurrences of or. Note that find produces a position, which is then used by tab to change the position and produce the desired substring. The move(2) skips the or that is found. Another example of the use of string analysis functions in scanning is line ? while tab(upto(letters)) do write(tab(many(letters))) which writes all the words in line. As illustrated in the examples above, any expression may occur in the scanning expression. Unlike SNOBOL4, in which the opera- tions that are allowed in pattern matching are limited and idiosyncratic, string scanning is completely integrated with the rest of the operation repertoire of Icon. 6.0 Structures 6.1 Lists While strings are sequences of characters, lists in Icon are sequences of values of arbitrary types. Lists are created by enclosing the lists of values in brackets. An example is - 8 - car1 := ["buick","skylark",1978,2450] in which the list car1 has four values, two of which are strings and two of which are integers. Note that the values in a list need not all be of the same type. In fact, any kind of value can occur in a list - even another list, as in inventory := [car1,car2,car3,car4] Lists also can be created by a := list(i,x) which creates a list of i values, each of which has the value x. The values in a list can be referenced by position much like the characters in a string. Thus car1[4] := 2400 changes the last value in car1 to 2400. A reference that is out of the range of the list fails. For example, write(car1[5]) fails. The values in a list a are generated by !a. Thus every write(!a) writes all the values in a. Lists can be manipulated like stacks and queues. The function push(a,x) adds the value of x to the left end of the list a, automatically increasing the size of a by one. Similarly, pop(a) removes the leftmost value from a, automatically decreasing the size of a by one, and produces the removed value. A list value in Icon is a pointer (reference) to a structure. Assignment of a structure in Icon does not copy the structure itself but only the pointer to it. Thus the result of demo := car1 causes demo and car1 to reference the same list. Graphs with loops can be constructed in this way. For example, node1 := ["a"] node2 := [node1,"b"] push(node1,node2) - 9 - constructs a structure that can be pictured as follows: node1 .->a--. | | | | node2 '--b<-' 6.2 Tables Icon has a table data type similar to that of SNOBOL4. Tables essentially are sets of pairs of values, an entry value and a corresponding assigned value. The entry and assigned values may be of any type, and the assigned value for any entry value can be looked up automatically. Thus tables provide a form of associa- tive access in contrast with the positional access to values in lists. A table is created by an expression such as symbols := table(x) which assigns to symbols a table with the default assigned value x. Subsequently, symbols can be referenced by any entry value, such as symbols["there"] := 1 which assigns the value 1 to the thereth entry in symbols. Tables grow automatically as new entry values are added. For example, the following program segment produces a table con- taining a count of the words that appear in the input file: words := table(0) while line := read() do line ? while tab(upto(letters)) do words[tab(many(letters))] +:= 1 Here the default assigned value for each word is 0, as given in table(0), and +:= is an augmented assignment operation that increments the assigned values by one. There are augmented assignment operations for all binary operators. Tables can be converted to lists, so that their entry and assigned values can be accessed by position. This is done by sort(t), which produces a list of two-element lists from t, where each two-element list consists of an entry value and its corresponding assigned value. For example, - 10 - wordlist := sort(words) every pair := !wordlist do write(pair[1]," : ",pair[2]) writes the words and their counts from words. 7.0 Procedures An Icon program consists of a sequence of procedure declara- tions. An example of a procedure declaration is procedure max(i,j) if i > j then return i else return j end where the name of the procedure is max and its formal parameters are i and j. The return expressions return the value of i or j, whichever is larger. Procedures are called like built-in functions. Thus k := max(*s1,*s2) assigns to k the size of the longer of the strings s1 and s2. A procedure also may suspend instead of returning. In this case, a result is produced as in the case of a return, but the procedure can be resumed to produce other results. An example is the following procedure that generates the words in the input file. procedure genword() local line, letters, words letters := &lcase ++ &ucase while line := read() do line ? while tab(upto(letters)) do { word := tab(many(letters)) suspend word } end The braces enclose a compound expression. Such a generator is used in the same way that a built-in gen- erator is used. For example every word := genword() do if find("or",word) then write(word) writes only those words that contain the substring or. - 11 - 8.0 An Example The following program sorts graphs topologically. procedure main() local sorted, nodes, arcs, roots while nodes := read() do { # get next node list arcs := read() # get arc list sorted := "" # sorted nodes # get nodes without predecessors while *(roots := nodes -- snodes(arcs)) > 0 do { sorted ||:= roots # add to sorted nodes nodes --:= roots # delete these nodes arcs := delarcs(arcs,roots)# delete their arcs } if *arcs = 0 then write(sorted)# successfully sorted else write("graph has cycle")# cycle if node remains } end procedure snodes(arcs) local nodes nodes := "" arcs ? while move(1) do { # predecessor move(2) # skip "->" nodes ||:= move(1) # successor move(1) # skip ";" } return nodes end procedure delarcs(arcs,roots) local newarcs, node newarcs := "" arcs ? while node := move(1) do {# get predecessor node if many(roots,node) then move(4)# delete arc from root node else newarcs ||:= node || move(4)# else keep arc } return newarcs end Graph nodes are represented by single characters with a list of the nodes on one input line followed by a list of arcs. For exam- ple, the graph - 12 - .---------------. | | | v a------>b------>c ^ | ^ | | | | | | d------>e-------' is given as abcde a->b;a->c;b->c;b->e;d->a;d->e;e->c; for which the output is dabec The nodes are represented by csets and automatic type conver- sion is used to convert strings to csets and vice versa. Note the use of augmented assignment operations for concatenation and in the computation of cset differences. Acknowledgement Icon was designed by the the author in collaboration with Dave Hanson, Tim Korb, Cary Coutant, and Steve Wampler. The current implementation is largely the work of Cary Coutant and Steve Wam- pler with recent contributions by Bill Mitchell. Dave Hanson and Bill Mitchell also made several helpful suggestions on the presentation of material in this paper. References 1. Griswold, Ralph E., Poage, James F., and Polonsky, Ivan P. The SNOBOL4 Programming Language, second edition. Prentice- Hall, Inc., Englewood Cliffs, New Jersey. 1971. 2. Kernighan, Brian W. and Ritchie, Dennis M. The C Programming Language. Prentice-Hall, Inc., Englewood Cliffs, New Jersey. 1978. 3. Griswold, Ralph E. Differences Between Versions 2 and 5 of Icon, Technical Report TR 83-5, Department of Computer Science, The University of Arizona. 1983. 4. Griswold, Ralph E. and Griswold, Madge T. The Icon Programming Language. Prentice-Hall, Inc., Englewood Cliffs, New Jersey. 1983. - 13 - 0707070000020070011007770001460001440000010537750354556447500001200000001764regis.frm UNIX-PC Icon Version 5.10 (ATT) Registration Form Please register my copy of UNIX-PC Icon Version 5.10 (ATT) and put me on the mailing list for the Icon Newsletter. name _______________________________________ address _______________________________________ _______________________________________ _______________________________________ _______________________________________ telephone _______________________________________ electronic mail address _______________________________________ computers _______________________________________ operating systems _______________________________________ Send this form to: Icon Project Department of Computer Science The University of Arizona Tucson, AZ 85721 September 10, 1985 0707070000020070101007770001460001440000010540340354557766100001200000001114roman.icn# # R O M A N N U M E R A L S # # This program takes Arabic numerals from standard input and writes # the corresponding Roman numerals to standard outout. procedure main() local n while n := read() do write(roman(n) | "cannot convert") end procedure roman(n) local arabic, result static equiv initial equiv := ["","I","II","III","IV","V","VI","VII","VIII","IX"] integer(n) > 0 | fail result := "" every arabic := !n do result := map(result,"IVXLCDM","XLCDM**") || equiv[arabic+1] if find("*",result) then fail else return result end 0707070000020070071007770001460001440000010673670354557135400001100000022505run.icon ICONT(1) (The University of Arizona - 8/5/85) ICONT(1) NAME icont - translate Icon programs for interpretive execution SYNOPSIS icont [ option ... ] file ... [ -x arg ... ] DESCRIPTION Icont is a translator for Version 5.10 of the Icon programming language, which produces a file suitable for interpretation by the Icon interpreter. Translation consists of two phases: translation and linking. During translation, each Icon source file is translated into an intermediate language; during linking, the intermediate language files are combined and a single output file is produced. The output file from the linker is referred to as an interpretable file. Unless the -o option is specified, the name of the resulting interpretable file is formed by deleting the suffix of the first input file named on the command line. If the -x argument is used, the file is automatically executed by the interpreter and any arguments following the -x are passed as execution arguments to the Icon program itself. Files whose names end in .icn are assumed to be Icon source programs; they are translated, and the intermediate code is left in two files of the same name with .u1 and .u2 substituted for .icn. The intermediate code files normally are deleted when compilation has finished. Files whose names end in .u1 or .u2 are assumed to be intermediate code files from a previous translation (only one should be named - the other is assumed); these files are included in the linking phase after any .icn files have been translated. A .u1 or .u2 file that is explicitly named is not deleted. Icon source programs may be read from standard input. The argument - signifies the use of standard input as a source file. In this case, the intermediate code is placed in stdin.u1 and stdin.u2 and the interpretable file is stdin. The following options are recognized by icont. -c Suppress the linking phase. The intermediate code files are not deleted. -m Preprocess each .icn source file with the m4(1) macro processor before translation. -o output Name the interpretable file output. -s Suppress any informative messages from the translator and linker. Normally, both informative messages and error messages are sent to standard error output. Page 1 (printed 9/19/85) ICONT(1) (The University of Arizona - 8/5/85) ICONT(1) -t Arrange for &trace to have an initial value of -1 when the program is executed. Normally, &trace has an initial value of 0. -u Issue warning messages for undeclared identifiers in the program. The warnings are issued during the linking phase. Icon has a number of memory regions related to the translation of programs. These regions are large enough for most programs, but their size can be changed, if necessary, by the -S option, which has the form -S[cfgilrstCL] n, where the letter following the S specifies the region and n is the number of storage units to allocate for the region. The regions are: c literal table f field table g global symbol table i identifier table l local symbol table r field table for record lists s string space t tree space C code buffer L labels The environment variable IPATH controls the location of files specified in link directives. IPATH should have a value of the form p1:p2: ... : pn where the pi name directories. Each directory is searched in turn to locate files named in link directives. The default value for IPATH is . , that is, the current directory. The interpretable file produced by the Icon linker is directly executable. For example, the command icont hello.icn produces a file named hello that can be run by the command Page 2 (printed 9/19/85) ICONT(1) (The University of Arizona - 8/5/85) ICONT(1) hello The method used to make interpretable files appear to be directly executable is system dependent. See the Icon installation guide for complete details. For most intents and purposes, interpretable files are executable programs in the same sense that files produced by ld(1) are executable programs. Arguments can be passed to the Icon program by following the program name with the arguments. Any such arguments are passed to the main procedure as a list of strings. When an Icon program is executed, a number of environment variables are examined to determine certain execution parameters. The values assigned to these variables should be numbers. The variables that affect execution and the interpretations of their values are as follows: TRACE Initialize the value of &trace. If this variable has a value, it overrides the translation-time -t option. NBUFS The number of i/o buffers to use for files. When a file is opened, it is assigned an i/o buffer if one is available and the file is not a tty. If no buffer is available, the file is not buffered. &input, &output, and &errout are buffered if buffers are available. On VAX systems, ten buffers are allocated initially; on PDP-11 systems, five buffers are allocated initially. NOERRBUF If set, &errout is not buffered. STRSIZE The initial size of the string space, in bytes. The string space grows if necessary, but it never shrinks. On VAX systems, the string space is initially 51,200 bytes; on PDP-11 systems, 10,240 bytes initially. HEAPSIZE The initial size of the heap, in bytes. The heap grows if necessary, but it never shrinks. On VAX systems, the heap is initially 51,200 bytes; on PDP-11 systems, 10,240 bytes initially. NSTACKS The number of stacks initially available for co- expressions. On VAX systems, four stacks are initially allocated; on PDP-11 systems, two stacks are initially allocated. More are automatically allocated if needed. Page 3 (printed 9/19/85) ICONT(1) (The University of Arizona - 8/5/85) ICONT(1) STKSIZE The size of each co-expression stack, in words. On VAX systems, stacks are normally 2000 words; on PDP-11 systems, stacks are normally 1000 words. FILES v5/bin/itran icon translator v5/bin/ilink icon linker v5/bin/iconx icon run-time system SEE ALSO The Icon Programming Language, Ralph E. Griswold and Madge T. Griswold, Prentice-Hall Inc., Englewood Cliffs, New Jersey, 1983. Version 5.10 of Icon, Ralph E. Griswold and William H. Mitchell, TR 85-16, Department of Computer Science, The University of Arizona, August 1985. Installation and Maintenance Guide for Version 5.10 of Icon, Ralph E. Griswold and William H. Mitchell, TR 85-15, Department of Computer Science, The University of Arizona, August 1985. m4(1), icon-pi(1) BUGS Downward compatibility of interpretable files will not be maintained in subsequent releases of Icon. No checks are performed to determine if the interpretable file and the interpreter are compatible. Peculiar program behavior is the only indication of such incompatibility. Interpretable files do not stand alone; the Icon interpreter must be present on the system. This implies that an interpretable file produced on one system will not work on another system unless the Icon interpreter is in the same place on both systems and that the interpreter is of the same version of Icon as the translator that produced the interpretable file. Because of the way that co-expressions are implemented, there is a possibility that programs in which they are used may malfunction mysteriously. Integer overflow on multiplication is not detected. If the -m option is used, line numbers reported in error messages or tracing messages are from the file after, not before, preprocessing. Page 4 (printed 9/19/85) 0707070000020070341007770001460001440000010745150354556447500001400000002223trouble.frm Trouble Report for Version 5.10 of Icon for UNIX-PC (ATT) Name _____________________________________________ Address _____________________________________________ _____________________________________________ _____________________________________________ _____________________________________________ Telephone _____________________________________________ Electronic mail address _____________________________________________ Computer _____________________________________________ Operating system _____________________________________________ Date _____________________________________________ Description of the problem: Attach additional information, listings, enclose source code, etc., as appropriate. Send to: O. R. Fonorow IW 1Z-261 1100 E. Warrenville Rd. Naperville, Il 60566 or send this form via email to: ihnp4!iwsam!orf September 10, 1985 0707070000020076161007770001460001440000010745140354557777000001400000001034wordcnt.icn# # W O R D C O U N T I N G # # This program tabulates the words in standard input and writes the # results with the words in a column 20 characters wide. The definition # of a "word" is naive. procedure main() wordcount(20) end procedure wordcount(n) local t, line, x, y static letters initial letters := &lcase ++ &ucase t := table(0) while line := read() do line ? while tab(upto(letters)) do t[tab(many(letters))] +:= 1 x := sort(t) every y := !x do write(left(y[1],n),y[2]) end 0707070000020076161007770001460001440000010745140354557777000001300000000000TRAILER!!!liffs, New Jersey, 1983. Version 5.10 of Icon, Ralph E. Griswold and William H. Mitchell, TR 85-16, Department of Computer Science, The University of Arizona, August 1985. Installation and Maintenance Guide for Version 5.10 of Icon, Ralph E. Griswold and William H. Mitchell, TR 85-15, Department of Computer Science, The University of Arizona, August 1985. m4(1), icon-pi(1) BUGS Downward compatibility of interpretable files will not be maintained in subsequent releases of Icon. No checks are performed to determine if the interpretable file and the interpreter are compatible. Peculiar program behavior is the only indication of such incompatibility. Interpretable files do not stand alone; the Icon interpreter must be present on the system. This implies that an interpretable file produced on one system will not work on another system unless the Icon interpreter is in the same place on both systems and that the interpreter is of the same version of Icon as the translator that produced the interpretable file. Because of the way that co-expressions are implemented, there is a possibility that programs in which they are used may malfunction mysteriousl