| 12345678910111213141516171819202122 |
- MODULE TRecordMultiDimArrCtor;
- (* M5: array-of-record constructors with rank-2 fields, static and
- runtime. *)
- TYPE
- Row = ARRAY [0..2] OF INTEGER;
- Grid = ARRAY [0..1] OF Row;
- Rec = RECORD tag : INTEGER; g : Grid END;
- Arr = ARRAY [0..1] OF Rec;
- CONST c = Arr { Rec{1, Grid{Row{1,2,3}, Row{4,5,6}}},
- Rec{2, Grid{Row{7,8,9}, Row{10,11,42}}} };
- VAR ExitCode : INTEGER; i : INTEGER; b : Arr;
- BEGIN
- i := 1;
- b := Arr { Rec{i, Grid{Row{1,2,3}, Row{4,5,6}}},
- Rec{i+1, Grid{Row{7,8,9}, Row{10,11,42}}} };
- IF (c[1].g[1,2] = 42) AND (b[1].g[1,2] = 42) THEN
- ExitCode := 42
- ELSE
- ExitCode := 1
- END
- END TRecordMultiDimArrCtor.
|