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

-+-+-+-+-+-+-+-+ START OF PART 5 -+-+-+-+-+-+-+-+
Vi
X(Segmen)o(ts)e(created)i(b)o(y)d Fg(lo)q(cal)0 191 y Ft(and)f
XFg(register)e Ft(declarations)i(are)g(created)i(at)e(the)g(time)f(of)0
X241 y(blo)q(c)o(k)j(en)o(try)g(and)g(are)g(preserv)o(ed)i(only)d(for)g(the)i
X(duration)0 291 y(of)i(the)i(execution)f(of)g(that)g(blo)q(c)o(k.)29
Xb(The)19 b Fg(register)c Ft(seg-)0 340 y(men)o(ts)g(di\013er)g(from)f
XFg(lo)q(cal)g Ft(segmen)o(ts)h(only)g(in)g(that)g(they)0 390
Xy(are)e(allo)q(cated)f(from)e(the)j(mac)o(hine's)e(arra)o(y)h(of)f(16)h
X(general)0 440 y(purp)q(ose)18 b(\(fast\))f(registers.)28 b(Reen)o(try)17
Xb(of)f(a)g(blo)q(c)o(k)h(b)q(efore)0 490 y(it)12 b(is)f(exited)i(\(b)o(y)f
X(recursiv)o(e)h(function)f(calls,)f(for)h(example\))0 540 y(b)q(eha)o(v)o(es
V)
X20 b(as)e(in)h Fs(algol)p Ft(,)h(that)f(is,)g Fg(lo)q(cal)f
XFt(and)h Fg(register)0 589 y Ft(segmen)o(ts)c(are)g(dynamically)e(lo)q(cal)h
X(to)h(eac)o(h)g(incarnation)0 639 y(of)e(the)i(blo)q(c)o(k.)50
X689 y(It)25 b(is)g(imp)q(ortan)o(t)e(to)i(notice)g(from)e(the)j(discussion)0
X739 y(ab)q(o)o(v)o(e)15 b(that)g(iden)o(ti\014ers)h(are)g(b)q(ound)f(to)g
X(names)f(b)o(y)h(these)0 789 y(declarations,)25 b(and)e(that)h(the)f(v)n
X(alue)g(of)g(a)g(name)f(is)h(a)0 839 y(p)q(oin)o(ter.)58 b(Th)o(us)27
Xb(the)h(v)n(alue)f(of)f(an)h(instance)h(of)f(an)0 888 y(iden)o(ti\014er,)32
Xb(sa)o(y)c Fh(x)p Ft(,)i(is)e Fr(not)33 b Ft(the)c(v)n(alue)e(of)h(the)g
X(\014eld)0 938 y(named)20 b(b)o(y)h Fh(x)p Ft(,)h(but)f(rather)h(is)f(a)f(p)
Vq
X(oin)o(ter)i(to)e Fh(x)p Ft(.)40 b(This)0 988 y(in)o(terpretation)16
Xb(requires)g(a)f(\\con)o(ten)o(ts)h(of")f(op)q(erator)h(for)0
X1038 y(whic)o(h)27 b(the)h(sym)o(b)q(ol)d(\\.")h(has)h(b)q(een)h(c)o(hosen.)
X58 b(T)m(o)27 b(a)0 1088 y(programmer)14 b(who)j(is)g(used)g(to)g(the)g(con)
Vo
X(text-dep)q(enden)o(t)0 1137 y(in)o(terpretation)j(of)e(iden)o(ti\014ers,)j
X(it)e(ma)o(y)e(seem)j(that)f(the)0 1187 y(notations)13 b Fh(x)g
XFt(and)g Fh(:x)f Ft(for)h(a)g(p)q(oin)o(ter)h(to)f(a)g(\014eld)g(and)g(v)n
X(alue)0 1237 y(of)i(that)g(\014eld,)h(resp)q(ectiv)o(ely)m(,)g(migh)o(t)d(b)
Vq
X(etter)k(b)q(e)f(replaced)0 1287 y(b)o(y)11 b(@)p Fh(x)g Ft(and)g
XFh(x)p Ft(.)17 b(Ho)o(w)o(ev)o(er,)12 b(a)f(little)g(comparison)f(will)f(so)
Vq
X(on)0 1337 y(sho)o(w)14 b(that)g(the)g(dot)g(notation)f(is)h(to)g(b)q(e)g
X(preferred.)50 1386 y(First,)g(\\.")g(has)h(a)f(unique)h(in)o(terpretation)g
X(as)f(a)g(unary)0 1436 y(op)q(erator)20 b(meaning:)27 b(\\tak)o(e)19
Xb(the)h(con)o(ten)o(ts)g(of)f(the)g(\014eld)0 1486 y(p)q(oin)o(ted)c(at)h(b)
Vo
X(y)f Fh(x)p Ft(.")22 b(@)p Fh(x)15 b Ft(cannot)g(b)q(e)h(in)o(terpreted)h(as
V)
Xf(the)0 1536 y(in)o(v)o(erse)d(of)f(\\.)p Fh(x)p Ft(",)f(since)i(the)g(dot)g
X(function)f(do)q(es)h(not)g(ha)o(v)o(e)0 1586 y(a)f(unique)h(in)o(v)o(erse)g
X(\(there)h(ma)o(y)d(b)q(e)i(man)o(y)e(lo)q(cations)h(with)0
X1636 y(the)18 b(same)e(v)n(alue)h(as)g(that)g(of)g Fh(x)p Ft(\).)28
Xb(If)16 b(the)i(o)q(ccurrence)i(of)0 1685 y Fh(x)g Ft(is)g(in)o(terpreted)i
X(as)f(\\compute)f(the)h(\014eld)f(p)q(oin)o(ted)h(at)0 1735
Xy(b)o(y)f Fh(x)h Ft(and)f(tak)o(e)h(its)f(con)o(ten)o(ts,")j(one)e(could)f
X(attac)o(h)h(to)0 1785 y(@)p Fh(x)15 b Ft(the)g(meaning:)i(\\p)q(erform)d
X(the)h(op)q(eration)g(describ)q(ed)0 1835 y(ab)q(o)o(v)o(e,)d(but)h(suppress
V)
Xi(the)e(extraction)g(of)f(the)h(con)o(ten)o(ts.")0 1885 y(But)j(\\@")f(could
V)
Xg(still)f(not)h(b)q(e)h(used)g(as)f(unary)g(op)q(erator,)0
X1934 y(since)g(@\()p Fh(x)10 b Ft(+)g Fh(y)q Ft(\))16 b(or)e(ev)o(en)h(@@)p
XFh(x)g Ft(w)o(ould)f(b)q(e)h(meaningless,)0 1984 y(whereas)g
XFh(:)p Ft(\()p Fh(x)9 b Ft(+)g Fh(y)q Ft(\))15 b(and)f Fh(::x)e
XFt(b)q(oth)i(mak)o(e)f(sense.)50 2034 y(Second,)20 b(one)e(of)g(the)h(ma)r
X(jor)e(ob)r(jectiv)o(es)i(of)f Fs(bliss)h Ft(is)0 2084 y(to)e(p)q(ermit)f
X(the)i(programmer)c(to)j(de\014ne)h(arbitrary)f(rep-)0 2134
Xy(resen)o(tations)e(of)e(data)g(structures)j(\(as)e(will)e(b)q(e)j(discussed
V)
X0 2183 y(later\).)32 b(In)19 b(order)g(to)f(accomplish)f(this)i(it)f(is)g
X(necessary)0 2233 y(to)g(not)g(only)f(allo)o(w)g(op)q(erations)h(on)g(p)q
X(oin)o(ters,)h(but)f(also)0 2283 y(to)e(allo)o(w)f(the)i(v)n(alue)e(of)h(an)
Vg
X(arbitrary)g(expression)i(to)e(b)q(e)0 2333 y(in)o(terpreted)23
Xb(as)e(a)f(p)q(oin)o(ter,)j(i.e.,)e(a)f(name.)38 b(Since)22
Xb(the)0 2383 y(seman)o(tic)12 b(in)o(terpretation)i(of)e(iden)o(ti\014ers)i
X(is)f(indep)q(enden)o(t)0 2433 y(of)f(con)o(text,)g(and)g(consequen)o(tly)h
X(so)g(is)f(that)g(of)f(all)g(expres-)0 2482 y(sions,)g(it)f(is)g(p)q(ossible
V)
Xh(to)g(do)f(this)h(in)f(a)g(consisten)o(t)i(manner.)0 2532
Xy(A)g(consisten)o(t)i(in)o(terpretation)e(is)g(m)o(uc)o(h)f(more)g
X(di\016cult)h(in)0 2582 y(the)h(case)h(of)e(con)o(text-dep)q(enden)o(t)j(in)
Vo
X(terpretations)e(\(since)0 2632 y(static)20 b(con)o(text)g(is)f(inadequate)g
X(in)g(expressions)i(in)o(v)o(olv-)1017 42 y(ing)c(function)h(calls,)h(for)f
X(example\).)31 b(The)19 b(authors)g(feel)1017 91 y(strongly)h(that)g(this)h
X(con)o(text-indep)q(enden)o(t)h(in)o(terpreta-)1017 141 y(tion)17
Xb(of)h(iden)o(ti\014ers)h(simpli\014es)e(systems)h(programming)o(.)1017
X191 y(Exp)q(erience)c(in)f(using)f(the)i(language)d(for)i(non)o(trivial)e
X(pro-)1017 241 y(gramm)o(ing)g(tasks)j(supp)q(orts)h(this)f(p)q(oin)o(t)f(of
V)
Xh(view.)1066 291 y(There)19 b(are)f(t)o(w)o(o)f(additional)e(declarations)j
X(whose)g(ef-)1017 340 y(fect)h(is)g(to)g(bind)g(iden)o(ti\014ers)h(to)f
X(names,)g(but)g(whic)o(h)g(do)1017 390 y(not)13 b(create)j(segmen)o(ts;)d
X(examples)g(are:)1066 469 y Fl(external)j Fk(s)p Fl(;)1066
X515 y(bind)d Fk(y)q Fj(2)e(=)g Fk(y)e Fj(+)g(2)p Fl(,)15 b
XFk(pa)c Fj(=)g Fk(p)e Fj(+)f Fk(:a)p Fl(;)1017 598 y Ft(An)h
XFr(external)14 b Ft(declaration)9 b(binds)h(one)g(or)g(more)e(iden)o
X(ti\014ers)1017 648 y(to)23 b(the)i(names)e(represen)o(ted)j(b)o(y)e(the)h
X(same)e(iden)o(ti\014er)1017 697 y(declared)j Fg(global)d Ft(in)i(another,)k
X(separately)d(compiled)1017 747 y(mo)q(dule.)i(The)19 b Fg(bind)c
XFt(declaration)j(binds)g(one)g(or)g(more)1017 797 y(iden)o(ti\014ers)k(to)f
X(the)i(v)n(alue)e(of)g(an)g(expression)i(at)e(blo)q(c)o(k)1017
X847 y(en)o(try)f(time.)33 b(A)o(t)19 b(least)h(p)q(oten)o(tially)e(the)i(v)n
X(alue)f(of)g(this)1017 897 y(expression)13 b(ma)o(y)d(not)i(b)q(e)h
X(calculable)f(un)o(til)f(run)i(time`7Cas)1017 946 y(in)e(\\)p
XFh(pa)g Ft(=)h Fh(p)5 b Ft(+)g Fh(:a)p Ft(")k(ab)q(o)o(v)o(e.)17
Xb(Examples)11 b(of)g(the)h(use)g(of)f Fg(bind)1017 996 y Ft(will)h(b)q(e)i
X(found)g(in)f(subsequen)o(t)j(sections.)1017 1096 y Fu(2.)24
Xb(Control)1017 1146 y Fs(bliss)d Ft(is)h(an)f(\\expression)i(language,")f
X(that)g(is,)h(ev)o(ery)1017 1196 y(executable)c(construct,)i(including)d
X(those)h(whic)o(h)f(mani-)1017 1245 y(fest)c(con)o(trol,)f(is)h(an)g
X(expression)h(and)f(computes)f(a)h(v)n(alue.)1017 1295 y(There)25
Xb(are)f(no)g(statemen)o(ts)h(in)f(the)g(sense)i(of)e Fs(algol)1017
X1345 y Ft(or)c(PL/1.)37 b(Expressions)22 b(ma)o(y)c(b)q(e)j(concatenated)h
X(with)1017 1395 y(semicolons)e(to)i(form)f(comp)q(ound)g(expressions,)k
X(where)1017 1445 y(the)11 b(v)n(alue)f(of)g(a)h(comp)q(ound)f(expression)i
X(is)e(that)h(of)f(its)h(last)1017 1494 y(comp)q(onen)o(t)18
Xb(expression.)35 b(Th)o(us)19 b(\\;")i(ma)o(y)c(b)q(e)j(though)o(t)1017
X1544 y(of)15 b(as)i(a)e(dy)o(adic)h(op)q(erator)h(whose)g(v)n(alue)f(is)g
X(simply)e(that)1017 1594 y(of)j(its)i(righ)o(t-hand)e(op)q(erand.)33
Xb(Comp)q(ound)16 b(expressions)1017 1644 y(ha)o(v)o(e)f(a)h(similar)d(app)q
X(earance)k(and)e(function)h(as)g(a)f(list)h(of)1017 1694 y(statemen)o(ts)i
X(in)f Fs(algol)p Ft(.)31 b(The)18 b(pair)f(of)g(sym)o(b)q(ols)g
XFg(b)q(egin)1017 1743 y Ft(and)9 b Fg(end)g Ft(or)g(left)h(and)f(righ)o(t)h
X(paren)o(theses)h(ma)o(y)d(b)q(e)j(used)f(to)1017 1793 y(em)o(brace)h(suc)o
X(h)i(a)e(comp)q(ound)g(expression)i(and)f(con)o(v)o(ert)g(it)1017
X1843 y(in)o(to)f(a)g(simple)f(expression.)19 b(A)11 b(blo)q(c)o(k)h(is)f
X(merely)g(a)h(sp)q(ecial)1017 1893 y(case)k(of)g(this)g(construction)h(whic)
Vo
X(h)f(happ)q(ens)h(to)e(con)o(tain)1017 1943 y(declarations;)f(th)o(us)h(the)
Vh
X(v)n(alue)e(of)g(a)g(blo)q(c)o(k)h(is)f(de\014ned)i(to)1017
X1993 y(b)q(e)11 b(the)g(v)n(alue)f(of)g(its)h(constituen)o(t)h(comp)q(ound)d
X(expression.)1066 2042 y(The)22 b(op)q(erator)g(\\)p Fm( )p
XFt(")f(is)g(a)h(dy)o(adic)f(op)q(erator)h(whic)o(h)1017 2092
Xy(should)15 b(b)q(e)h(read)g(as)f(\\store)h(in)o(to.")22 b(More)16
Xb(precisely)m(,)f(the)1017 2142 y(expression)21 b(\\)p Fh(\017)1261
X2148 y Ff(1)1300 2142 y Fm( )g Fh(\017)1380 2148 y Ff(2)1399
X2142 y Ft(")e(means:)29 b(the)21 b(\(unin)o(terpreted\))1017
X2192 y(bit)j(pattern)i(resulting)e(from)f(the)j(ev)n(aluation)d(of)h(the)101
V7
X2242 y(expression)13 b Fh(\017)1232 2248 y Ff(2)1263 2242 y
XFt(is)g(to)f(b)q(e)h(stored)h(in)o(to)e(the)h(\014eld)g(named)e(b)o(y)1017
X2291 y(the)17 b(p)q(oin)o(ter)g(resulting)g(from)d(the)k(ev)n(aluation)d(of)
Vh
XFh(\017)1855 2297 y Ff(1)1874 2291 y Ft(.)26 b(In)1017 2341
Xy Fs(algol)14 b Ft(the)g(statemen)o(t)f Fh(x)f Ft(:=)f Fh(x)d
XFt(+)h(1)k(causes)i(the)f(v)n(alue)f(of)1017 2391 y Fh(x)e
XFt(to)h(b)q(e)g(incremen)o(ted)g(b)o(y)g(one.)17 b(Coupling)11
Xb(the)h(de\014nition)1017 2441 y(of)27 b(\\)p Fm( )p Ft(")g(giv)o(en)h(ab)q
X(o)o(v)o(e)g(with)f(the)i(in)o(terpretation)g(of)1017 2491
Xy(iden)o(ti\014ers)10 b(and)g(the)h(dot)e(op)q(erator,)i(the)g(equiv)n(alen)
Vo
X(t)e Fs(bliss)1017 2540 y Ft(w)o(ould)14 b(b)q(e)i Fh(x)e Fm( )f
XFh(:x)c Ft(+)i(1.)22 b(The)16 b(v)n(alue)e(of)h(the)h(assignmen)o(t)1017
X2590 y(op)q(erator)10 b(is)g(de\014ned)h(to)f(b)q(e)g(iden)o(tical)f(to)h
X(that)g(of)g(its)g(righ)o(t-)1017 2640 y(hand)21 b(op)q(erand;)k(th)o(us,)e
X(the)f(v)n(alue)e(of)h Fh(x)j Fm( )f Fh(:x)14 b Ft(+)g(1)21
Xb(is)965 2770 y(4)p eop
X%%Page: 5 5
Xbop 0 42 a Ft(the)16 b(incremen)o(ted)f(v)n(alue)f(of)g(the)i(cell)f(named)e
X(b)o(y)i Fh(x)p Ft(.)21 b(The)0 91 y(comp)q(ound)12 b(expression)i(\\\()p
XFh(y)f Fm( )e Fh(x)p Ft(;)i Fh(z)g Fm( )f Fh(::y)c Ft(+)f(1\)")13
Xb(causes)0 141 y(a)e(p)q(oin)o(ter)g(to)f Fh(x)h Ft(to)f(b)q(e)i(stored)g(in
V)
Xo(to)e Fh(y)q Ft(,)i(then)f(computes)g(the)0 191 y(v)n(alue)18
Xb(of)g(the)h(\014eld)f(named)f(b)o(y)i Fh(x)f Ft(\(accessed)j(indirectly)0
X241 y(through)d Fh(y)q Ft(\))h(plus)f(one)h(and)e(stores)j(this)e(v)n(alue)f
X(in)h Fh(z)r Ft(;)i(in)0 291 y(this)g(case)h(this)f(v)n(alue)f(is)h(also)g
X(that)g(of)f(the)i(comp)q(ound)0 340 y(expression.)d(The)10
Xb(imp)q(ortan)o(t)e(thing)h(to)h(remem)o(b)q(er)f(ab)q(out)0
X390 y(the)20 b(assignmen)o(t)d(op)q(eration,)j(e.g.)e Fh(\017)597
X396 y Ff(1)635 390 y Fm( )i Fh(\017)714 396 y Ff(2)732 390
Xy Ft(,)g(is)f(that)g(it)0 440 y(assigns)11 b(a)f(v)n(alue)g(to)h(the)g
X(\014eld)g Fr(name)n(d)16 b Ft(b)o(y)10 b Fh(\017)677 446 y
XFf(1)696 440 y Ft(,)g(not)h Fh(\017)806 446 y Ff(1)835 440
Xy Ft(itself.)50 490 y(There)26 b(is)e(the)h(usual)g(complemen)o(t)d(of)i
X(arithmetic,)0 540 y(logical,)14 b(and)i(relational)e(op)q(erators.)25
Xb(Logical)15 b(op)q(erators)0 589 y(op)q(erate)21 b(on)e(all)g(bits)h(of)f(a
V)
Xh(\014eld;)i(relational)d(op)q(erators)0 639 y(yield)i(a)h(v)n(alue)f(1)g(if
V)
Xg(the)h(relation)g(is)f(satis\014ed,)j(and)e(0)0 689 y(otherwise.)50
X739 y(W)m(e)14 b(will)g(describ)q(e)i(six)f(forms)e(of)h(explicit)h(con)o
X(trol)f(ex-)0 789 y(pressions:)19 b(conditional,)10 b(lo)q(oping,)h
X(case-select,)k(function)0 839 y(call,)9 b(coroutine)h(call,)g(and)f(escap)q
X(e.)19 b(F)m(or)9 b(this)h(discussion)g(it)0 888 y(will)f(b)q(e)j(con)o(v)o
X(enien)o(t)f(to)f(use)i(the)f(sym)o(b)q(ols)e Fh(\017)i Ft(or)g
XFh(e)p Ft(,)g(p)q(ossibly)0 938 y(subscripted,)k(to)f(represen)o(t)i
X(arbitrary)e(expressions.)50 988 y(The)k(conditional)d(expression)k(is)e(of)
Vg
X(the)h(form)d(\\)p Fg(if)h Fh(\017)915 994 y Ff(1)0 1038 y
XFg(then)9 b Fh(\017)121 1044 y Ff(2)149 1038 y Fg(else)g Fh(\017)252
X1044 y Ff(3)271 1038 y Ft(")h(and)g(is)g(de\014ned)h(to)f(ev)n(aluate,)h(and
V)
Xf(ha)o(v)o(e)0 1088 y(the)j(v)n(alue)e(of,)h Fh(\017)250 1094
Xy Ff(2)280 1088 y Ft(just)h(in)e(case)i(the)g(righ)o(tmost)e(bit)g(of)h
XFh(\017)875 1094 y Ff(1)906 1088 y Ft(is)0 1137 y(a)e(1)h(and)f(ev)n
X(aluates,)h(and)g(has)f(the)i(v)n(alue)e(of,)g Fh(\017)722
X1143 y Ff(3)751 1137 y Ft(otherwise.)0 1187 y(The)15 b(abbreviated)f(form)f
X(\\)p Fg(if)f Fh(\017)491 1193 y Ff(1)524 1187 y Fg(then)h
XFh(\017)649 1193 y Ff(2)667 1187 y Ft(")h(is)g(considered)0
X1237 y(to)g(b)q(e)g(iden)o(tical)f(to)h(\\)p Fg(if)f Fh(\017)405
X1243 y Ff(1)437 1237 y Fg(then)f Fh(\017)561 1243 y Ff(2)594
X1237 y Fg(else)g Ft(0".)50 1287 y(There)j(are)f(six)g(basic)g(forms)e(of)i
X(lo)q(oping)e(expressions:)50 1366 y Fl(while)h Fk(\017)182
X1370 y Fe(1)213 1366 y Fl(do)i Fk(\017)50 1411 y Fl(do)f Fk(\017)h
XFl(while)e Fk(\017)274 1415 y Fe(1)50 1457 y Fl(un)o(til)f
XFk(\017)170 1461 y Fe(1)202 1457 y Fl(do)i Fk(\017)50 1503
Xy Fl(do)g Fk(\017)h Fl(un)o(til)d Fk(\017)262 1507 y Fe(1)50
X1548 y Fl(incr)h Fi(h)p Fk(name)p Fi(i)i Fl(from)f Fk(\017)400
X1552 y Fe(1)432 1548 y Fl(to)h Fk(\017)502 1552 y Fe(2)534
X1548 y Fl(b)o(y)f Fk(\017)611 1552 y Fe(3)643 1548 y Fl(do)g
XFk(\017)50 1594 y Fl(decr)g Fi(h)p Fk(name)p Fi(i)h Fl(from)f
XFk(\017)408 1598 y Fe(1)440 1594 y Fl(to)h Fk(\017)510 1598
Xy Fe(2)542 1594 y Fl(b)o(y)f Fk(\017)619 1598 y Fe(3)651 1594
Xy Fl(do)g Fk(\017)0 1677 y Ft(Eac)o(h)21 b(form)e(of)h(lo)q(oping)g
X(expression)i(implies)d(rep)q(eated)0 1727 y(execution)k(\(p)q(ossibly)g
X(zero)g(times\))f(of)g(the)h(expression)0 1777 y(denoted)k
XFh(\017)g Ft(un)o(til)e(a)h(sp)q(eci\014c)i(condition)e(is)g(satis\014ed.)0
X1826 y(In)20 b(the)h(\014rst)g(form)d(\()p Fg(while...do)p
XFt(\))h(the)i(expression)h Fh(\017)e Ft(is)0 1876 y(rep)q(eated)d(so)e(long)
Vf
X(as)h(the)h(righ)o(tmost)d(bit)i(of)f Fh(\017)759 1882 y Ff(1)792
X1876 y Ft(remains)0 1926 y(1.)35 b(The)20 b(second)h(form)c(is)j(similar)d
X(to)i(the)i(\014rst)f(except)0 1976 y(that)d Fh(\017)g Ft(is)g(ev)n(aluated)
Vg
X(b)q(efore)g Fh(\017)505 1982 y Ff(1)524 1976 y Ft(,)g(th)o(us)h(guaran)o
X(teeing)f(at)0 2026 y(least)11 b(one)h(execution)g(of)f Fh(\017)p
XFt(.)17 b(The)11 b Fg(un)o(til)d Ft(forms)i(are)i(similar)0
X2076 y(to)23 b(the)g Fg(while)e Ft(forms)h(except)i(that)f(the)g(condition)g
X(is)0 2125 y(negated.)46 b(The)24 b(last)f(t)o(w)o(o)f(forms)g(are)h(similar
V)
Xe(to)i(the)0 2175 y(familia)o(r)11 b(\\)p Fg(step...un)o(til)o
XFt(")f(construct)16 b(of)c Fs(algol)p Ft(,)i(except:)0 2225
Xy(\(l\))23 b(the)h(con)o(trol)f(v)n(ariable)f(is)i(lo)q(cal)e(to)h
XFh(\017)p Ft(;)28 b(\(2\))23 b Fh(\017)831 2231 y Ff(1)849
X2225 y Ft(,)i Fh(\017)903 2231 y Ff(2)922 2225 y Ft(,)0 2275
Xy(and)14 b Fh(\017)98 2281 y Ff(3)130 2275 y Ft(are)g(computed)f(only)h(once
V)
Xg(\(b)q(efore)h(en)o(try)f(to)g(the)0 2325 y(lo)q(op\);)g(and)h(\(3\))f(the)
Vi
X(direction)f(of)f(the)h(step)h(is)e(explicitly)0 2374 y(indicated)21
Xb(\()p Fg(incr)p Ft(emen)o(t)e(or)h Fg(decr)p Ft(emen)o(t\).)38
Xb(Except)22 b(for)0 2424 y(the)14 b(p)q(ossibilit)o(y)f(of)g(an)h(escap)q(e)
Vh
X(expression)g(within)e Fh(\017)h Ft(\(see)0 2474 y(b)q(elo)o(w\),)i(the)h(v)
Vn
X(alue)f(of)f(a)h(lo)q(op)g(expression)h(is)f(uniformly)0 2524
Xy(tak)o(en)e(to)g(b)q(e)g Fm(\000)p Ft(1.)50 2574 y(W)m(e)9
Xb(shall)g(treat)h(somewhat)f(simpli\014ed)f(v)o(ersions)i(of)f(the)0
X2623 y Fg(case)14 b Ft(and)g Fg(select)e Ft(expressions)k(here;)e(these)h
X(forms)e(are:)1066 42 y Fl(case)j Fk(e)f Fl(of)f(set)i Fk(\017)1329
X46 y Fe(0)1345 42 y Fl(;)f Fk(\017)1388 46 y Fe(1)1420 42 y
XFl(;)g Fk(:)6 b(:)g(:)15 b Fl(;)g Fk(\017)1550 46 y Fd(n)p
XFc(\000)p Fe(1)1624 42 y Fl(;)g Fk(\017)1667 46 y Fd(n)1703
X42 y Fl(tes)1066 87 y(select)g Fk(e)g Fl(of)1140 133 y(nset)g
XFk(\017)1250 137 y Fe(0)1282 133 y Fl(:)20 b Fk(\017)1330 137
Xy Fe(1)1347 133 y Fl(;)15 b Fk(\017)1390 137 y Fe(2)1421 133
Xy Fl(:)20 b Fk(\017)1469 137 y Fe(3)1501 133 y Fl(;)15 b Fk(:)6
Xb(:)g(:)14 b Fl(;)h Fk(\017)1630 137 y Fe(2)p Fd(n)1681 133
Xy Fl(:)20 b Fk(\017)1729 137 y Fe(2)p Fd(n)p Fe(+1)1818 133
Xy Fl(tesn)1017 216 y Ft(The)e(v)n(alue)e(of)h(a)h Fg(case)f
XFt(expression)i(is)f Fh(\017)1675 222 y Fb(e)1710 216 y Ft(;)h(that)e(is,)h
X(the)1017 266 y(expression)23 b Fh(e)g Ft(is)f(ev)n(aluated,)i(and)e(this)g
X(v)n(alue)g(is)g(used)1017 315 y(to)e(select)h(one)f(of)g(the)h(expressions,
V)
Xi Fh(\017)1660 321 y Fb(i)1694 315 y Ft(\(0)e Fm(\024)i Fh(i)f
XFm(\024)g Fh(n)p Ft(\),)1017 365 y(to)17 b(ev)n(aluate.)29
Xb(The)19 b(v)n(alue)e(of)g Fh(\017)1530 371 y Fb(i)1561 365
Xy Ft(b)q(ecomes)h(the)g(v)n(alue)g(of)1017 415 y(the)j(en)o(tire)h
XFg(case)f Ft(expression.)40 b(The)22 b(v)n(alue)e(of)g(a)h
XFg(case)1017 465 y Ft(expression)k(is)g(unde\014ned)h(if)d
XFh(e)i Ft(is)g(not)f(in)g(the)i(range)1017 515 y(0)c Fm(\024)h
XFh(e)g Fm(\024)g Fh(n)p Ft(.)38 b(The)21 b Fg(select)e Ft(expression)i(is)g
X(somewhat)1017 565 y(similar)12 b(to)i(the)i Fg(case)f Ft(expression,)g(with
V)
Xg(the)g(distinction)1017 614 y(that)20 b(the)g(v)n(alue)g(of)f
XFh(e)i Ft(is)f(not)g(restricted)i(to)e(the)h(range)1017 664
Xy(0)f Fm(\024)g Fh(e)h Fm(\024)f Fh(n)p Ft(.)34 b(Execution)20
Xb(of)e(the)i Fg(select)e Ft(pro)q(ceeds)j(as)1017 714 y(follo)o(ws:)14
Xb(\(l\))d(the)g(v)n(alue)f(of)h Fh(e)g Ft(is)f(computed;)h(\(2\))g(the)g(v)n
X(alues)1017 764 y(of)i(the)h(expressions)i Fh(\017)1369 770
Xy Ff(2)p Fb(i)1413 764 y Ft(\(0)c Fm(\024)f Fh(i)h Fm(\024)g
XFh(n)p Ft(\))i(are)h(ev)n(aluated;)e(\(3\))1017 814 y(for)i(eac)o(h)i
XFh(i)f Ft(suc)o(h)h(that)f Fh(e)f Ft(=)h Fh(\017)1495 820 y
XFf(2)1513 814 y Ft(,)g(the)h(expression)g Fh(\017)1834 820
Xy Ff(2)p Fb(i)p Ff(+1)1922 814 y Ft(is)1017 863 y(ev)n(aluated.)31
Xb(If)18 b(there)i(is)f(no)f Fh(i)h Ft(suc)o(h)g(that)g Fh(e)g
XFt(=)h Fh(\017)1831 869 y Ff(2)p Fb(i)1861 863 y Ft(,)f(the)1017
X913 y(v)n(alue)c(of)h(the)h Fg(select)e Ft(expression)i(is)f(de\014ned)h(to)
Vg
X(b)q(e)f Fm(\000)p Ft(1.)1017 963 y(In)e(the)g(ev)o(en)o(t)h(that)f(one)h(or
V)
Xf(more)f(v)n(alues)h(of)f Fh(i)i Ft(exist)f(suc)o(h)1017 1013
Xy(that)h Fh(e)g Ft(=)g Fh(\017)1206 1019 y Ff(2)p Fb(i)1236
X1013 y Ft(,)h(eac)o(h)g(of)f(these)i(expressions)h(is)d(ev)n(aluated)1017
X1063 y(in)c(ascending)i(order)g(of)f(the)h(v)n(alues)f(of)f
XFh(i)p Ft(;)i(in)f(this)g(case)h(the)1017 1112 y(\014nal)k(v)n(alue)g(of)h
X(the)g Fg(select)f Ft(expression)i(is)f(tak)o(en)g(to)g(b)q(e)1017
X1162 y(that)12 b(of)g(the)g(last)g(of)g(these)i(expressions)g(to)e(b)q(e)h
X(ev)n(aluated.)1066 1212 y(The)28 b(particular)f(c)o(hoice)g(of)g
XFm(\000)p Ft(1)g(as)g(the)h(v)n(alue)f(of)1017 1262 y(lo)q(op)22
Xb(expressions)i(and)f(select)h(expressions)g(is)f(almost)1017
X1312 y(but)i(not)g(en)o(tirely)g(arbitrary)m(.)51 b(It)25 b(migh)o(t)e(ha)o
X(v)o(e)i(b)q(een)1017 1362 y(preferable)11 b(to)f(ha)o(v)o(e)g(them)f(return
V)
Xj(a)e(unique)g(\\unde\014ned")1017 1411 y(or)24 b(\\nil")g(v)n(alue,)j(but)e
X(no)f(suc)o(h)i(v)n(alue)e(w)o(as)h(a)o(v)n(ailable)1017 1461
Xy(for)g(the)i(particular)f(mac)o(hine)f(for)h(whic)o(h)g Fs(bliss)g
XFt(w)o(as)1017 1511 y(implem)o(en)o(ted.)19 b(The)c(v)n(alue)f
XFm(\000)p Ft(1)h(w)o(as)g(c)o(hosen)g(principally)1017 1561
Xy(b)q(ecause)f(it)f(is)g(marginally)c(c)o(heap)q(er)15 b(\(in)e(co)q(de)h
X(pro)q(duced\))1017 1611 y(to)j(generate)h(this)g(v)n(alue)e(and)i(test)g
X(the)g(sign)f(of)g(a)g(v)n(alue)1017 1660 y(in)27 b(the)h Fs(pdp-10)p
XFt(.)59 b(Also,)31 b(zero-relativ)o(e)d(indexing)f(is)1017
X1710 y(common,)16 b(and)j(a)f(negativ)o(e)h(v)n(alue)f(is)h(clearly)g
X(illegal)d(in)1017 1760 y(suc)o(h)22 b(con)o(texts.)42 b(Bey)o(ond)22
Xb(these)h(minor)d(justi\014cations)1017 1810 y(the)i(only)g(imp)q(ortan)o(t)
Vf
X(prop)q(ert)o(y)i(of)f(this)g(c)o(hoice)h(is)f(its)1017 1860
Xy(uniformit)o(y)l(.)1066 1910 y(It)g(should)f(b)q(e)h(noted)g(that)f(the)h
X(set)h(of)e(con)o(trol)g(ex-)1017 1959 y(pressions)c(presen)o(ted)h(th)o(us)
Ve
X(far)g(is)g(not)g(minim)o(al.)21 b(All)16 b(of)1017 2009 y(the)f(lo)q(op)f
X(expressions)j(could)d(b)q(e)i(constructed)h(from)c(the)1017
X2059 y(\\)p Fg(while...do)p Ft(")7 b(form,)i(and)g Fg(case)h
XFt(and)g Fg(select)e Ft(expressions)1017 2109 y(could)16 b(b)q(e)i
X(constructed)h(from)c(conditional)h(expressions,)1017 2159
Xy(for)h(example.)30 b(The)19 b(decision)f(to)h(include)f(a)g(fairly)f(ric)o
X(h)1017 2208 y(collection)11 b(of)h(con)o(trol)g(structures)i(in)e(part)g
X(resulted)i(from)1017 2258 y(another)22 b(decision,)j(to)d(b)q(e)h(discussed
V)
Xh(shortly)m(,)f Fr(not)k Ft(to)1017 2308 y(include)11 b(the)h(familar)d
XFg(go)k(to)e Ft(statemen)o(t)h(form)e(of)h(con)o(trol.)1017
X2358 y(This)k(decision)h(suggests)h(that)f(the)g(designers)h(m)o(ust)d(pa)o
X(y)1017 2408 y(far)21 b(more)g(atten)o(tion)h(to)g(the)g(range)g(of)g(con)o
X(trol)f(forms)1017 2457 y(included,)10 b(since)g(there)h(is)f(no)f(w)o(a)o(y
V)
Xg(for)h(the)g(user)h(to)e(syn)o(the-)1017 2507 y(size)i(his)g(o)o(wn)g(con)o
X(trol)g(from)e(the)j(more)e(primitiv)o(e)f(\()p Fg(go)j(to)p
XFt(\))1017 2557 y(con)o(trol)i(form.)k(In)d(the)g(case)h(of)e
XFs(bliss)g Ft(t)o(w)o(o)g(criteria)h(w)o(ere)965 2770 y(5)p
Xeop
X%%Page: 6 6
Xbop 0 42 a Ft(applied)21 b(to)h(determine)f(whether)j(a)d(prop)q(osed)i(con)
Vo
X(trol)0 91 y(form)12 b(should)i(b)q(e)g(included:)9 191 y(1.)20
Xb(W)m(as)i(there)j(a)d(reasonable)i(application)d(for)i(whic)o(h)62
X241 y(the)g(mo)q(de)f(of)g(expression)h(without)f(the)i(prop)q(osed)62
X291 y(construct)16 b(w)o(as)e(a)o(wkw)o(ard)f(and/or)g(obscure?)9
X340 y(2.)20 b(W)m(as)15 b(it)h(p)q(ossible)g(to)g(compile)e(b)q(etter)j(co)q
X(de)g(utilizing)62 390 y(the)f(additional)d(information)f(pro)o(vided)j(b)o
X(y)g(the)h(new)62 440 y(construct)i(than)e(w)o(ould)f(ha)o(v)o(e)h(b)q(een)h
X(p)q(ossible)f(other-)62 490 y(wise?)0 589 y(All)10 b(of)g(the)h(con)o(trol)
Vf
X(expressions)i(discussed)g(ab)q(o)o(v)o(e)f(satisfy)0 639 y(at)26
Xb(least)f(one)h(and)g(usually)f(b)q(oth)g(of)g(these)j(criteria.)0
X689 y(The)16 b Fg(select)e Ft(expression,)j(for)e(example,)f(b)q(oth)i(pro)q
X(duces)0 739 y(more)g(e\016cien)o(t)i(co)q(de)g(and)e(is)h(a)g(more)f
X(natural,)h(ob)o(vious)0 789 y(mo)q(de)23 b(of)h(expression)h(than)g(the)g
X(equiv)n(alen)o(t)e Fg(case)h Ft(or)0 839 y Fg(if)18 b Ft(form)o(ulation)f
X(when)j(the)g(selection)h(criteria)e(in)o(v)o(olv)o(es)0 888
Xy(noncon)o(tiguous)14 b(v)n(alues.)50 938 y(A)19 b(function)g(call)f
X(expression)i(has)g(the)f(form)f(\\)p Fh(\017)g Ft(\()p Fh(\017)903
X944 y Ff(1)922 938 y Ft(,)0 988 y Fh(\017)17 994 y Ff(2)35
X988 y Ft(,)24 b Fh(:)7 b(:)g(:)21 b Ft(,)i Fh(\017)194 994
Xy Fb(n)217 988 y Ft(\)".)42 b(This)22 b(expression)h(causes)h(activ)n(ation)
V0
X1038 y(of)17 b(the)i(segmen)o(t)f(named)f(b)o(y)g Fh(\017)h
XFt(as)g(a)g(subprogram)f(with)0 1088 y(an)d(initialization)d(of)j(the)g
X(formal)e(parameters)i(named)f(in)0 1137 y(the)j(declaration)f(of)g(the)i
X(function)e(to)g(the)i(v)n(alues)e(of)g(the)0 1187 y(actual)9
Xb(parameters)h Fh(\017)348 1193 y Ff(1)367 1187 y Ft(,)g Fh(:)d(:)g(:)h
XFt(,)i Fh(\017)486 1193 y Fb(n)519 1187 y Ft(.)16 b(Only)10
Xb(call-b)o(y-v)n(alue)e(\(in)0 1237 y(the)15 b Fs(algol)h Ft(sense\))g
X(parameters)f(are)f(allo)o(w)o(ed;)g(ho)o(w)o(ev)o(er,)0 1287
Xy(call-b)o(y-reference)h(is)f(implicitly)d(a)o(v)n(ailable)h(since)j(names,)
V0
X1337 y(p)q(oin)o(ter)24 b(v)n(alues,)h(ma)o(y)d(b)q(e)i(passed.)49
Xb(The)24 b(v)n(alue)f(of)g(a)0 1386 y(function)14 b(call)g(is)g(that)g
X(resulting)h(from)d(execution)j(of)f(the)0 1436 y(b)q(o)q(dy)h(of)f(the)i
X(function.)21 b(Th)o(us,)15 b(for)g(example,)e(the)j(v)n(alue)0
X1486 y(of)d(the)i(follo)o(wing)c(blo)q(c)o(k)j(is)f(120.)50
X1565 y Fl(b)q(egin)50 1611 y(function)f Fk(f)t(actor)q(ial)q
XFj(\()p Fk(n)p Fj(\))f(=)94 1656 y Fl(if)j Fk(:n)c Fi(\024)h
XFj(1)k Fl(then)f Fj(1)h Fl(else)g Fk(:n)8 b Fi(\003)h Fk(f)t(actor)q(ial)q
XFj(\()p Fk(:n)f Fi(\000)h Fj(1\))p Fl(;)50 1702 y Fk(f)t(actor)q(ial)q
XFj(\(5\))50 1748 y Fl(end)0 1831 y Ft(Note)17 b(that)g(a)f(function)h(call)f
X(need)h(not)g(explicitly)f(name)0 1880 y(a)21 b(function)g(b)o(y)g(its)g
X(asso)q(ciated)h(iden)o(ti\014er;)i(all)c(that)i(is)0 1930
Xy(required)12 b(is)f(that)g Fh(\017)g Ft(ev)n(aluate)g(to)g(the)h(name)e(of)
Vg
X(a)h(segmen)o(t.)0 1980 y(Th)o(us)h(expressions)i(suc)o(h)e(as)g(the)h(follo
V)
Xo(wing)c(are)j(v)n(alid)f(and)0 2030 y(useful:)50 2109 y Fl(\(case)16
Xb Fk(:x)e Fl(of)g(set)i Fk(P)5 b Fj(1)p Fl(;)15 b Fk(P)5 b
XFj(2)p Fl(;)15 b Fk(P)5 b Fj(3)15 b Fl(tes\)\(.z\))0 2192 y
XFt(Note)10 b(in)f(this)h(example)e(that)i(the)g(o)q(ccurrence)j(of)c(a)g
X(param-)0 2242 y(eter)k(list)f(enclosed)h(in)e(brac)o(k)o(ets)i(triggers)f(a
V)
Xg(function)g(call.)0 2291 y(An)e(iden)o(ti\014er)g(b)o(y)f(itself)g(merely)g
X(denotes)i(a)e(p)q(oin)o(ter)h(to)g(the)0 2341 y(named)g(segmen)o(t;)h(th)o
X(us)h Fh(P)6 b Ft(1,)k Fh(P)c Ft(2,)11 b(and)g Fh(P)6 b Ft(3)k(are)h(the)h
X(names)0 2391 y(of)i(functions)h(\(not)g(the)h(result)f(of)g(executing)g
X(them\))g(and)0 2441 y(the)d(v)n(alue)e(of)g(the)i(case)g(expression)g(is)e
X(the)i(name)e(of)g(one)h(of)0 2491 y(these)17 b(functions.)24
Xb(The)17 b(v)n(alue)e(of)g(the)i(en)o(tire)f(expression)0 2540
Xy(ab)q(o)o(v)o(e)d(is)g(the)h(result)g(of)e(executing)i(one)g(of)f(the)g
X(functions)0 2590 y Fh(P)6 b Ft(1,)15 b Fh(P)6 b Ft(2,)14 b(or)i
XFh(P)6 b Ft(3)15 b(with)g(actual)h(parameter)f Fh(:z)r Ft(.)23
Xb(F)m(unction)0 2640 y(calls)13 b(with)h(no)g(parameters)g(are)g(written)g
X(\\)p Fh(\017)g Ft(\(\)".)1066 42 y(The)20 b(b)q(o)q(dy)f(of)g(an)o(y)g
X(function)g(ma)o(y)e(b)q(e)j(activ)n(ated)f(as)1017 91 y(a)f(coroutine)i
X(and/or)f(async)o(hronous)g(pro)q(cess.)36 b(An)19 b(ar-)1017
X141 y(bitrary)e(n)o(um)o(b)q(er)g(of)g(distinct)h(incarnations)f(of)g(a)g
X(single)1017 191 y(b)q(o)q(dy)i(are)i(allo)o(w)o(ed;)g(indeed,)g(arbitrarily
V)
Xe(man)o(y)f(incar-)1017 241 y(nations)e(of)g(a)h(function)g(b)q(o)q(dy)f(as)
Vh
X(b)q(oth)g(coroutines)h(and)1017 291 y(subroutines)g(ma)o(y)e(exist)i(sim)o
X(ultaneously)m(.)28 b(In)18 b(order)g(to)1017 340 y(p)q(ermit)8
Xb(an)o(y)i(of)f(sev)o(eral)h(useful)g(st)o(yles)g(of)g(coroutine)g(mec)o(h-)
X1017 390 y(anism,)16 b(only)i(t)o(w)o(o)f(primitiv)o(e)f(op)q(erations)j(are
V)
Xf(pro)o(vided)1017 440 y(directly)c(in)f(the)i(language:)1066
X519 y Fl(create)h Fk(\017)e Fl(\()p Fk(\017)1261 503 y Fe(1)1279
X519 y Fl(,)h Fk(\017)1322 503 y Fe(2)1338 519 y Fl(,)g Fk(:)6
Xb(:)h(:)14 b Fl(,)h Fk(\017)1468 503 y Fd(n)1489 519 y Fl(\))g(at)g
XFk(\017)1590 523 y Fe(2)1622 519 y Fl(length)e Fk(\017)1773
X523 y Fe(3)1805 519 y Fl(then)h Fk(\017)1922 523 y Fe(4)1066
X565 y Fl(exc)o(hj)g(\()p Fk(\017)1214 569 y Fe(5)1231 565 y
XFl(,)h Fk(\017)1274 569 y Fe(6)1291 565 y Fl(\))1017 648 y
XFt(More)g(complex)e(coroutine)i(call)f(con)o(v)o(en)o(tions)h(can)f(easily)
X1017 697 y(b)q(e)20 b(constructed)h(from)d(these)j(primitiv)o(es.)34
Xb(\(Note)20 b(that)1017 747 y(an)o(y)12 b(of)g(the)h(expressions)h(represen)
Vo
X(ted)h(b)o(y)d Fh(\017)p Ft('s)h(ab)q(o)o(v)o(e)f(ma)o(y)1017
X797 y(ev)n(aluate)h(at)h(execution)g(time.\))1066 847 y(The)e(e\013ect)h(of)
Ve
X(the)h Fg(create)f Ft(expression)h(is)f(to)h(establish)1017
X897 y(a)21 b(new,)j(indep)q(enden)o(t)f(con)o(text)f(\(that)g(is)g(a)f(stac)
Vo
X(k\))h(for)1017 946 y(the)j(function)f(named)f(b)o(y)h Fh(\017)g
XFt(with)g(actual)g(parameter)1017 996 y(v)n(alues)18 b Fh(\017)1162
X981 y Ff(1)1180 996 y Ft(,)h Fh(:)7 b(:)g(:)17 b Ft(,)i Fh(\017)1326
X981 y Fb(n)1349 996 y Ft(.)31 b(The)19 b(stac)o(k)g(is)g(set)g(up)g(b)q
X(eginning)1017 1046 y(at)g(the)i(w)o(ord)e(named)g(b)o(y)g
XFh(\017)1479 1052 y Ff(2)1518 1046 y Ft(and)g(is)h(of)f(size)i
XFh(\017)1807 1052 y Ff(3)1845 1046 y Ft(w)o(ords)1017 1096
Xy(\(to)h(pro)o(vide)h(o)o(v)o(er\015o)o(w)f(protection\).)46
Xb(The)23 b(activ)n(ation)1017 1146 y(p)q(oin)o(t)16 b(for)h(the)g(newly)g
X(created)i(coroutine)f(is)e(set)i(to)f(the)1017 1196 y(head)e(of)g(the)h
X(function)f(named)f(b)o(y)h Fh(\017)p Ft(.)22 b(The)16 b(v)n(alue)f(of)f(the
V)
X1017 1245 y Fg(create)g Ft(expression)j(is)f(a)f(\\pro)q(cess)i(name")d(for)
Vh
X(the)i(new)1017 1295 y(coroutine.)h(Con)o(trol)13 b(then)h(passes)h(on)e(to)
Vh
X(the)g(expression)1017 1345 y(follo)o(wing)f(the)j Fg(create)p
XFt(`7Cin)e(particular,)h(the)i(expression)1017 1395 y Fh(\017)1034
X1401 y Ff(4)1066 1395 y Ft(is)e(not)f(executed)j(at)d(this)h(time)e(and)h
X(the)h(b)q(o)q(dy)g(of)f Fh(\017)g Ft(is)1017 1445 y(not)9
Xb(activ)n(ated.)17 b(When)10 b(t)o(w)o(o)g(or)f(more)g(suc)o(h)i(con)o(texts
V)
Xg(ha)o(v)o(e)1017 1494 y(b)q(een)20 b(established,)g(con)o(trol)f(ma)o(y)e(b
V)
Xq(e)j(passed)g(from)d(the)1017 1544 y(curren)o(tly)10 b(executing)h(one)g(to
V)
Xe(an)o(y)h(other)h(b)o(y)e(executing)i(an)1017 1594 y(\\exc)o(hange)h(jump,"
V)
Xe Fg(exc)o(hj)p Ft(,)g(expression.)19 b(An)12 b(expression)1017
X1644 y(\\)p Fg(exc)o(hj)p Ft(\()p Fh(\017)1180 1650 y Ff(5)1197
X1644 y Ft(,)23 b Fh(\017)1249 1650 y Ff(6)1267 1644 y Ft(\)")f(will)e(cause)
Vi
X(con)o(trol)g(to)f(pass)h(to)f(the)1017 1694 y(coroutine)26
Xb(named)f(b)o(y)h Fh(\017)1444 1700 y Ff(5)1488 1694 y Ft(\(the)h(v)n(alue)e
X(of)h(an)g(earlier)1017 1743 y Fg(create)11 b Ft(expression\).)19
Xb(The)12 b(v)n(alue)g Fh(\017)1593 1749 y Ff(6)1623 1743 y
XFt(b)q(ecomes)h(the)g(v)n(alue)1017 1793 y(of)20 b(the)i Fg(exc)o(hj)e
XFt(op)q(eration)g(whic)o(h)h(last)g(caused)h(con)o(trol)1017
X1843 y(to)c(pass)i(out)f(of)g(the)g(coroutine)h(named)e(b)o(y)h
XFh(\017)1783 1849 y Ff(5)1801 1843 y Ft(.)34 b(Th)o(us,)1017
X1893 y(e\013ectiv)o(ely)m(,)15 b Fh(\017)1237 1899 y Ff(6)1270
X1893 y Ft(ma)o(y)f(b)q(e)h(passed)i(as)e(a)g(parameter)f(to)h(the)1017
X1943 y(coroutine)f(b)q(eing)g(reactiv)n(ated.)1066 1993 y(The)h(expression)h
XFh(\017)1370 1999 y Ff(4)1389 1993 y Ft(,)e(one)g(will)g(note,)g(is)h(not)f
X(executed)1017 2042 y(at)f(the)g(time)f(at)h(whic)o(h)g(a)g(coroutine)h(is)f
X(created.)19 b(Instead)1017 2092 y(this)13 b(expression)h(is)f(executed)j
+-+-+-+-+-+-+-+-  END  OF PART 5 +-+-+-+-+-+-+-+-
