[Instructions] [Search] [Current] [Syllabus] [Handouts] [Outlines] [Assignments]
Held Wednesday, November 18, 1998
Handouts
Notes
SEQ or ESEQ.
These are handled by the sequencing mentioned above.
CALL, so that each
CALL is only used in a MOVE (which stores
the result somewhere) or EXP (which throws away the
result).
SEQ and ESEQ
nodes up in the tree.
CALL
nodes.
ESEQ(s1, ESEQ(s2, e))
ESEQ(SEQ(s1,s2), e)
BINOP(op, ESEQ(s,e1), e2)
ESEQ(s, BINOP(op, e1, e2))
BINOP(op, e1, ESEQ(s, e2))
s before e1 since
s may have side-effects.
ESEQ(MOVE(TEMP(t), e1), ESEQ(s, BINOP(op,TEMP(t), e2)))
ESEQs is then handled by
a different rule.
e1 doesn't use anything modified by s. In
that case, we might write ESEQ(s, BINOP(op, e1, e2)).
History
Back to More control structures. On to Canonicalizing trees, continued.
[Instructions] [Search] [Current] [Syllabus] [Handouts] [Outlines] [Assignments]
Disclaimer Often, these pages were created "on the fly" with little, if any, proofreading. Any or all of the information on the pages may be incorrect. Please contact me if you notice errors.
Source text last modified Fri Nov 20 11:00:22 1998.
This page generated on Fri Nov 20 11:25:03 1998 by SiteWeaver.
Contact our webmaster at rebelsky@math.grin.edu