Go backward to
Declaration Blocks
Go up to
Top
Go forward to
Objects and Classes
Type Structure Blocks
Semantics:
[[
pi
|-
begin
D
in
T
end
:
delta
class
]]
e
s
=
[[
pi
-U-
pi
1
|- T:
delta
class
]](
e
-U-
e
1
)
s
1
where (
e
1
,
s
1
) = [[
pi
|- D
1
:
pi
1
dec
]]
e
s
Bodies are typically
records
class
PERSONAL-STACK
begin
var
CTR:
newint
,
var
STACK:
array
[1...100]
of newint
in record
...
end end
Stack allocated on declaration of record variable:
var
A
:
PERSONAL-STACK
Separate stack for each instance of record type.
Stack use by qualification:
call
A
.
INIT
;
call
A
.
PUSH
(0); ...
Author:
Wolfgang Schreiner
Last Modification: May 14, 1998