This is pdfTeX, Version 3.14159-1.10b (Web2C 7.4.5) (format=pdflatex 2007.11.2) 23 MAY 2008 20:58 **current (./current.tex{/usr/share/texmf/pdftex/config/pdftex.cfg} LaTeX2e <2001/06/01> Babel and hyphenation patterns for american, french, german, ngerman, n ohyphenation, loaded. (/usr/share/texmf/tex/latex/base/report.cls Document Class: report 2001/04/21 v1.4e Standard LaTeX document class (/usr/share/texmf/tex/latex/base/size12.clo File: size12.clo 2001/04/21 v1.4e Standard LaTeX file (size option) ) \c@part=\count79 \c@chapter=\count80 \c@section=\count81 \c@subsection=\count82 \c@subsubsection=\count83 \c@paragraph=\count84 \c@subparagraph=\count85 \c@figure=\count86 \c@table=\count87 \abovecaptionskip=\skip41 \belowcaptionskip=\skip42 \bibindent=\dimen102 ) (/home/cork/src/tex/html.sty) (/usr/share/texmf/tex/latex/graphics/graphics.sty Package: graphics 2001/07/07 v1.0n Standard LaTeX Graphics (DPC,SPQR) (/usr/share/texmf/tex/latex/graphics/trig.sty Package: trig 1999/03/16 v1.09 sin cos tan (DPC) ) (/usr/share/texmf/tex/latex/config/graphics.cfg File: graphics.cfg 2001/08/31 v1.1 graphics configuration of teTeX/TeXLive ) Package graphics Info: Driver file: dvips.def on input line 80. (/usr/share/texmf/tex/latex/graphics/dvips.def File: dvips.def 1999/02/16 v3.0i Driver-dependant file (DPC,SPQR) )) (./current.aux) \openout1 = `current.aux'. LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 12. LaTeX Font Info: ... okay on input line 12. LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 12. LaTeX Font Info: ... okay on input line 12. LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 12. LaTeX Font Info: ... okay on input line 12. LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 12. LaTeX Font Info: ... okay on input line 12. LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 12. LaTeX Font Info: ... okay on input line 12. LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 12. LaTeX Font Info: ... okay on input line 12. LaTeX Font Info: External font `cmex10' loaded for size (Font) <14.4> on input line 20. LaTeX Font Info: External font `cmex10' loaded for size (Font) <7> on input line 20. [1 {/usr/share/texmf/dvips/config/pdftex.map}] Chapter 1. LaTeX Font Info: Try loading font information for OMS+cmr on input line 63. (/usr/share/texmf/tex/latex/base/omscmr.fd File: omscmr.fd 1999/05/25 v2.5h Standard LaTeX font definitions ) LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <12> not available (Font) Font shape `OMS/cmsy/m/n' tried instead on input line 63. [1 ] [2] LaTeX Font Info: External font `cmex10' loaded for size (Font) <10.95> on input line 184. LaTeX Font Info: External font `cmex10' loaded for size (Font) <8> on input line 184. LaTeX Font Info: External font `cmex10' loaded for size (Font) <6> on input line 184. [3] LaTeX Font Info: External font `cmex10' loaded for size (Font) <12> on input line 211. LaTeX Font Info: External font `cmex10' loaded for size (Font) <5> on input line 213. [4] [5] [6] [7] [8] [9] Overfull \hbox (6.81409pt too wide) in paragraph at lines 605--611 /cmtt10@10.95pt/Entry-address /cmr12/and /cmtt10@10.95pt/Entry-phone /cmr12/tha t are au-to-mat-i-cally gen-er-ated by the Scheme [] [10] [11] [12] Overfull \hbox (56.44269pt too wide) in paragraph at lines 796--798 []/cmr12/The fol-low-ing Java class de-fines two con-stants: /cmtt10@10.95pt/IN CHES[]PER[]METER /cmr12/and /cmtt10@10.95pt/METERS[]PER[]INCH/cmr12/: [] [13] Overfull \hbox (8.74081pt too wide) in paragraph at lines 819--829 /cmtt10@10.95pt/height /cmr12/and three meth-ods /cmtt10@10.95pt/getName/cmr12/ , /cmtt10@10.95pt/getHeightInMeters/cmr12/, and /cmtt10@10.95pt/getHeightInInch es/cmr12/. [] [14] [15] [16] [17] [18] [19] [20] [21] [22] Overfull \hbox (6.2791pt too wide) in paragraph at lines 1361--1365 /cmr12/Note that the type /cmtt10@10.95pt/CityEntry /cmr12/con-sist-ing of the union of the types /cmtt10@10.95pt/BusinessEntry/cmr12/, [] [23] Overfull \hbox (11.3031pt too wide) in paragraph at lines 1463--1463 [] /cmtt10@10.95pt/* new GovernmentEntry(name,addr,phone,city,state,go v), or[] [] Overfull \hbox (17.05179pt too wide) in paragraph at lines 1463--1463 [] /cmtt10@10.95pt/BusinessEntry(String n, String a, String p, String c, Stri ng s) {[] [] [24] Overfull \hbox (86.03604pt too wide) in paragraph at lines 1463--1463 [] /cmtt10@10.95pt/GovernmentEntry(String n, String a, String p, String c, St ring s, String g) {[] [] [25] Overfull \hbox (22.63193pt too wide) in paragraph at lines 1487--1493 []/cmr12/The con-crete classes /cmtt10@10.95pt/BusinessEntry/cmr12/, /cmtt10@10 .95pt/GovernmentEntry/cmr12/, and /cmtt10@10.95pt/ResidentialEntry [] Overfull \hbox (45.79523pt too wide) in paragraph at lines 1505--1505 []/cmtt10@10.95pt/new BusinessEntry("Rice University", "6100 Main Street", "71 3-348-8101",[] [] Overfull \hbox (40.04654pt too wide) in paragraph at lines 1524--1524 [] /cmtt10@10.95pt/new BusinessEntry("Rice University", "6100 Main St.", "713 -527-8101",[] [] Overfull \hbox (5.55441pt too wide) in paragraph at lines 1524--1524 [] /cmtt10@10.95pt/new ResidentialEntry("Robert Cartwright", "3310 Underwood St.",[] [] [26] Overfull \hbox (17.05179pt too wide) in paragraph at lines 1605--1605 [] /cmtt10@10.95pt/BusinessEntry(String n, String a, String p, String c, Stri ng s) {[] [] [27] Overfull \hbox (86.03604pt too wide) in paragraph at lines 1605--1605 [] /cmtt10@10.95pt/GovernmentEntry(String n, String a, String p, String c, St ring s, String g) {[] [] Overfull \hbox (8.60507pt too wide) in paragraph at lines 1609--1621 []/cmbx12/Finger Ex-er-cise 1.6.1.1 /cmr12/In the pre-ced-ing code, the ab-stra ct class /cmtt10@10.95pt/CityEntry [] Overfull \hbox (45.28308pt too wide) in paragraph at lines 1609--1621 /cmr12/has three con-crete sub-classes: /cmtt10@10.95pt/ResidentialEntry/cmr12/ , /cmtt10@10.95pt/BusinessEntry/cmr12/, and /cmtt10@10.95pt/GovernmentEntry/cmr 12/. [] [28] Overfull \hbox (27.26303pt too wide) in paragraph at lines 1623--1633 /cmr12/by defin-ing con-struc-tors for the ab-stract classes /cmtt10@10.95pt/Ci tyEntry /cmr12/and /cmtt10@10.95pt/NonResidentialEntry [] [29] Overfull \hbox (23.13419pt too wide) in paragraph at lines 1718--1726 []/cmr12/In Java, each new type of data is rep-re-sented by a class. Since the /cmtt10@10.95pt/DeptDirectory [] [30] Overfull \hbox (2.123pt too wide) in paragraph at lines 1777--1793 /cmr12/gram-mers fa-mil-iar with func-tional pro-gram-ming. In the OOP (``objec t-oriented [] [31] Overfull \hbox (5.55441pt too wide) in paragraph at lines 1800--1800 [] /cmtt10@10.95pt/new Cons(new Entry("Matthias","DH3106","x 5732"), new Empt y()))[] [] [32] Overfull \hbox (34.03894pt too wide) in paragraph at lines 1845--1847 []/cmr12/The an-swer is that we de-clare the method /cmtt10@10.95pt/firstAddres s /cmr12/in the class /cmtt10@10.95pt/DeptDirectory [] Overfull \hbox (5.55441pt too wide) in paragraph at lines 1856--1856 [] /cmtt10@10.95pt//* firstAddress() returns the first address in a DeptDirec tory;[] [] Overfull \hbox (27.62071pt too wide) in paragraph at lines 1876--1878 []/cmr12/First, we must in-sert the fol-low-ing mem-ber some-where in the class /cmtt10@10.95pt/DeptDirectory [] [33] [34] [35] [36] [37] [38] [39] [40] Overfull \hbox (28.54916pt too wide) in paragraph at lines 2402--2402 [] /cmtt10@10.95pt//** Returns the ``rest'' a non-empty list (all elements bu t first).[] [] [41] [42] [43] [44] [45] Overfull \hbox (11.3031pt too wide) in paragraph at lines 2608--2608 [] /cmtt10@10.95pt/System.out.println("computed sum of " + this + " = " + s um());[] [] [46] [47] [48] Overfull \hbox (0.98672pt too wide) in paragraph at lines 2746--2755 /cmr12/calls on the in-stance method /cmtt10@10.95pt/getLeft /cmr12/and /cmtt10 @10.95pt/getRight/cmr12/. The class /cmtt10@10.95pt/TranlatedVector [] [49] [50] Overfull \hbox (57.2926pt too wide) in paragraph at lines 2844--2844 [] /cmtt10@10.95pt/(first == ((ExtCons)o).first()) && rest.equals(((ExtCo ns)o).rest());[] [] Overfull \hbox (17.39758pt too wide) in paragraph at lines 2854--2865 []/cmr12/The prob-lem with the /cmtt10@10.95pt/instanceof /cmr12/pat-tern for w rit-ing /cmtt10@10.95pt/equals /cmr12/is that /cmtt10@10.95pt/instanceof [] [51] [52] [53] [54] LaTeX Font Info: Try loading font information for OMS+cmtt on input line 309 9. LaTeX Font Info: No file OMScmtt.fd. on input line 3099. LaTeX Font Warning: Font shape `OMS/cmtt/m/n' undefined (Font) using `OMS/cmsy/m/n' instead (Font) for symbol `textbraceleft' on input line 3099. [55] Overfull \hbox (43.10239pt too wide) in paragraph at lines 3132--3135 []/cmtt10@10.95pt/void assertEquals(String, Object, Object) /cmr12/which is jus t like the /cmtt10@10.95pt/assertEquals [] Overfull \hbox (3.76845pt too wide) in paragraph at lines 3165--3168 []/cmr12/It is then also nec-es-sary to im-port Test-Suite and Test from /cmtt1 0@10.95pt/junit.framework/cmr12/. [] [56] Underfull \hbox (badness 10000) in paragraph at lines 3199--3203 [] [57] [58] [59] Overfull \hbox (80.28735pt too wide) in paragraph at lines 3420--3420 [] /cmtt10@10.95pt/new IllegalArgumentException("getFirst() requires a non -Empty CompList");[] [] [60] Overfull \hbox (68.78998pt too wide) in paragraph at lines 3420--3420 [] /cmtt10@10.95pt/new IllegalArgumentException("getRest() requires a non-E mpty CompList");[] [] Overfull \hbox (17.05179pt too wide) in paragraph at lines 3420--3420 [] /cmtt10@10.95pt/new Cons(new Integer(1), new Cons(new Integer(2), Empty. ONLY));[] [] [61] [62] Overfull \hbox (3.98135pt too wide) in paragraph at lines 3539--3542 /cmr12/that re-turns the /cmtt10@10.95pt/Entry /cmr12/match-ing a given /cmtt10 @10.95pt/name/cmr12/, and then to de-fine both /cmtt10@10.95pt/findPhone [] [63] [64] [65] [66] Overfull \hbox (33.40768pt too wide) in paragraph at lines 3710--3712 /cmr12/at the cost of in-tro-duc-ing the new class names /cmtt10@10.95pt/Addres sOperation /cmr12/and /cmtt10@10.95pt/PhoneOperation/cmr12/. [] [67] [68] Overfull \hbox (2.73674pt too wide) in paragraph at lines 3818--3829 /cmr12/that we can-not mod-ify. For ex-am-ple, the li-brary method /cmtt10@10.9 5pt/Integer.toString(int [] [69] [70] [71] [72] [73] [74] Overfull \hbox (5.55441pt too wide) in paragraph at lines 4140--4140 [] /cmtt10@10.95pt/new ClassCastException("first requires a non-Empty IntLi st");[] [] [75] Overfull \hbox (22.80048pt too wide) in paragraph at lines 4234--4234 [] /cmtt10@10.95pt/// List -> String without enclosing parentheses and leadin g blanks[] [] [76] Overfull \hbox (80.28735pt too wide) in paragraph at lines 4234--4234 [] /cmtt10@10.95pt/public String toString() { return "(" + first + rest.toStr ingHelp() + ")"; }[] [] Overfull \hbox (28.54916pt too wide) in paragraph at lines 4234--4234 [] /cmtt10@10.95pt/String toStringHelp() { return " " + first + rest.toString Help(); }[] [] Overfull \hbox (13.54594pt too wide) in paragraph at lines 4236--4240 /cmr12/The class /cmtt10@10.95pt/ClassCastException /cmr12/is a built-in Java c lass ex-tend-ing /cmtt10@10.95pt/RuntimeException [] [77] [78] [79] Overfull \hbox (63.04129pt too wide) in paragraph at lines 4426--4426 [] /cmtt10@10.95pt/return new Const((left.eval().getValue()) * (right.eval( ).getValue()));[] [] [80] Overfull \hbox (74.53867pt too wide) in paragraph at lines 4487--4487 [] /cmtt10@10.95pt/return new Const(left.eval(env).getValue() + right.eval( env).getValue());[] [] [81] [82] [83] LaTeX Font Warning: Command \small invalid in math mode on input line 4653. LaTeX Font Warning: Command \small invalid in math mode on input line 4661. [84] [85] [86] [87] [88] [89] [90] [91] [92] [93] Underfull \hbox (badness 10000) in paragraph at lines 5206--5214 [] [94] Overfull \hbox (5.55441pt too wide) in paragraph at lines 5287--5287 []/cmtt10@10.95pt/try { // try the operation that might fail[] [] [95] [96] Chapter 2. [97 ] [98] LaTeX Font Warning: Command \small invalid in math mode on input line 5460. LaTeX Font Warning: Command \small invalid in math mode on input line 5460. LaTeX Font Warning: Command \small invalid in math mode on input line 5460. LaTeX Font Warning: Command \small invalid in math mode on input line 5460. [99] [100] [101] Overfull \hbox (11.3031pt too wide) in paragraph at lines 5608--5608 [] /cmtt10@10.95pt/// assignment to accum depends on k; k must be modifie d last[] [] [102] Overfull \hbox (21.32872pt too wide) in paragraph at lines 5670--5673 /cmr12/All of the se-quence classes pre-sented in this monograph---immutable an d mutable--- [] [103] Overfull \hbox (40.04654pt too wide) in paragraph at lines 5694--5694 [] /cmtt10@10.95pt/Seq rest(); // returns an object representing s[1] , ..., s[n][] [] Overfull \hbox (63.04129pt too wide) in paragraph at lines 5694--5694 [] /cmtt10@10.95pt/public Object execute(SeqVisitor host); // applies the vi sitor code host[] [] Overfull \hbox (17.05179pt too wide) in paragraph at lines 5708--5708 [] /cmtt10@10.95pt/Seq updateFirst(Object val); // returns val,this[1], ..., this[n][] [] [104] Overfull \hbox (11.3031pt too wide) in paragraph at lines 5809--5809 [] /cmtt10@10.95pt/public Seq cons(Object first) { return new Cons(first, th is); }[] [] Overfull \hbox (57.2926pt too wide) in paragraph at lines 5809--5809 [] /cmtt10@10.95pt/throw new IllegalArgumentException("first() applied to empty list");[] [] Overfull \hbox (51.54391pt too wide) in paragraph at lines 5809--5809 [] /cmtt10@10.95pt/throw new IllegalArgumentException("rest() applied to empty list");[] [] Overfull \hbox (91.78473pt too wide) in paragraph at lines 5809--5809 [] /cmtt10@10.95pt/throw new IllegalArgumentException("updateFirst() appl ied to empty list");[] [] Overfull \hbox (91.78473pt too wide) in paragraph at lines 5809--5809 [] /cmtt10@10.95pt/throw new IllegalArgumentException("updateFirst() appl ied to empty list");[] [] Overfull \hbox (80.28735pt too wide) in paragraph at lines 5809--5809 [] /cmtt10@10.95pt/throw new IllegalArgumentException("out-of-bounds inde x in List.eltAt");[] [] Overfull \hbox (22.80048pt too wide) in paragraph at lines 5809--5809 [] /cmtt10@10.95pt/public Object execute(SeqVisitor v) { return v.forEmpty( this); }[] [] [105] Overfull \hbox (17.05179pt too wide) in paragraph at lines 5809--5809 [] /cmtt10@10.95pt/public Object execute(SeqVisitor v) { return v.forCons(t his); }[] [] Overfull \hbox (91.78473pt too wide) in paragraph at lines 5809--5809 [] /cmtt10@10.95pt/public String toString() { return "(" + first + rest.toS tringHelp() + ")"; }[] [] Overfull \hbox (40.04654pt too wide) in paragraph at lines 5809--5809 [] /cmtt10@10.95pt/String toStringHelp() { return " " + first + rest.toStri ngHelp(); }[] [] [106] Overfull \hbox (11.3031pt too wide) in paragraph at lines 5870--5870 [] /cmtt10@10.95pt/System.out.println("s1 * s2 = " + s1.execute(new Append( s2)));[] [] File: gif/new-linked-list.ps Graphic file (type eps) [107] [108 Non-PDF special ignored!] Overfull \hbox (0.32335pt too wide) in paragraph at lines 5939--5950 []/cmbx12/Finger Ex-er-cise 2.1.3.2 /cmr12/Con-struct two im-ple-men-ta-tions o f an /cmtt10@10.95pt/ImmutArray [] [109] Overfull \hbox (22.80048pt too wide) in paragraph at lines 6008--6008 [] /cmtt10@10.95pt/void insert(Object o); // inserts o in front of s[0] in this[] [] [110] Overfull \hbox (11.3031pt too wide) in paragraph at lines 6115--6115 [] /cmtt10@10.95pt/private Seq value; // contents of ListBox: s[0],s[1],..., s[n-1][] [] Overfull \hbox (68.78998pt too wide) in paragraph at lines 6115--6115 [] /cmtt10@10.95pt/public Seq cons(Object newElt) { return new ListBox(value. cons(newElt)); }[] [] Overfull \hbox (11.3031pt too wide) in paragraph at lines 6115--6115 [] /cmtt10@10.95pt/public void setFirst(Object o) { value = value.updateFirst (o); }[] [] [111] Overfull \hbox (28.54916pt too wide) in paragraph at lines 6115--6115 [] /cmtt10@10.95pt/public void set(Seq v) { value = v; } // set contents of box to v;[] [] Overfull \hbox (51.54391pt too wide) in paragraph at lines 6115--6115 [] /cmtt10@10.95pt/public void setEltAt(int i, final Object val) { // change s s[i] to val[] [] Overfull \hbox (17.05179pt too wide) in paragraph at lines 6115--6115 [] /cmtt10@10.95pt/// changes contents of this from s[0],...,s[n] to o,s[0],. ..,s[n][] [] Overfull \hbox (97.53342pt too wide) in paragraph at lines 6115--6115 [] /cmtt10@10.95pt/public void remove() { value = value.rest; } // removes s [0] from the sequence[] [] Overfull \hbox (11.3031pt too wide) in paragraph at lines 6115--6115 [] /cmtt10@10.95pt/public Object execute(SeqVisitor v) { return value.execute (v); }[] [] Overfull \hbox (17.05179pt too wide) in paragraph at lines 6115--6115 [] /cmtt10@10.95pt/// apply visitor v to value and return result; value is UN CHANGED[] [] Overfull \hbox (51.54391pt too wide) in paragraph at lines 6115--6115 [] /cmtt10@10.95pt/new IllegalArgumentException("out-of-bounds index in U pdateEltAt");[] [] [112] [113] Overfull \hbox (63.04129pt too wide) in paragraph at lines 6228--6228 [] /cmtt10@10.95pt/void insert(Object o); // changes this.first,thi s.rest = o,this[] [] Overfull \hbox (51.54391pt too wide) in paragraph at lines 6228--6228 [] /cmtt10@10.95pt/Object execute(MutSeqVisitor m); // applies visitor operat ion m to this[] [] [114] Overfull \hbox (40.04654pt too wide) in paragraph at lines 6372--6372 [] /cmtt10@10.95pt/Seq cons(Object newElt) { return new QuasiList(value.cons( newElt)); }[] [] Overfull \hbox (28.54916pt too wide) in paragraph at lines 6372--6372 [] /cmtt10@10.95pt/// rest returns a MutSeq (QuasiList) but the Seq interface mandates[] [] Overfull \hbox (34.29785pt too wide) in paragraph at lines 6372--6372 [] /cmtt10@10.95pt/void insert(Object o) { value = new Cons(o, new QuasiList( value)); }[] [] [115] Overfull \hbox (63.04129pt too wide) in paragraph at lines 6372--6372 [] /cmtt10@10.95pt/new IllegalArgumentException("out-of-bounds index in UpdateEltAt");[] [] Overfull \hbox (11.3031pt too wide) in paragraph at lines 6372--6372 [] /cmtt10@10.95pt/else return host.rest().execute(new UpdateEltAt(inde x-1));[] [] Overfull \hbox (17.05179pt too wide) in paragraph at lines 6372--6372 [] /cmtt10@10.95pt/// apply visitor v to value and return result; value is UN CHANGED[] [] Overfull \hbox (17.05179pt too wide) in paragraph at lines 6372--6372 [] /cmtt10@10.95pt/Object execute(MutSeqVisitor v) { return value.execute(v,t his); }[] [] Overfull \hbox (28.54916pt too wide) in paragraph at lines 6372--6372 [] /cmtt10@10.95pt/// apply visitor v to value and return result; value may b e CHANGED[] [] Overfull \hbox (45.79523pt too wide) in paragraph at lines 6372--6372 [] /cmtt10@10.95pt/throw new IllegalArgumentException("first() applied to e mpty list");[] [] Overfull \hbox (40.04654pt too wide) in paragraph at lines 6372--6372 [] /cmtt10@10.95pt/throw new IllegalArgumentException("rest() applied to em pty list");[] [] Overfull \hbox (80.28735pt too wide) in paragraph at lines 6372--6372 [] /cmtt10@10.95pt/throw new IllegalArgumentException("out-of-bounds inde x in List.eltAt");[] [] [116] Overfull \hbox (57.2926pt too wide) in paragraph at lines 6372--6372 [] /cmtt10@10.95pt/Object execute(MutSeqVisitor v) { return v.forEmpty(Quas iList.this); }[] [] Overfull \hbox (45.79523pt too wide) in paragraph at lines 6372--6372 [] /cmtt10@10.95pt//* MutSeq is the correct output type but Java does not s upport it */[] [] Overfull \hbox (11.3031pt too wide) in paragraph at lines 6372--6372 [] /cmtt10@10.95pt/Object execute(MutSeqVisitor v) { v.forCons(QuasiList.th is); }[] [] Overfull \hbox (40.04654pt too wide) in paragraph at lines 6372--6372 [] /cmtt10@10.95pt/String toStringHelp() { return " " + first + rest.toStri ngHelp(); }[] [] [117] [118] Overfull \hbox (63.04129pt too wide) in paragraph at lines 6515--6515 [] /cmtt10@10.95pt//* given the embedded Object elt and a host with elements s[0], ... s[n],[] [] Overfull \hbox (5.55441pt too wide) in paragraph at lines 6515--6515 [] /cmtt10@10.95pt/host.execute(this) destructively updates host so that h ost =[] [] Overfull \hbox (74.53867pt too wide) in paragraph at lines 6515--6515 [] /cmtt10@10.95pt/return null; /* dummy return value; this operation has return type void![] [] [119] Overfull \hbox (28.54916pt too wide) in paragraph at lines 6515--6515 [] /cmtt10@10.95pt/return null; /* dummy return value; the return ``type'' is void![] [] Overfull \hbox (68.78998pt too wide) in paragraph at lines 6515--6515 [] /cmtt10@10.95pt//* given the embedded MutSeq tail with elements t[0], ..., t[n] and a host[] [] Overfull \hbox (17.05179pt too wide) in paragraph at lines 6515--6515 [] /cmtt10@10.95pt/with elements s[0], ... s[n], host.execute(this) destru ctively[] [] Overfull \hbox (28.54916pt too wide) in paragraph at lines 6515--6515 [] /cmtt10@10.95pt/updates host so that host = s[0],..., s[n],tail[0],...t ail[m] */[] [] Overfull \hbox (74.53867pt too wide) in paragraph at lines 6515--6515 [] /cmtt10@10.95pt/return host; /* dummy return value; this operation has return type void![] [] [120] Overfull \hbox (11.3031pt too wide) in paragraph at lines 6664--6664 [] /cmtt10@10.95pt/static final Empty EMPTY = new Empty(); // singleton empt y list[] [] Overfull \hbox (28.54916pt too wide) in paragraph at lines 6664--6664 [] /cmtt10@10.95pt/Seq cons(Object newElt) { return new MutList(value.cons(ne wElt)); }[] [] [121] Overfull \hbox (11.3031pt too wide) in paragraph at lines 6664--6664 [] /cmtt10@10.95pt/void setEltAt(int i, final Object val) { // changes s[i] to val[] [] Overfull \hbox (63.04129pt too wide) in paragraph at lines 6664--6664 [] /cmtt10@10.95pt/new IllegalArgumentException("out-of-bounds index in UpdateEltAt");[] [] [122] Overfull \hbox (17.05179pt too wide) in paragraph at lines 6664--6664 [] /cmtt10@10.95pt/// apply visitor v to value and return result; value is UN CHANGED[] [] Overfull \hbox (68.78998pt too wide) in paragraph at lines 6664--6664 [] /cmtt10@10.95pt/throw new IllegalArgumentException(setFirst() applied to empty list");[] [] Overfull \hbox (57.2926pt too wide) in paragraph at lines 6664--6664 [] /cmtt10@10.95pt/throw new IllegalArgumentException("first() applied to empty list");[] [] Overfull \hbox (51.54391pt too wide) in paragraph at lines 6664--6664 [] /cmtt10@10.95pt/throw new IllegalArgumentException("rest() applied to empty list");[] [] [123] Overfull \hbox (11.3031pt too wide) in paragraph at lines 6858--6858 [] /cmtt10@10.95pt/static final Empty EMPTY = new Empty(); // singleton empt y list[] [] Overfull \hbox (28.54916pt too wide) in paragraph at lines 6858--6858 [] /cmtt10@10.95pt/Seq cons(Object newElt) { return new MutList(value.cons(ne wElt)); }[] [] Overfull \hbox (86.03604pt too wide) in paragraph at lines 6858--6858 [] /cmtt10@10.95pt/// returns a MutList containing elements s[1],...,s[n-1] w here n=length(this)[] [] Overfull \hbox (11.3031pt too wide) in paragraph at lines 6858--6858 [] /cmtt10@10.95pt/void setEltAt(int i, final Object val) { // changes s[i] to val[] [] [124] Overfull \hbox (63.04129pt too wide) in paragraph at lines 6858--6858 [] /cmtt10@10.95pt/new IllegalArgumentException("out-of-bounds index in UpdateEltAt");[] [] Overfull \hbox (17.05179pt too wide) in paragraph at lines 6858--6858 [] /cmtt10@10.95pt/// apply visitor v to value and return result; value is UN CHANGED[] [] Overfull \hbox (68.78998pt too wide) in paragraph at lines 6858--6858 [] /cmtt10@10.95pt/throw new IllegalArgumentException(setFirst() applied to empty list");[] [] [125] Overfull \hbox (57.2926pt too wide) in paragraph at lines 6858--6858 [] /cmtt10@10.95pt/throw new IllegalArgumentException("first() applied to empty list");[] [] Overfull \hbox (51.54391pt too wide) in paragraph at lines 6858--6858 [] /cmtt10@10.95pt/throw new IllegalArgumentException("rest() applied to empty list");[] [] [126] Overfull \hbox (11.3031pt too wide) in paragraph at lines 6858--6858 [] /cmtt10@10.95pt/void setEltAt(int i, final Object val) { // changes s[i] to val[] [] Overfull \hbox (63.04129pt too wide) in paragraph at lines 6858--6858 [] /cmtt10@10.95pt/new IllegalArgumentException("out-of-bounds index in UpdateEltAt");[] [] Overfull \hbox (17.05179pt too wide) in paragraph at lines 6858--6858 [] /cmtt10@10.95pt/// apply visitor v to value and return result; value is UN CHANGED[] [] [127] [128] Overfull \hbox (5.55441pt too wide) in paragraph at lines 6922--6922 [] /cmtt10@10.95pt/boolean atEnd(); // test whether past the last el ement[] [] File: gif/iterator1.ps Graphic file (type eps) [129 Non-PDF special ignored!] Overfull \hbox (5.55441pt too wide) in paragraph at lines 7167--7167 []/cmtt10@10.95pt/// The IList interface includes a method newIterator that cr eates[] [] Overfull \hbox (11.3031pt too wide) in paragraph at lines 7167--7167 [] /cmtt10@10.95pt/// inserts before current item; when atEnd(), does insertR ear(o)[] [] [130] [131] [132] Overfull \hbox (5.55441pt too wide) in paragraph at lines 7167--7167 [] /cmtt10@10.95pt/// reposition cursor to refer to first item (if one ex ists)[] [] Overfull \hbox (34.29785pt too wide) in paragraph at lines 7167--7167 [] /cmtt10@10.95pt/// returns true iff cursor points to imaginary element b eyond last[] [] Overfull \hbox (5.55441pt too wide) in paragraph at lines 7167--7167 [] /cmtt10@10.95pt/// post: Node containing o is inserted before current item,[] [] Overfull \hbox (11.3031pt too wide) in paragraph at lines 7167--7167 [] /cmtt10@10.95pt/// current is unchanged (pred is changed, last m ay be)[] [] [133] Overfull \hbox (17.05179pt too wide) in paragraph at lines 7167--7167 [] /cmtt10@10.95pt/if (oldSucc == null) last = newNode; // update last if needed[] [] Overfull \hbox (0.75266pt too wide) in paragraph at lines 7187--7190 /cmr12/the list, and pro-vides an ad-di-tional fac-tory method for pro-duc-ing /cmtt10@10.95pt/IBiIterator/cmr12/s. [] [134] [135] Overfull \hbox (22.80048pt too wide) in paragraph at lines 7429--7429 [] /cmtt10@10.95pt/Node head = new Node(); // allocate circularly linked hea der node[] [] Overfull \hbox (11.3031pt too wide) in paragraph at lines 7429--7429 [] /cmtt10@10.95pt/Node newNode = new Node(o,head,oldSucc); // allocate ne w Node[] [] Overfull \hbox (11.3031pt too wide) in paragraph at lines 7429--7429 [] /cmtt10@10.95pt/Node newNode = new Node(o,oldPred,head); // allocate ne w Node[] [] [136] Overfull \hbox (5.55441pt too wide) in paragraph at lines 7429--7429 [] /cmtt10@10.95pt/throw new ListException("remFront() applied to EmptyLi st");[] [] [137] Overfull \hbox (63.04129pt too wide) in paragraph at lines 7429--7429 [] /cmtt10@10.95pt/current = listThis.head.succ; // current is first item (if one exists)[] [] Overfull \hbox (63.04129pt too wide) in paragraph at lines 7429--7429 [] /cmtt10@10.95pt/current = listThis.head.succ; // current is first item (if one exists)[] [] Overfull \hbox (57.2926pt too wide) in paragraph at lines 7429--7429 [] /cmtt10@10.95pt/current = listThis.head.pred; // current is last item ( if one exists)[] [] [138] Overfull \hbox (5.55441pt too wide) in paragraph at lines 7429--7429 [] /cmtt10@10.95pt/new IteratorException("No current element in " + listT his);[] [] Overfull \hbox (40.04654pt too wide) in paragraph at lines 7429--7429 [] /cmtt10@10.95pt/Node newNode = new Node(o, oldPred, current); // alloca te new node[] [] Overfull \hbox (22.80048pt too wide) in paragraph at lines 7429--7429 [] /cmtt10@10.95pt/"BiIterator.remove() applied at end of BiList " + li stThis);[] [] [139] [140] [141] Chapter 3. [142 ] [143] File: gif/Counter.ps Graphic file (type eps) [144] [145 Non-PDF special ignored!] [146] [147] Overfull \hbox (0.36644pt too wide) in paragraph at lines 7827--7836 []/cmr12/In AWT/Swing li-brary, graph-i-cal com-po-nents that can con-tain othe r graph- [] [148] [149] [150] [151] [152] [153] Overfull \hbox (0.3653pt too wide) in paragraph at lines 8126--8135 /cmr12/ject only in-hibits the ex-e-cu-tion of op-er-a-tions that are de-clared as /cmtt10@10.95pt/synchronized/cmr12/. [] [154] [155] [156] Overfull \hbox (2.87708pt too wide) in paragraph at lines 8297--8303 []/cmr12/For an ex-am-ple, con-sider im-ple-ment-ing a bounded buffer pro-to-co l. Bounded [] Overfull \hbox (10.49272pt too wide) in paragraph at lines 8297--8303 /cmr12/buffers are used in Unix to al-low in-ter-pro-cess com-mu-ni-ca-tion via pipes. [] File: gif/new_bounded_buffer.ps Graphic file (type eps) Overfull \hbox (57.77484pt too wide) in paragraph at lines 8304--8305 [][] [] [157 Non-PDF special ignored!] [158] [159] File: gif/diningPhilosophers.ps Graphic file (type eps) [160 Non-PDF special ignored!] [161] (./current.aux) LaTeX Font Warning: Some font shapes were not available, defaults substituted. ) Here is how much of TeX's memory you used: 618 strings out of 95437 7058 string characters out of 1189055 54291 words of memory out of 1000001 3651 multiletter control sequences out of 10000+50000 13501 words of font info for 50 fonts, out of 500000 for 1000 14 hyphenation exceptions out of 1000 24i,8n,19p,574b,447s stack positions out of 1500i,500n,5000p,200000b,5000s 567 PDF objects out of 300000 0 named destinations out of 131072 0 words of extra memory for PDF output out of 65536 {/usr/share/texmf/dvips/tetex/bbad153f.enc}{/usr/share/texmf/dvips/tetex/aae443f0.enc}{/usr/share/texmf/dvips/tetex/f7b6d320.enc}{/usr/ share/texmf/dvips/tetex/74afc74c.enc}{/usr/share/texmf/dvips/tetex/09fbbfac.enc}{/usr/share/texmf/dvips/tetex/b6a4d7c7.enc} Output written on current.pdf (162 pages, 532095 bytes).