61 lines
2.0 KiB
Plaintext
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: }
|