2019-11-12 21:07:09 +04:00
|
|
|
//Test deep_access in PascalLigo
|
|
|
|
type pii is (int*int)
|
|
|
|
type ppi is record x:pii; y:pii end
|
|
|
|
type ppp is (ppi*ppi)
|
|
|
|
|
2019-11-18 19:10:48 +04:00
|
|
|
function main (const toto : unit) : int is block {
|
|
|
|
var a : ppp := (
|
|
|
|
record
|
|
|
|
x = (0,1);
|
|
|
|
y = (10,11);
|
|
|
|
end ,
|
|
|
|
record
|
|
|
|
x = (100,101);
|
|
|
|
y = (110,111);
|
|
|
|
end
|
|
|
|
) ;
|
|
|
|
a.0.x.0 := 2;
|
|
|
|
const b:int = a.0.x.0;
|
|
|
|
} with b
|
2019-11-26 21:08:53 +04:00
|
|
|
|
|
|
|
|
|
|
|
function asymetric_tuple_access(const foo : unit) : int is block {
|
|
|
|
var mytuple : int * (int * (int * int)) := (0,(1,(2,3))) ;
|
|
|
|
} with mytuple.0 + mytuple.1.0 + mytuple.1.1.0 + mytuple.1.1.1
|
|
|
|
|
|
|
|
type nested_record_t is record
|
|
|
|
nesty : (record mymap : map(int,string) ; end) ;
|
|
|
|
end
|
|
|
|
function nested_record (var nee : nested_record_t) : string is block {
|
|
|
|
nee.nesty.mymap[1] := "one" ;
|
|
|
|
} with ( get_force(1, nee.nesty.mymap) )
|