2011-12-18 15:04:21 +01:00

43 lines
959 B
Plaintext

let
! genrwset: decl {x.0}
var x : Integer;
! genrwset: decl {y.1}
var y : Integer;
! genrwset: decl {k.2, l.3} read {k.2,l.3,y.1} write {k.2,y.1}
proc foo (var k : Integer, l : Integer) ~
let
! genrwset: decl {o.4}
var o : Integer;
! genrwset: decl {k.5,l.6} read {k.5,l.6,y.1} write {k.5,y.1}
proc bar (var k : Integer, l : Integer) ~
let
! genrwset: decl {dummy.7}
var dummy : Integer
in begin
! genrwset: read {l.6,y.1} write {k.5}
k := l * y;
! genrwset: read {k.5} write {y.1}
y := k + 1
end
in begin
! genrwset: read {l.3} write {o.3}
o := l * 2;
! genrwset: read (k.2,o.3,y.1} write {k.2,y.1}
bar(var k, o)
end
in begin
! genrwset: write {x.0}
x := 42;
! genrwset: read {x.0,y.1} write {x.0,y.1}
foo(var x, 3);
! genrwset: read {x.0}
putint(x);
! genrwset: read {y.1}
putint(y)
end