Declaration Unions
Assume programs uses just D1,D2 for declarations.
- Copy rule:
- define I1=V1, ..., define In=Vn
in U
=> [V1/I1, ..., Vn/In]U.
- Bodies Vj are substituted for invocations Ij in U.
- Simultaneous substitutions Vj/Ij.
- Example:
- fun A=1, fun B=@loc1=0
in
while B do loc1:=A+2 od
=>
[1/A, @loc1=0/B]
while B do
loc1:=A+2 od
=
while @loc1=0 do
loc1:=1+2 od
Easy to handle.
Author: Wolfgang Schreiner
Last Modification: April 2, 1998