Files
compiler-the-translators/tests/sprint4/test/sp4_cg_equal_to.alpha
Scarlett c8491b62e4 psuh
2025-05-06 15:34:55 -04:00

48 lines
1.5 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
entry (arg) := {
[Boolean: b; integer: x; integer: y; integer: result]
x := 1;
y := 2;
b := x = y;
result := printBoolean(b);
return 1;
}