Files
compiler-the-translators/tests/sprint4/expected/sp4_cg_calls.asc.exp
Scarlett c8491b62e4 psuh
2025-05-06 15:34:55 -04:00

61 lines
2.0 KiB
Plaintext

001:
002: type string: 1 -> character
003: type BooleanXBoolean: [Boolean: x; Boolean: y]
004: type characterXcharacter: [character: x; character: y]
005: type integerXinteger: [integer: x; integer: y]
006:
007: type Boolean2Boolean: Boolean -> Boolean
008: type integer2integer: integer -> integer
009: type character2integer: character -> integer
010: type Boolean2integer: Boolean -> integer
011: type string2integer: string -> integer
012: type integerXinteger2integer: integerXinteger -> integer
013: type integerXinteger2Boolean: integerXinteger -> Boolean
014: type characterXcharacter2Boolean: characterXcharacter -> Boolean
015: type BooleanXBoolean2Boolean: BooleanXBoolean -> Boolean
016: type integer2address: integer -> address
017: type address2integer: address -> integer
018: type integer2string: integer -> string
019: type integer2character: integer -> character
020: type integer2Boolean: integer -> Boolean
021:
022:
023: external function printInteger: integer2integer
024: external function printCharacter: character2integer
025: external function printBoolean: Boolean2integer
026:
027: external function printS: string2integer
028: external function printI: integer2integer
029: external function printC: character2integer
030: external function printB: Boolean2integer
031:
032: external function inS: integer2string
033: external function inI: integer2integer
034: external function inC: integer2character
035:
036: function entry: string2integer
037:
038:
039: type rec: [integer: x; integer: y; integer: z; integer: a; integer: b; integer: c; integer: d]
040: type T2: rec -> integer
041: type T: integer -> integer
042: function bar: T2
043: function ahh: T
044:
045: ahh (a) := {
046: a := printInteger(a);
047: return -1;
048: }
049:
050: bar (a, b, c,d,e,f,g) := {
051: a := printInteger(g);
052: return b;
053: }
054:
055: entry (arg) := {
056: [integer:x; integer:y; integer: result]
057:
058: result := bar(1,2,3,4,5,6,7);
059: return 1;
060: }