62 lines
1.8 KiB
Plaintext
62 lines
1.8 KiB
Plaintext
(* TEST: [-asc -tc -cg -ir] *)
|
|
|
|
type string: 1 -> character
|
|
type BooleanXBoolean: [Boolean: x; Boolean: y]
|
|
type characterXcharacter: [character: x; character: y]
|
|
type integerXinteger: [integer: x; integer: y]
|
|
|
|
type Boolean2Boolean: Boolean -> Boolean
|
|
type integer2integer: integer -> integer
|
|
type character2integer: character -> integer
|
|
type Boolean2integer: Boolean -> integer
|
|
type string2integer: string -> integer
|
|
type integerXinteger2integer: integerXinteger -> integer
|
|
type integerXinteger2Boolean: integerXinteger -> Boolean
|
|
type characterXcharacter2Boolean: characterXcharacter -> Boolean
|
|
type BooleanXBoolean2Boolean: BooleanXBoolean -> Boolean
|
|
type integer2address: integer -> address
|
|
type address2integer: address -> integer
|
|
type integer2string: integer -> string
|
|
type integer2character: integer -> character
|
|
type integer2Boolean: integer -> Boolean
|
|
|
|
|
|
external function printInteger: integer2integer
|
|
external function printCharacter: character2integer
|
|
external function printBoolean: Boolean2integer
|
|
|
|
external function printS: string2integer
|
|
external function printI: integer2integer
|
|
external function printC: character2integer
|
|
external function printB: Boolean2integer
|
|
|
|
external function inS: integer2string
|
|
external function inI: integer2integer
|
|
external function inC: integer2character
|
|
|
|
function entry: string2integer
|
|
|
|
type rec: [integer: x; integer: y; integer: z; integer: a; integer: b; integer: c; integer: d]
|
|
type T2: rec -> integer
|
|
type T: integer -> integer
|
|
function bar: T2
|
|
function ahh: T
|
|
|
|
ahh (a) := {
|
|
a := printInteger(a);
|
|
return -1;
|
|
}
|
|
|
|
bar (a, b, c,d,e,f,g) := {
|
|
a := printInteger(g);
|
|
return b;
|
|
}
|
|
|
|
entry (arg) := {
|
|
[integer:x; integer:y; integer: result; character: a]
|
|
a := 'a';
|
|
x := printCharacter(a);
|
|
result := bar(1,2,3,4,5,6,7);
|
|
return 1;
|
|
}
|