--** Test array abbreviations and parameters. PROC P () SEQ PROC Q1 ([]INT arg.arg) SKIP : PROC Q ([]INT arg) Q1 (arg) : PROC R1 (VAL []INT val.arg.arg) SKIP : PROC R (VAL []INT val.arg) R1 (val.arg) : [10]INT array: SEQ Q (array) R (array) []INT abbrev IS array: SEQ Q (abbrev) R (abbrev) []INT abbrev.abbrev IS abbrev: SKIP VAL []INT val.abbrev IS array: SEQ R (val.abbrev) VAL []INT val.abbrev.abbrev IS val.abbrev: SKIP abbrev2 IS array: SEQ Q (abbrev2) R (abbrev2) VAL val.abbrev2 IS array: R (val.abbrev2) PROC S1 ([]CHAN OF INT chan.arg.arg) chan.arg.arg[0] ! 42 : PROC S ([]CHAN OF INT chan.arg) SEQ chan.arg[0] ! 42 S1 (chan.arg) : [10]CHAN OF INT chan.array: SEQ chan.array[0] ! 42 S (chan.array) []CHAN OF INT chan.abbrev IS chan.array: SEQ chan.abbrev[0] ! 42 S (chan.abbrev) []CHAN OF INT chan.abbrev.abbrev IS chan.abbrev: chan.abbrev.abbrev[0] ! 42 chan.abbrev2 IS chan.array: S (chan.abbrev2) [4][2]CHAN OF INT chan.array.2d: SKIP :