From:	MERC::"uunet!WKUVX1.BITNET!FILESERV-Mgr" 23-APR-1992 01:32:10.12
To:	galaxy::gleeve
CC:	
Subj:	BLISS-ARTICLE-PS.06_OF_07

-+-+-+-+-+-+-+-+ START OF PART 6 -+-+-+-+-+-+-+-+
X(only)c(when)i(and)f(if)f(con)o(trol)1017 2142 y(passes)i(out)f(of)f(the)h(b
V)
Xq(o)q(dy)g(of)g(the)g(coroutine)h(b)o(y)e(a)h(normal)1017 2192
Xy(subroutine-t)o(yp)q(e)d(return)h(\(e.g.)f(\\falling)d(through)j(the)g(end)
X1017 2242 y(of)19 b(its)i(b)q(o)q(dy"\).)37 b(The)21 b(normal)d(minim)o(al)f
X(action)j(to)g(b)q(e)1017 2291 y(exp)q(ected)d(of)e Fh(\017)1257
X2297 y Ff(4)1291 2291 y Ft(is)h(to)f(return)i(the)f(stac)o(k)g(space)h(used)
Vf
X(b)o(y)1017 2341 y(the)i(coroutine)h(and)e(to)h Fg(exc)o(hj)f
XFt(to)h(some)f(other,)i(activ)o(e,)1017 2391 y(coroutine.)i(In)15
Xb(suc)o(h)g(a)g(case,)g(a)g(subroutine-t)o(yp)q(e)h(return)1017
X2441 y(from)8 b(a)i(coroutine)g(corresp)q(onds)j(to)d(the)h(coroutine)f
X(killing)1017 2491 y(its)j(o)o(wn)h(existence.)1066 2540 y(The)k(coroutine)g
X(mec)o(hanism)e(describ)q(ed)j(ab)q(o)o(v)o(e)f(is)f(il-)1017
X2590 y(lustrated)i(b)o(y)g(the)g(follo)o(wing)d(sk)o(eletal)j(example.)31
Xb(\(The)965 2770 y(6)p eop
X%%Page: 7 7
Xbop 0 42 a Fg(exit)14 b Ft(op)q(erations)h(in)f(this)h(example)f(are)h
X(instances)h(of)f(an)0 91 y(\\escap)q(e)h(expression")f(\(whic)o(h)f(is)g
X(explained)g(in)g(the)h(sub-)0 141 y(sequen)o(t)i(material\).)22
Xb(In)16 b(this)g(case,)h(if)e(\(when\))i(executed)0 191 y(they)k(will)e
X(cause)i(con)o(trol)f(to)g(pass)h(to)f(the)h(end)g(of)f(the)0
X241 y(blo)q(c)o(k.\))50 320 y Fl(b)q(egin)79 365 y(o)o(wn)14
Xb Fk(pa)p Fl(,)i Fk(pb)p Fl(,)g Fk(s)p Fj(1`5B100`5D)p Fl(,)f Fk(s)p
XFj(2`5B100`5D)p Fl(;)79 411 y(function)d Fk(a)f Fj(=)123 457 y
XFl(b)q(egin)j(lo)q(cal)g Fk(l)q(a)p Fl(,)h Fk(x)p Fl(;)123
X499 y(.)123 515 y(.)123 532 y(.)123 578 y Fk(x)c Fi( )k Fl(exc)o(hj\()p
XFk(:pb)p Fl(,)g Fk(l)q(a)p Fl(\);)123 622 y(.)123 639 y(.)123
X655 y(.)123 701 y(end;)79 747 y(function)d Fk(b)p Fj(\()p Fk(z)r
XFj(\))f(=)123 792 y Fl(b)q(egin)j(lo)q(cal)g Fk(l)q(b)p Fl(,)i
XFk(y)q Fl(;)123 834 y(.)123 851 y(.)123 868 y(.)123 913 y Fk(y)c
XFi( )k Fl(exc)o(hj\()p Fk(:z)r Fl(,)d(lb\);)123 958 y(.)123
X974 y(.)123 991 y(.)123 1036 y(end;)79 1082 y Fk(pa)f Fi( )j
XFl(create)h Fk(a)p Fj(\(\))f Fl(at)g Fk(s)p Fj(1)g Fl(length)e
XFj(100)j Fl(then)e(exit;)79 1128 y Fk(pb)e Fi( )j Fl(create)h
XFk(b)p Fj(\()p Fk(:pa)p Fj(\))f Fl(at)g Fk(s)p Fj(2)g Fl(length)f
XFj(100)h Fl(then)g(exit;)79 1173 y(exc)o(hj\()p Fk(:pa)p Fl(,)g
XFj(0)p Fl(\);)50 1219 y(end)0 1302 y Ft(Execution)c(of)f(the)h(main)d(b)q(o)
Vq
X(dy)j(of)f(this)g(blo)q(c)o(k)h(creates)h(t)o(w)o(o)0 1352
Xy(coroutine)i(con)o(texts,)h(one)f(for)g(the)h Fg(function)c
XFh(a)i Ft(and)h(one)0 1402 y(for)h Fh(b)p Ft(,)g(and)g(stores)i(pro)q(cess)g
X(names)d(for)h(these)i(in)e Fh(pa)g Ft(and)0 1452 y Fh(pb)p
XFt(,)21 b(resp)q(ectiv)o(ely)m(.)39 b(The)22 b Fg(function)17
Xb Fh(b)j Ft(has)h(one)g(formal)0 1501 y(parameter)d(whose)h(v)n(alue)f(is)g
X(initialized)f(to)i Fh(:pa)p Ft(,)f(i.e.)g(to)0 1551 y(the)d(pro)q(cess)i
X(name)c(of)h(an)g(incarnation)g(of)g Fh(a)p Ft(.)20 b(The)c(main)0
X1601 y(b)q(o)q(dy)e(then)h(causes)h(con)o(trol)e(to)h(pass,)f(via)g(the)h
XFg(exc)o(hj)p Ft(,)e(to)0 1651 y(the)f(coroutine)h(named)d(b)o(y)i
XFh(:pa)p Ft(`7Cthat)f(is,)h(an)f(incarnation)0 1701 y(of)21 b
XFh(a)p Ft(,)i(in)e(this)h(case.)43 b(The)22 b(activ)n(ation)e(p)q(oin)o(t)h
X(of)g(b)q(oth)0 1750 y(coroutines)12 b(at)f(this)g(time)f(is)h(at)f(the)i
X(head)f(of)g(their)g(b)q(o)q(dies.)0 1800 y(A)o(t)h(some)f(p)q(oin)o(t)h(in)
Vg
X(the)g(execution)h(of)f Fh(a)g Ft(the)g(execution)h(of)0 1850
Xy(\\)p Fh(x)j Fm( )g Fg(exc)o(hj)p Ft(\()p Fh(:pb)p Ft(,)g
XFh(l)q(a)p Ft(\)")h(will)e(cause)j(con)o(trol)f(to)f(pass)i(to)0
X1900 y(the)f(coroutine)h(named)e(b)o(y)g Fh(:pb)p Ft(,)h(lea)o(ving)e(the)j
X(activ)n(ation)0 1950 y(p)q(oin)o(t)12 b(of)g Fh(a)h Ft(at)g(the)g(store)h
X(op)q(eration.)j(Similarly)l(,)10 b(at)i(some)0 1999 y(later)i(time)e(the)j
X(execution)f(of)g(\\)p Fh(y)f Fm( )g Fg(exc)o(hj)p Ft(\()p
XFh(:z)r Ft(,)f Fh(l)q(b)p Ft(\)")i(will)0 2049 y(cause)21 b(con)o(trol)f(to)
Vg
X(return)h(to)f Fh(a)g Ft(\(since)h Fh(:z)i Fm(\021)f Fh(:pa)f
XFm(\021)g Ft(a)0 2099 y(pro)q(cess)16 b(name)c(of)i Fh(a)p
XFt(\))g(at)f(its)h(activ)n(ation)f(p)q(oin)o(t)g(and)h(lea)o(v)o(e)0
X2149 y(the)g(activ)n(ation)f(p)q(oin)o(t)g(of)g Fh(b)g Ft(at)h(its)f
X(store-op)q(eration.)19 b(The)0 2199 y(v)n(alue)e(of)g(the)h
XFg(exc)o(hj)f Ft(op)q(eration)g(in)h Fh(a)f Ft(is)h(de\014ned)g(to)g(b)q(e)0
X2249 y(that)13 b(of)g(the)g(parameter)g(in)g(the)g Fg(exc)o(hj)g
XFt(op)q(eration)g(whic)o(h)0 2298 y(caused)18 b(con)o(trol)e(to)h(return)h
X(to)f Fh(a)p Ft(;)g(hence)i(in)d(this)h(case)h(a)0 2348 y(p)q(oin)o(ter)c(to
V)
Xg(the)g(lo)q(cal)f(v)n(ariable)g Fh(l)q(b)h Ft(will)e(b)q(e)j(stored)g(in)e
XFh(x)p Ft(.)50 2398 y(The)k(famili)o(ar)d(\\)p Fg(go)k(to)p
XFt(...)p Fh(l)q(abel)q Ft(")d(form)f(of)i(con)o(trol)g(has)0
X2448 y(not)g(b)q(een)h(included)f(in)g Fs(bliss)p Ft(.)24 b(There)17
Xb(are)g(t)o(w)o(o)e(reasons)0 2498 y(for)i(this:)24 b(\(1\))17
Xb(unrestricted)i Fg(go)h(to)p Ft('s)c(require)i(consider-)0
X2547 y(able)f(run-time)f(supp)q(ort)i(\(principally)e(due)i(to)f(the)g(p)q
X(os-)0 2597 y(sibilit)o(y)d(of)g(jumping)f(out)i(of)g(functions)g(and/or)g
X(blo)q(c)o(ks\),)1017 42 y(and)j(\(2\))h(the)g(authors)g(feel)f(strongly)h
X(that)g(the)g(general)1017 91 y Fg(go)e(to)p Ft(,)d(b)q(ecause)j(of)d(the)i
X(implied)d(violation)g(of)i(program)1017 141 y(structure,)i(is)f(a)f(ma)r
X(jor)g(villain)e(in)i(programs)g(whic)o(h)h(are)1017 191 y(di\016cult)g(to)h
X(understand,)i(mo)q(dify)m(,)c(and)i(debug.)29 b(There)1017
X241 y(are)10 b(\\go)q(o)q(d")f(and)g(\\bad")h(w)o(a)o(ys)f(to)h(use)h(a)e
XFg(go)i(to)p Ft(,)f(and)g(there)1017 291 y(are)j(restrictions)h(whic)o(h)e
X(could)h(b)q(e)g(imp)q(osed)f(whic)o(h)g(elim-)1017 340 y(inate)i(the)h(need
V)
Xh(for)e(run-time)f(supp)q(ort.)21 b(Consideration)1017 390
Xy(of)11 b(the)h(nature)g(of)f(\\go)q(o)q(d")g(w)o(a)o(ys,)g(and)g(of)g(the)i
X(restrictions)1017 440 y(necessary)j(to)f(eliminate)d(run-time)i(o)o(v)o
X(erhead,)g(led)h(us)g(to)1017 490 y(eliminate)10 b(the)k Fg(go)g(to)f
XFt(altogether,)g(and)f(to)h(the)h(inclusion)1017 540 y(of)d(a)h(ric)o(h)g
X(collection)f(of)g(conditional,)g(lo)q(oping,)f(and)i(case-)1017
X589 y(select)20 b(expressions.)37 b(These)20 b(alone,)g(ho)o(w)o(ev)o(er,)h
X(are)f(not)1017 639 y(su\016cien)o(tly)11 b(general,)h(or)g(con)o(v)o(enien)
Vo
X(t,)g(and)g(consequen)o(tly)1017 689 y(the)e(\\escap)q(e")h(expressions)g(w)
Vo
X(ere)g(in)o(tro)q(duced.)18 b(There)11 b(are)1017 739 y(eigh)o(t)16
Xb(forms)f(of)h(the)h(escap)q(e)i(mec)o(hanism,)14 b(one)j(for)f(eac)o(h)1017
X789 y(form)c(of)h(con)o(trol)h(en)o(vironmen)o(t:)1017 888
Xy Fg(exitblo)q(c)o(k)f Fh(\017)189 b Fg(exitcase)15 b Fh(\017)1017
X938 y Fg(exitcomp)q(ound)d Fh(\017)83 b Fg(exitselect)14 b
XFh(\017)1017 988 y Fg(exitlo)q(op)f Fh(\017)210 b Fg(exit)15
Xb Fh(\017)1017 1038 y Fg(exitset)f Fh(\017)239 b Fg(return)14
Xb Fh(\017)1017 1121 y Ft(Eac)o(h)i(escap)q(e)i(expression)f(causes)h(con)o
X(trol)e(to)g(exit)g(from)1017 1171 y(a)e(sp)q(eci\014ed)i(con)o(trol)f(en)o
X(vironmen)o(t)e(\(a)i(blo)q(c)o(k,)f(a)g(lo)q(op,)g(or)1017
X1220 y(a)j(conditional)f(expression,)k(for)d(example\))g Fr(and)23
Xb Ft(de\014nes)1017 1270 y(a)18 b(v)n(alue)h(\()p Fh(\017)p
XFt(\))g(for)g(that)g(con)o(trol)g(expression)h(\()p Fg(exit)f
XFt(exits)1017 1320 y(from)d(an)o(y)h(form)f(of)i(con)o(trol)f(expression,)j
XFg(return)c Ft(exits)1017 1370 y(from)11 b(a)i(function\).)k(Essen)o(tially)
Vc
X(the)h(escap)q(e)g(mec)o(hanism)1017 1420 y(pro)o(vides)e(a)f(highly)g
X(structured)j(form)d(of)g(forw)o(ard)h(branc)o(h)1017 1469
Xy(whic)o(h)k(is)g(a)o(wkw)o(ard)f(to)h(obtain)g(with)g(the)g(other)h(con)o
X(trol)1017 1519 y(expressions.)1066 1569 y(Consider)f(a)f(link)o(ed)f(list)g
X(of)h(t)o(w)o(o)f(w)o(ord)h(cells,)h(the)f(\014rst)1017 1619
Xy(of)i(whic)o(h)h(con)o(tains)g(a)f(link)g(\(p)q(oin)o(ter\))i(to)f(the)h
X(next)f(cell)1017 1669 y(\(the)d(last)f(cell)g(has)g(link)f(=)g(0\))h(and)g
X(the)h(second)g(of)f(whic)o(h)1017 1719 y(con)o(tains)i(data.)27
Xb(The)17 b(follo)o(wing)e(expression)j(illustrates)1017 1768
Xy(one)10 b(use)i(of)e(an)g(escap)q(e)j(expression;)f(the)g(expression)f(has)
Vg
X(a)1017 1818 y(v)n(alue)i(whic)o(h)g(is)h(the)g(p)q(oin)o(ter)g(to)g(the)g
X(\014rst)h(negativ)o(e)e(data)1017 1868 y(item,)e(or)i(a)g(v)n(alue)f(of)h
XFm(\000)p Ft(1)g(if)f(no)h(suc)o(h)h(item)d(is)i(found.)18
Xb(The)1017 1918 y(address)c(of)e(the)i(head)f(of)g(the)g(list)g(is)g(con)o
X(tained)g(in)f(a)h(\014eld)1017 1968 y(called)g Fh(head)p Ft(.)1066
X2046 y Fl(\(register)j Fk(t)p Fl(;)f Fk(t)c Fi( )g Fk(head)p
XFl(;)k(while)e Fj(\()p Fk(t)e Fi( )g Fk(::t)p Fj(\))e Fi(6)p
XFj(=)i(0)k Fl(do)1140 2092 y(if)f Fk(:)p Fj(\()p Fk(:t)7 b
XFj(+)i Fk(l)q Fj(\))h Fk(<)h Fj(0)k Fl(then)f(exitlo)q(op)g
XFk(:t)p Fl(\);)1017 2175 y Ft(Note)j(that)g(the)g(initialization)d(of)j(\()p
XFh(t)f Fm( )g Fh(head)p Ft(\))h(sets)h(the)1017 2225 y(v)n(alue)c(of)h
XFh(t)g Ft(to)g(a)g(p)q(oin)o(ter)h(to)f Fh(head)p Ft(,)g(not)g(the)h(con)o
X(ten)o(ts)h(of)1017 2275 y Fh(head)p Ft(.)1066 2325 y(It)26
Xb(is)g(in)o(teresting)g(to)f(note)h(that)g(the)g(decision)g(to)1017
X2374 y(remo)o(v)o(e)e(the)j Fg(go)i(to)c Ft(from)f Fs(bliss)i
XFt(and)f(the)i(decision)1017 2424 y(to)20 b(mak)o(e)f Fs(bliss)h
XFt(an)g(expression)i(language)d(are)i(closely)1017 2474 y(related.)29
Xb(The)18 b(presence)i(of)d(the)h Fg(go)i(to)d Ft(presen)o(ts)j(some)1017
X2524 y(a)o(wkw)o(ard)j(situations)h(in)g(the)h(implemen)o(tati)o(on)d(of)h
X(an)1017 2574 y(expression)15 b(language`7Cfor)d(example,)965
X2770 y(7)p eop
X%%Page: 8 8
Xbop 50 42 a Fl(go)15 b(to)g Fk(L)p Fl(;)g Fk(:)6 b(:)g(:)14
Xb Fl(;)h Fk(x)c Fi( )g Fk(a)e Fj(+)f Fk(b)h Fi(\003)g Fj(\()p
XFk(L)i Fj(:)f Fk(C)i Fi(\000)c Fk(d)p Fj(\))p Fl(;)15 b Fk(:)6
Xb(:)g(:)0 125 y Ft(or)50 203 y Fk(x)k Fi( )h Fk(a)p Fi(\003)p
XFl(\(if)k Fk(b)g Fl(then)f Fk(c)g Fl(else)h(go)g(to)g Fk(L)p
XFl(\);)h Fk(:)6 b(:)g(:)0 286 y Ft(With)28 b(the)h Fg(go)j(to)c
XFt(eliminated)e(from)g(the)j(language)0 336 y(it)23 b(b)q(ecomes)g(desirable
V)
Xg(to)g(implemen)o(t)d(an)j(expression)0 386 y(rather)f(than)e(a)h(statemen)o
X(t)f(orien)o(ted)i(language.)37 b(P)o(art)0 436 y(of)15 b(the)g(burden)h
X(carried)g(b)o(y)f(the)h Fg(go)h(to)e Ft(in)f(con)o(v)o(en)o(tional)0
X486 y(languages)23 b(shifts)g(to)h(n)o(umeric)e(v)n(alues)h(whic)o(h)h(con)o
X(trol)0 535 y(conditional,)12 b(lo)q(op,)h(case,)h(or)g(select)h
X(expressions.)0 635 y Fu(3.)25 b(Data)18 b(Structures)0 685
Xy Ft(One)j(of)f(the)h(outstanding)f(c)o(haracteristics)i(of)e(systems)0
X735 y(programs)c(is)g(their)i(concern)g(with)e(the)i(wide)f(v)n(ariet)o(y)f
X(of)0 785 y(data)g(structures)j(and)d(sc)o(hemes)h(for)f(represen)o(ting)i
X(these)0 834 y(structures.)29 b(Observ)n(ation)17 b(of)f(what)g(systems)h
X(program-)0 884 y(mers)c Fr(do)k Ft(rev)o(eals)e(that)e(a)h(large)f(fraction
V)
Xh(of)f(their)h(design)0 934 y(e\013ort)23 b(is)e(sp)q(en)o(t)i(in)e
X(constructing)i(represen)o(tations)h(for)0 984 y(e\016cien)o(tly)11
Xb(enco)q(ding)h(the)g(information)c(to)k(b)q(e)g(pro)q(cessed.)0
X1034 y(It)i(is)g(frequen)o(tly)g(the)h(case)g(that)f(the)g(most)f(di\016cult
V)
Xg(task)0 1083 y(in)21 b(making)d(a)j(mo)q(di\014cation)e(to)i(an)g(existing)
Vg
X(program)0 1133 y(is)g(that)f(of)h(represen)o(ting)h(the)f(additional)e
X(information)0 1183 y(required)14 b(\(e.g.)e(the)h(infamous)e(\\\014nd)h
X(another)h(bit")g(prob-)0 1233 y(lem\).)20 b(Consequen)o(tly)c(the)g(issue)f
X(of)g(represen)o(tation)i(w)o(as)0 1283 y(one)d(of)f(the)i(cen)o(tral)f
X(design)g(considerations)h(in)e Fs(bliss)p Ft(.)50 1333 y(Tw)o(o)g
X(principles)g(w)o(ere)h(follo)o(w)o(ed)e(in)h(the)h(design)f(of)g(the)0
X1382 y(data)h(structure)i(facilit)o(y)c(of)h Fs(bliss)p Ft(:)21
X1482 y Fm(\017)20 b Ft(the)g(user)g(m)o(ust)e(b)q(e)i(able)f(to)g(sp)q(ecify
V)
Xg(the)h Fr(ac)n(c)n(essing)62 1532 y(algorithm)d Ft(for)c(elemen)o(ts)h(of)f
X(a)h(structure,)21 1582 y Fm(\017)20 b Ft(the)11 b(structure)g(de\014nition)
Vf
X(and)f(the)h(algorithms)e(whic)o(h)62 1631 y(op)q(erate)26
Xb(on)e(the)h(elemen)o(ts)g(of)f(a)g(structure)i(m)o(ust)62
X1681 y(b)q(e)19 b(separated)h(in)e(suc)o(h)h(a)f(w)o(a)o(y)g(that)g(either)h
X(can)g(b)q(e)62 1731 y(mo)q(di\014ed)13 b(without)g(a\013ecting)h(the)h
X(other.)0 1831 y(The)e(\014rst)g(principle)f(is)h(in)f(accordance)h(with)g
X(the)g(\015exibil-)0 1880 y(it)o(y)j(and)h(e\016ciency)h(the)f
XFs(bliss)g Ft(programmer)d(should)j(b)q(e)0 1930 y(pro)o(vided)f(with)g(in)g
X(utilizing)e(the)j(mac)o(hine)e(features.)26 b(It)0 1980 y(expresses)21
Xb(our)d(strong)g(feelings)g(that)g(w)o(e)g(cannot`7Cand)0 2030
Xy(should)c(not)g(try)g(to`7Cpredict)g(whic)o(h)g(kind)g(of)f(structures)0
X2080 y(a)h(system)g(programmer)e(will)h(need,)i(so)f(that)h(a)f(giv)o(en)g
X(set)0 2130 y(of)i(primitiv)o(e)f(structures)k(and)d(other)i(statically)d
X(de\014ned)0 2179 y(structures)h(is)e(inadequate.)k(The)c(feature)h(of)e(a)g
X(structure)0 2229 y(declaration,)19 b(on)g(the)g(other)h(hand,)f(in)f(whic)o
X(h)h(the)g(user)0 2279 y(himself)24 b(sp)q(eci\014es)j(the)g(w)o(a)o(y)e(in)
Vg
X(whic)o(h)g(elemen)o(ts)h(are)0 2329 y(accessed,)20 b(pro)o(vides)e(the)g
X(user)h(with)e(the)h(full)e(\015exibilit)o(y)0 2379 y(and)k(e\016ciency)i(he
V)
Xf(needs.)39 b(This)20 b(p)q(oin)o(t)g(is)h(illustrated)0 2428
Xy(b)q(elo)o(w)16 b(b)o(y)h(taking)e(as)i(an)f(example)f(the)i(w)o(ell-kno)o
X(wn)f(ar-)0 2478 y(ra)o(y)g(structure.)28 b(The)17 b(di\013erence)h(with)e
X(the)h(static)g(arra)o(y)0 2528 y(structure)k(of)e Fs(algol)h
XFt(is)g(demonstrated)f(b)o(y)g(discussing)0 2578 y(sev)o(eral)14
Xb(v)n(arieties)g(of)g(accessing)h(an)e(arra)o(y)m(.)50 2628
Xy(In)d(order)h(to)f(ac)o(hiev)o(e)g(a)g(language)g(in)f(terms)h(of)g(whic)o
X(h)g(it)1017 42 y(is)i(p)q(ossible)g(to)g(write)h(large)f(systems)h(that)f
X(ma)o(y)e(b)q(e)j(easily)1017 91 y(mo)q(di\014ed,)h(it)i(is)f(imp)q(erativ)o
X(e)g(that)h(the)h(sp)q(eci\014cations)g(of)1017 141 y(the)e(represen)o
X(tation)h(of)e(a)h(data)f(structure)j(b)q(e)f(separated)1017
X191 y(from)d(the)i(sp)q(eci\014cation)h(of)e(algorithms)e(whic)o(h)j(manipu-
V)
X1017 241 y(late)10 b(data)g(in)g(that)h(structure.)19 b(This)11
Xb(principle)f(is)h(sev)o(erely)1017 291 y(violated)h(in)g(assem)o(bly)g
X(languages)h(where,)g(t)o(ypically)m(,)e(the)1017 340 y(co)q(de)k(to)g
X(access)i(an)d(elemen)o(t)g(of)h(a)f(structure,)j(for)d(exam-)1017
X390 y(ple,)f(simply)e(a)j(con)o(tiguous)f(\014eld)h(of)f(bits)h(within)f(a)h
X(w)o(ord,)1017 440 y(is)f(co)q(ded)i(\\in)f(line")f(at)h(the)g(p)q(oin)o(t)g
X(where)h(the)g(elemen)o(t)e(is)1017 490 y(needed.)18 b(A)12
Xb(comparativ)o(ely)d(trivial)h(c)o(hange)h(whic)o(h)g(alters)1017
X540 y(the)i(size)h(or)f(p)q(osition)f(of)g(the)i(\014eld)f(ma)o(y)e(require)
Vj
X(lo)q(cating)1017 589 y(and)9 b(mo)q(difying)e(all)i(references)k(to)c(the)i
X(\014eld.)17 b(This)9 b(simple)1017 639 y(problem)16 b(could)h(b)q(e)i(solv)
Vo
X(ed)e(b)o(y)h(follo)o(wing)d(go)q(o)q(d)i(co)q(ding)1017 689
Xy(practice)d(and,)f(p)q(erhaps,)i(b)o(y)e(the)i(use)f(of)f(macros;)g(not)g
X(all)1017 739 y(c)o(hanges)h(are)g(of)g(suc)o(h)g(a)g(trivial)e(nature,)i(ho
V)
Xo(w)o(ev)o(er.)1066 789 y(The)23 b(concept)g(of)f(a)g(\\p)q(oin)o(ter")f(to)
Vh
X(a)g(\014eld)g(\(of)g(bits)1017 839 y(within)f(a)g(w)o(ord\))h(w)o(as)g(men)
Vo
X(tioned)e(earlier.)42 b(Actually)m(,)1017 888 y(in)17 b Fs(bliss)h
XFt(a)g(p)q(oin)o(ter)g(is)g(a)g(5-tuple)g(consisting)g(of:)26
Xb(\(l\))18 b(a)1017 938 y(w)o(ord)g(address,)i(\(2\))e(a)g(\014eld)h(p)q
X(osition,)f(\(3\))g(a)g(\014eld)h(size,)1017 988 y(\(4\))e(an)g(\(index\))h
X(register)h(name,)e(and)g(\(5\))g(an)h(\\indirect)1017 1038
Xy(address")24 b(bit.)48 b(These)25 b(\014v)o(e)g(quan)o(tities)e(are)i(enco)
Vq
X(ded)1017 1088 y(in)18 b(a)g(single)h(w)o(ord)g(and)f(as)h(suc)o(h)h(are)f(a
V)
Xg(manipulatable)1017 1137 y(item)c(in)g(the)i(language)f(\(a)g(prerequisite)
Vi
X(of)e(algorithmic)1017 1187 y(represen)o(tational)21 b(sp)q(eci\014cation\).
V)
X39 b(F)m(or)20 b(simplicit)o(y)m(,)f(w)o(e)1017 1237 y(discuss)f(only)e(the)
Vh
X(\014rst)h(three)g(of)e(these)j(quan)o(tities;)e(the)1017 1287
Xy(reader)f(is)g(referred)h(to)f(the)g Fs(bliss)g Ft(reference)i(man)o(ual)13
Xb(`5B6`5D)1017 1337 y(for)k(more)h(detail.)30 b(The)19 b(w)o(ord)f(address,)
Vj
XFh(w)q(a)p Ft(,)d(\014eld)h(of)e(a)1017 1386 y(p)q(oin)o(ter)f(designates)i
X(the)f(ph)o(ysical)f(mac)o(hine)g(address)i(of)1017 1436 y(the)g(w)o(ord;)h
X(the)g(p)q(osition,)e Fh(p)p Ft(,)h(and)g(size,)h Fh(s)p Ft(,)g(designate)f
X(a)1017 1486 y(\014eld)11 b(within)h(a)f(w)o(ord)h(in)f(terms)h(of)f(the)i(n
V)
Xo(um)o(b)q(er)e(of)g(bits)h(to)1017 1536 y(the)h(righ)o(t)g(of)g(and)g
X(within)f(the)i(\014eld.)k(The)c(notation)e(used)1017 1586
Xy(in)g Fs(bliss)g Ft(to)g(sp)q(ecify)h(a)f(p)q(oin)o(ter)h(\(taking)f(only)f
X(the)i(simple)1017 1636 y Fh(w)q(a)p Ft(,)g Fh(p)p Ft(,)g Fh(s)h
XFt(case\))h(is)f(\\)p Fh(w)q(a)p Fm(h)p Fh(p;)7 b(s)p Fm(i)p
XFt(".)1066 1685 y(Assume)19 b(that)h(the)g(declaration)e(\\)p
XFg(o)o(wn)h Fh(x)p Ft(`5B100`5D")e(has)1017 1735 y(b)q(een)26 b(made.)52
Xb(The)26 b(iden)o(ti\014er)g Fh(x)f Ft(is)h(b)q(ound)g(b)o(y)f(this)1017
X1785 y(particular)11 b(declaration)g(to)g(a)g(p)q(oin)o(ter)h(to)f(the)h
X(36-bit)f(\014eld)1017 1835 y(whic)o(h)19 b(is)h(the)g(\014rst)h(w)o(ord)f
X(of)f(this)h(100-w)o(ord)f(segmen)o(t.)1017 1885 y(That)e(is,)h(the)g(w)o
X(ord)f(address)i(of)e(the)h(p)q(oin)o(ter)f Fh(x)h Ft(is)f(that)1017
X1934 y(of)i(the)h(lo)q(cation)f(allo)q(cated)g(to)g(the)i(segmen)o(t,)f(and)
Vf
X(the)1017 1984 y(p)q(osition)i(and)h(size)h(\014elds)g(ha)o(v)o(e)f(v)n
X(alues)f(of)h(0)g(and)g(36,)1017 2034 y(resp)q(ectiv)o(ely)m(.)17
Xb(If)10 b(w)o(e)h(denote)g(the)f(address)i(of)e(the)g(segmen)o(t)1017
X2084 y(b)o(y)15 b Fh(\013)1103 2090 y Fb(x)1123 2084 y Ft(,)g(then)h(an)f(o)
Vq
X(ccurrence)j(of)d Fh(x)g Ft(in)f(a)h Fs(bliss)h Ft(program)1017
X2134 y(is)h(iden)o(tical)h(to)g(an)g(o)q(ccurrence)i(of)e(\\)p
XFh(\013)1661 2140 y Fb(x)1681 2134 y Fm(h)p Ft(0)p Fh(;)7 b
XFt(36)p Fm(i)p Ft(".)29 b(If)18 b Fh(\017)1920 2140 y Ff(0)1938
X2134 y Ft(,)1017 2183 y Fh(\017)1034 2189 y Ff(1)1052 2183
Xy Ft(,)e(and)g Fh(\017)1180 2189 y Ff(2)1215 2183 y Ft(are)g(expressions,)i
X(then)f(the)g(syn)o(tactic)g(form)1017 2233 y(\\)p Fh(\017)1055
X2239 y Ff(0)1090 2233 y Ft(\()p Fh(\017)1123 2239 y Ff(1)1141
X2233 y Ft(,)g Fh(\017)1187 2239 y Ff(2)1206 2233 y Ft(\)")f(is)h(b)o(y)g
X(de\014nition)f(a)h(p)q(oin)o(ter)g(whose)g(w)o(ord)1017 2283
Xy(address)h(is)f(the)g(v)n(alue)g(of)f Fh(\017)1465 2289 y
XFf(0)1500 2283 y Ft(\(mo)q(dulo)g(2)1690 2268 y Ff(18)1724
X2283 y Ft(\))i(and)e(whose)1017 2333 y(p)q(osition)f(and)g(size)i(sp)q
X(eci\014cations)g(are)f(the)h(v)n(alues)e(of)h Fh(\017)1932
X2339 y Ff(1)1017 2383 y Ft(and)f Fh(\017)1116 2389 y Ff(2)1149
X2383 y Ft(\(mo)q(dulo)e(2)1336 2368 y Ff(6)1355 2383 y Ft(\))i(resp)q(ectiv)
Vo
X(ely)m(.)23 b(Th)o(us)16 b(\\)p Fh(X)s Fm(h)p Ft(3)p Fh(;)7
Xb Ft(4)p Fm(i)p Ft(")14 b(is)1017 2433 y(a)e(p)q(oin)o(ter)g(to)h(a)f
X(four-bit)g(\014eld)g(three)i(bits)f(from)d(the)j(righ)o(t)1017
X2482 y(end)d(of)f(a)g(w)o(ord)h(named)e Fh(X)s Ft(.)17 b(The)10
Xb(w)o(ord)g(address,)h(p)q(osition,)1017 2532 y(and)f(size)i(information)d
X(are)i(enco)q(ded)i(within)d(a)h(p)q(oin)o(ter)g(in)1017 2582
Xy(suc)o(h)16 b(a)g(w)o(a)o(y)f(that)h(adding)f(small)f(in)o(tegers)i(to)g(a)
Vg
X(p)q(oin)o(ter)1017 2632 y(incremen)o(ts)j(the)g(w)o(ord)g(address.)35
Xb(Th)o(us)20 b(\\)p Fh(X)c Ft(+)d(1")18 b(is)h(a)965 2770 y(8)p
Xeop
X%%Page: 9 9
Xbop 0 42 a Ft(p)q(oin)o(ter)13 b(to)g(the)h(w)o(ord)f(follo)o(wing)e
XFh(X)16 b Ft(\(unless)e(the)g(address)0 91 y(\014eld)g(o)o(v)o(er\015o)o
X(ws\).)50 141 y(In)k(order)h(to)g(satisfy)f(the)h(ob)r(jectiv)o(es)g(set)g
X(out)g(ab)q(o)o(v)o(e)0 191 y(for)j(data)g(structures,)k(it)c(is)h(desirable
V)
Xf(to)g(extend)i(the)0 241 y(allo)q(cation)18 b(declarations)j(\()p
XFg(global)p Ft(,)e Fg(o)o(wn)p Ft(,)i Fg(lo)q(cal)p Ft(,)f(etc.\))0
X291 y(describ)q(ed)f(ab)q(o)o(v)o(e.)29 b(Ho)o(w)o(ev)o(er,)19
Xb(for)e(exp)q(osition)g(w)o(e)h(shall)0 340 y(\014rst)g(describ)q(e)i(the)e
X(structure)i(mec)o(hanism)15 b(in)j(terms)f(of)0 390 y(the)j(allo)q(cation)f
X(declarations)h(already)f(a)o(v)n(ailable,)g(then)0 440 y(describ)q(e)24
Xb(the)g(extensions)f(when)g(more)f(motiv)n(ation)e(is)0 490
Xy(p)q(ossible.)50 540 y(The)g(de\014nition)g(of)g(a)g(class)g(of)g
X(structures,)k(that)c(is,)0 589 y(of)k(an)h(accessing)g(algorithm)d(to)j(b)q
X(e)g(asso)q(ciated)h(with)0 639 y(certain)16 b(sp)q(eci\014c)h(data)f
X(structures,)i(ma)o(y)c(b)q(e)i(made)e(b)o(y)i(a)0 689 y(declaration)e(of)f
X(the)h(form:)50 768 y Fl(structure)h Fi(h)p Fj(name)p Fi(i)p
XFl(`5B)p Fi(h)p Fj(formal)f(parameter)g(list)p Fi(i)p Fl(`5D)i
XFj(=)11 b Fk(\017)0 851 y Ft(P)o(articular)22 b(names)f(ma)o(y)f(then)j(b)q
X(e)f(asso)q(ciated)h(with)f(a)0 901 y(structure)16 b(class,)d(that)h(is)f
X(with)h(an)f(accessing)i(algorithm,)0 951 y(b)o(y)f(another)g(declaration)50
X1029 y Fl(map)g Fi(h)p Fj(name)p Fi(i)i(h)p Fj(name)d(list)p
XFi(i)p Fj(,)0 1112 y Ft(where)f(a)e Fm(h)p Ft(name)g(list)p
XFm(i)g Ft(is)g(a)h(sequence)h(of)e(names)g(separated)0 1162
Xy(b)o(y)k(colons.)50 1212 y(Consider)g(the)h(follo)o(wing)c(example:)50
X1291 y Fl(b)q(egin)94 1337 y(structure)k Fk(ar)q(y)q Fj(2`5B)p
XFk(i;)7 b(j)r Fj(`5D)j(=)h(\()p Fk(:ar)q(y)q Fj(2)e(+)g Fk(:i)f
XFi(\003)h Fj(10)g Fi(\003)f Fk(:j)r Fj(\))p Fl(;)94 1382 y(o)o(wn)14
Xb Fk(x)p Fj(`5B100`5D)p Fl(,)h Fk(y)q Fj(`5B100`5D)p Fl(,)g Fk(z)r
XFj(`5B100`5D)p Fl(;)94 1428 y(map)g Fk(ar)q(y)q Fj(2)h Fk(x)p Fl(:)p
XFk(y)q Fl(:)p Fk(z)r Fl(;)94 1470 y(.)94 1487 y(.)94 1503 y(.)94
X1549 y Fk(x)p Fj(`5B)p Fk(:a;)6 b(:b)p Fj(`5D)k Fi( )h Fk(:y)q
XFj(`5B)p Fk(:b;)6 b(:a)p Fj(`5D)p Fl(;)94 1593 y(.)94 1610 y(.)94
X1627 y(.)50 1672 y(end;)0 1755 y Ft(In)18 b(this)g(example)f(w)o(e)h(in)o
X(tro)q(duce)h(a)f(v)o(ery)g(simple)e(struc-)0 1805 y(ture,)24
Xb Fh(ar)q(y)q Ft(2,)f(for)e(t)o(w)o(o-dimensional)d(\(10)c
XFm(\002)h Ft(10\))21 b(arra)o(ys,)0 1855 y(declare)k(three)h(segmen)o(ts)f
X(with)f(names)f Fh(x)p Ft(,)k Fh(y)q Ft(,)g(and)d Fh(z)0 1905
Xy Ft(b)q(ound)d(to)f(them,)h(and)g(asso)q(ciate)g(the)g(structure)i(class)0
X1954 y Fh(ar)q(y)q Ft(2)11 b(with)f(these)i(names.)17 b(The)11
Xb(syn)o(tactic)g(forms)e Fh(x)p Ft(`5B)p Fh(\017)850 1960 y Ff(1)868
X1954 y Fh(;)e(\017)904 1960 y Ff(2)922 1954 y Ft(`5D)0 2004 y(and)16
Xb Fh(y)q Ft(`5B)p Fh(\017)133 2010 y Ff(3)151 2004 y Fh(;)7 b(\017)187
X2010 y Ff(4)205 2004 y Ft(`5D)16 b(are)g(v)n(alid)e(within)h(this)h(blo)q(c)
Vo
X(k)f(and)h(denote)0 2054 y(ev)n(aluation)11 b(of)h(the)h(accessing)g
X(algorithm)d(de\014ned)k(b)o(y)e(the)0 2104 y Fh(ar)q(y)q Ft(2-)p
XFg(structure)21 b Ft(declaration)i(\(with)g(an)f(appropriate)0
X2154 y(substitution)14 b(of)f(actual)h(for)f(formal)f(parameters\).)50
X2204 y(Although)j(they)h(are)f(not)h(implem)o(en)o(ted)e(in)h(this)g(w)o(a)o
X(y)m(,)0 2253 y(for)22 b(purp)q(oses)j(of)d(exp)q(osition)g(one)h(ma)o(y)e
X(think)i(of)f(the)0 2303 y(structure)13 b(declaration)e(as)g(de\014ning)f(a)
Vh
X(function)g(with)f(one)0 2353 y(more)g(formal)f(parameter)h(than)h(is)g
X(explicitly)f(men)o(tioned.)0 2403 y(F)m(or)j(example,)e(the)j(structure)i
X(declaration)d(in)g(the)g(previ-)0 2453 y(ous)h(example,)50
X2531 y Fl(structure)h Fk(ar)q(y)q Fj(2`5B)p Fk(i)p Fl(,)h Fk(j)r
XFj(`5D)10 b(=)h(\()p Fk(:ar)q(y)q Fj(2)e(+)f Fk(:i)h Fi(\003)f
XFj(10)h(+)g Fk(:j)r Fj(\))p Fl(;)0 2615 y Ft(conceptually)14
Xb(is)g(iden)o(tical)f(to)h(a)f(function)h(declaration)1066
X42 y Fl(function)e Fk(ar)q(y)q Fj(2\()p Fk(f)t Fj(0)p Fl(,)17
Xb Fk(f)t Fj(1)p Fl(,)d Fk(f)t Fj(2\))d(=)f(\()p Fk(:f)t Fj(0)e(+)h
XFk(:f)t Fj(1)f Fi(\003)h Fj(10)g(+)f Fk(:f)t Fj(2\))p Fl(;)1017
X125 y Ft(The)17 b(expressions)i Fh(x)p Ft(`5B)p Fh(:a;)7 b(:b)p
XFt(`5D)15 b(and)i Fh(y)q Ft(`5B)p Fh(:b;)7 b(:a)p Ft(`5D)15 b(corresp)q(ond)
Vk(to)
X1017 174 y(calls)i(on)g(this)h(function,)h(i.e.)d(to)i Fh(ar)q(y)q
XFt(2\()p Fh(x)p Ft(,)h Fh(:a)p Ft(,)g Fh(:b)p Ft(\))e(and)1017
X224 y Fh(ar)q(y)q Ft(2\()p Fh(y)q Ft(,)14 b Fh(:b)p Ft(,)f
XFh(:a)p Ft(\).)1066 274 y(A)e Fg(function)c Ft(declaration)j(suc)o(h)h(as)g
X(that)f(sho)o(wn)g(ab)q(o)o(v)o(e)1017 324 y(implicitl)o(y)15
Xb(declares)k(iden)o(ti\014ers)g(and)f(allo)q(cates)g(storage)1017
X374 y(for)h(its)h(formal)d(parameters.)35 b(These)21 b(are)g(functionally)
X1017 423 y(equiv)n(alen)o(t)g(to)h(those)i(declared)f Fg(lo)q(cal)e
XFt(\(in)i(scop)q(e)g(and)1017 473 y(exten)o(t\),)12 b(and)f(are)g
X(initialized)f(to)h(the)g(p)q(ositionally)e(equiv-)1017 523
Xy(alen)o(t)h(actual)f(parameter)h(when)h(the)g(function)f(is)g(in)o(v)o(ok)o
X(ed.)1017 573 y(Consisten)o(t)j(with)f(the)h(in)o(terpretation)g(of)e(iden)o
X(ti\014ers,)i(the)1017 623 y(v)n(alue)i(of)h(a)g(formal)e(parameter)i(iden)o
X(ti\014er,)h(sa)o(y)g Fh(f)t Ft(0,)g(is)f(a)1017 672 y(p)q(oin)o(ter)f(to)f
X(the)i(lo)q(cation)e(allo)q(cated)g(for)h(the)h(formal)c(\(on)1017
X722 y(this,)e(p)q(ossibly)g(recursiv)o(e,)i(in)o(v)o(o)q(cation\),)d(and)h
XFh(:f)t Ft(0)h(denotes)1017 772 y(its)i(v)n(alue.)1066 822
Xy(Since,)28 b(in)d(a)g(structure)i(declaration,)h(there)e(is)f(an)1017
X872 y(implicit,)17 b(unnamed)h(formal)e(parameter,)k(the)g(name)e(of)1017
X922 y(the)26 b(structure)j(class)d(itself)g(is)g(used)h(to)f(denote)h(this)
X1017 971 y(\\zero-th")11 b(parameter.)16 b(This)11 b(con)o(v)o(en)o(tion)f
X(main)o(tains)e(the)1017 1021 y(p)q(ositional)20 b(corresp)q(ondence)25
Xb(of)c(actuals)h(and)g(formals.)1017 1071 y(Th)o(us,)11 b(in)g(the)h(example
V)
Xe(ab)q(o)o(v)o(e,)h Fh(:ar)q(y)q Ft(2)g(denotes)i(the)f(v)n(alue)1017
X1121 y(of)18 b(the)h(zero-th)h(parameter,)f(that)g(is)f(the)i(name)d(of)h
X(the)1017 1171 y(particular)c(segmen)o(t)f(b)q(eing)i(referenced,)h(and)e
XFh(x)p Ft(`5B)p Fh(:a)p Ft(,)f Fh(:b)p Ft(`5D)g(is)1017 1220 y(equiv)n(alen)
Vo(t)k
X(to)g(\()p Fh(x)12 b Ft(+)g Fh(:a)g Fm(\003)f Ft(10)h(+)g Fh(:b)p
XFt(\).)29 b(The)18 b(v)n(alue)g(of)f(this)1017 1270 y(expression)e(is)e(a)h
X(p)q(oin)o(ter)g(to)f(the)i(designated)f(elemen)o(t)g(of)1017
X1320 y(the)g(segmen)o(t)g(named)e(b)o(y)i Fh(x)p Ft(.)1066
X1370 y(In)c(the)g(follo)o(wing)d(example)h(the)i(structure)h(facilit)o(y)d
X(and)1017 1420 y(bind)h(declaration)h(ha)o(v)o(e)h(b)q(een)g(used)g(to)f
X(e\016cien)o(tly)h(enco)q(de)1017 1469 y(a)g(matrix)g(pro)q(duct)i(\()p
XFh(z)1372 1475 y Fb(i;j)1423 1469 y Ft(=)1467 1438 y Fa(P)1511
X1449 y Ff(9)1511 1482 y Fb(k)q Ff(=0)1580 1469 y Fh(x)1604
X1475 y Fb(ik)1636 1469 y Fh(y)1656 1475 y Fb(k)q(j)1692 1469
Xy Ft(\).)18 b(In)12 b(the)h(inner)1017 1519 y(blo)q(c)o(k)k(the)i(names)f
XFh(xr)h Ft(and)f Fh(y)q(c)h Ft(are)g(b)q(ound)f(to)g(p)q(oin)o(ters)1017
X1569 y(to)f(the)i(base)g(of)e(a)h(sp)q(eci\014ed)h(ro)o(w)f(of)g
XFh(x)f Ft(and)h(column)f(of)1017 1619 y Fh(y)e Ft(resp)q(ectiv)o(ely)m(.)k
X(These)d(iden)o(ti\014ers)e(are)h(then)f(asso)q(ciated)1017
X1669 y(with)h(structure)k(classes)e(whic)o(h)g(allo)o(w)d(one-dimensional)
X1017 1719 y(access.)1066 1797 y Fl(b)q(egin)1096 1843 y(structure)h
XFk(ar)q(y)q Fj(2`5B)p Fk(i;)7 b(j)r Fj(`5D)j(=)h(\()p Fk(:ar)q(y)q
XFj(2)e(+)f Fk(:i)h Fi(\003)f Fj(10)h(+)g Fk(:j)r Fj(\))p Fl(;)1169
X1889 y Fk(r)q(ow)q Fj(`5B)p Fk(i)p Fj(`5D)h(=)h(\()p Fk(:r)q(ow)d
XFj(+)h Fk(:i)p Fj(\))p Fl(;)1169 1934 y Fk(col)q Fj(`5B)p Fk(j)r
XFj(`5D)h(=)g(\()p Fk(:col)f Fj(+)f Fk(:j)i Fi(\003)f Fj(10\))p
XFl(;)1096 1980 y(o)o(wn)58 b Fk(x)p Fj(`5B100`5D)p Fl(,)15 b Fk(y)q
XFj(`5B100`5D)p Fl(,)g Fk(z)r Fj(`5B100`5D)p Fl(;)1096 2026 y(map)59
Xb Fk(ar)q(y)q Fj(2)16 b Fk(x)p Fl(:)p Fk(y)q Fl(:)p Fk(z)r
XFl(;)1096 2068 y(.)1096 2085 y(.)1096 2101 y(.)1096 2147 y(incr)d
XFk(i)i Fl(from)g Fj(0)f Fl(to)i Fj(9)e Fl(do)1140 2192 y(b)q(egin)g(bind)e
XFk(xr)g Fj(=)f Fk(x)p Fj(`5B)p Fk(:i;)5 b Fj(0`5D)p Fl(,)15 b Fk(z)r(r)d
XFj(=)e Fk(z)r Fj(`5B)p Fk(:)p Fj(1)p Fk(;)5 b Fj(0`5D)p Fl(;)1169
X2238 y(map)15 b Fk(r)q(ow)g(xr)q Fl(:)p Fk(z)r(r)q Fl(;)1169
X2284 y(incr)f Fk(j)j Fl(from)d Fj(0)h Fl(to)g Fj(9)g Fl(do)1199
X2329 y(b)q(egin)1221 2375 y(register)g Fk(t)p Fl(;)g(bind)d
XFk(y)q(c)e Fj(=)h Fk(y)q Fj(`5B0)p Fk(;)6 b(:j)r Fj(`5D)p Fl(;)14
Xb(map)f Fk(col)i(y)q(c)p Fl(;)1228 2421 y Fk(t)c Fi( )g Fj(0)p
XFl(;)1228 2466 y(incr)j Fk(k)i Fl(from)e Fj(0)h Fl(to)g Fj(9)g
XFl(do)1273 2512 y Fk(t)10 b Fi( )h Fk(:t)d Fj(+)h Fk(:xr)q
XFj(`5B)p Fk(:k)q Fj(`5D)e Fi(\003)i Fk(:y)q(c)p Fj(`5B)p Fk(:k)q
XFj(`5D)p Fl(;)1228 2558 y Fk(z)r(r)q Fj(`5B)p Fk(:j)r Fj(`5D)h Fi( )h
XFk(:t)p Fl(;)1199 2603 y(end;)965 2770 y Ft(9)p eop
X%%Page: 10 10
Xbop 123 42 a Fl(end;)79 84 y(.)79 100 y(.)79 117 y(.)50 163
Xy(end)0 246 y Ft(Supp)q(ose)11 b(no)o(w)f(that)g(one)g(wishes)h(to)f(alter)g
X(the)h(represen)o(ta-)0 295 y(tion)g(of)g(the)i(structure)h
XFh(ar)q(y)q Ft(2,)e(and)f(access)j(to)e(the)g(arra)o(y)g(is)0
X345 y(to)f(b)q(e)h(made)f(through)g(a)h(dop)q(e)f(v)o(ector)i(to)e(de\014ne)
Vi
X(the)f(rela-)0 395 y(tiv)o(e)g(base)i(of)e(eac)o(h)h(ro)o(w.)k(The)c(ma)r
X(jor)e(c)o(hange)i(required)h(is)0 445 y(to)e(replace)g(the)h(curren)o(t)g
X(structure)h(declaration)e(for)f Fh(ar)q(y)q Ft(2)0 495 y(b)o(y)50
X574 y Fl(o)o(wn)j Fk(i)p Fj(1`5B10`5D)p Fl(;)h(map)g Fk(r)q(ow)g(i)p
XFj(1)p Fl(;)50 619 y(structure)g Fk(ar)q(y)q Fj(2`5B)p Fk(i;)7
Xb(j)r Fj(`5D)j(=)h(\()p Fk(:ar)q(y)q Fj(2)e(+)f Fk(:i)p Fj(1`5B)p
XFk(;)e(i)p Fj(`5D)i(+)h Fk(:j)r Fj(\))p Fl(;)0 702 y Ft(With)19
Xb(this)h(represen)o(tation,)i(the)f(use)g(of)e(a)g(sp)q(ecial)h(ac-)0
X752 y(cessing)c(algorithm)c(\(structure\))18 b(for)c(accessing)j(columns)0
X802 y(b)q(ecomes)50 881 y Fl(structure)e Fk(col)q Fj(`5B)p Fk(j)r
XFj(`5D)9 b(=)i(\()p Fk(:col)d Fj(+)g Fk(:i)p Fj(1`5B)p Fk(:j)r
XFj(`5D\))p Fl(;)0 964 y Ft(As)18 b(can)g(b)q(e)g(seen,)h(these)g(fairly)d
X(simple)g(c)o(hanges)j(in)e(the)0 1014 y(program)10 b(completely)h(c)o(hange
V)
Xh(its)f(represen)o(tation)j(of)d(the)0 1063 y(data.)31 b(No)18
+-+-+-+-+-+-+-+-  END  OF PART 6 +-+-+-+-+-+-+-+-
