[Instructions] [Search] [Current] [Syllabus] [Handouts] [Outlines] [Assignments]
Held Friday, October 9, 1998
Handouts
Notes
exp ::= exp1 PLUS term
exp.tree =
OpExp(PLUS.pos, exp1.tree, PLUSOP, term.tree)
exp ::= ID LBRACE assignlist RBRACE
exp.tree =
RecordExp(ID.pos, ID.sym, assignlist.list)
b in
let a = 5 in
let var a = a + 2
var b = a
in b
end
end
let function f(x): int = 5 in
let function f(x): int = f(x) + 2
function g(x): int = f(x)
in
g(1)
end
end
let type a = int in
let type a = string
type b = a
var x : a = ...
in
...
end
end
let function g(x): int = f(x)
function f(x): int = x + 1
var v = 1
in
g(v)
end
let function g(x): int = f(x)
var v = 1
function f(x): int = x + 1
in
g(1)
let type a = int
var a: a = 1
in
a
end
let type a = b
type b = a
in
...
end
let type a = b
type b = record { c:a } in
...
end
let type a = { a : a } in
...
end
let type int = string in ... end
History
Back to Digression on proving grammars equivalent. On to Type checking, 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 Mon Oct 12 11:44:23 1998.
This page generated on Mon Oct 12 11:44:31 1998 by SiteWeaver.
Contact our webmaster at rebelsky@math.grin.edu