#include <perms.h>
// Edinburgh IMP77 Compiler - Version 8.4
//
// 1 %begin
int main(int argc, char **argv) { /*%begin*/
_imp_initialise(argc, argv);
// 2 ! Complete list of formal parameter types:
// 3
// 4 %recordformat record fm ( %integer field1, %real field2, %string (255) field3 )
struct RECORDFM {
union {
struct {
int FIELD1;
float FIELD2;
_imp_string255 FIELD3;
};
};
};
// 5 %comment %recordformat record fm ( %integer field1, %real field2, %string (255) field3 )
// 6
// 7 %routine fancy
void FANCY(void) {
// 8 %comment %routine fancy
// 9 %end
return;
} /* end of FANCY */
// 10
// 11 %routine fancy1(%integer param, p2, p3)
void FANCY1(int PARAM, int P2, int P3) {
// 12 %comment %routine fancy1(%integer param, p2, p3)
// 13 %end
return;
} /* end of FANCY1 */
// ?P3 unused
// ?P2 unused
// ?PARAM unused
// 14
// 15 %routine fancy2(%real param, p2, p3)
void FANCY2(float PARAM, float P2, float P3) {
// 16 %comment %routine fancy2(%real param, p2, p3)
// 17 %end
return;
} /* end of FANCY2 */
// ?P3 unused
// ?P2 unused
// ?PARAM unused
// 18
// 19 %routine fancy3(%string(255) param, p2, p3)
void FANCY3(_imp_string255 PARAM, _imp_string255 P2, _imp_string255 P3) {
// 20 %comment %routine fancy3(%string(255) param, p2, p3)
// 21 %end
return;
} /* end of FANCY3 */
// ?P3 unused
// ?P2 unused
// ?PARAM unused
// 22
// 23 %routine fancy4(%integer %name param, p2, p3)
void FANCY4(int *PARAM, int *P2, int *P3) {
// 24 %comment %routine fancy4(%integer %name param, p2, p3)
// 25 %end
return;
} /* end of FANCY4 */
// ?P3 unused
// ?P2 unused
// ?PARAM unused
// 26
// 27 %routine fancy5(%real %name param, p2, p3)
void FANCY5(float *PARAM, float *P2, float *P3) {
// 28 %comment %routine fancy5(%real %name param, p2, p3)
// 29 %end
return;
} /* end of FANCY5 */
// ?P3 unused
// ?P2 unused
// ?PARAM unused
// 30
// 31 %routine fancy6(%string(255)%name param, p2, p3)
void FANCY6(_imp_string255 * PARAM, _imp_string255 * P2, _imp_string255 * P3) {
// 32 %comment %routine fancy6(%string(255)%name param, p2, p3)
// 33 %end
return;
} /* end of FANCY6 */
// ?P3 unused
// ?P2 unused
// ?PARAM unused
// 34
// 35 %routine fancy7(%integer %array %name param, p2, p3)
void FANCY7(int *PARAM, int *P2, int *P3) {
// 36 %comment %routine fancy7(%integer %array %name param, p2, p3)
// 37 %end
return;
} /* end of FANCY7 */
// ?P3 unused
// ?P2 unused
// ?PARAM unused
// 38
// 39 %routine fancy8(%real %array %name param, p2, p3)
void FANCY8(float *PARAM, float *P2, float *P3) {
// 40 %comment %routine fancy8(%real %array %name param, p2, p3)
// 41 %end
return;
} /* end of FANCY8 */
// ?P3 unused
// ?P2 unused
// ?PARAM unused
// 42
// 43 %routine fancy9(%string(255)%array %name param, p2, p3)
void FANCY9(_imp_string255 * PARAM, _imp_string255 * P2, _imp_string255 * P3) {
// 44 %comment %routine fancy9(%string(255)%array %name param, p2, p3)
// 45 %end
return;
} /* end of FANCY9 */
// ?P3 unused
// ?P2 unused
// ?PARAM unused
// 46
// 47 %routine fancy10A(%integer %fn param)
void FANCY10A(int (*PARAM)(void)) {
// 48 ! name list silently accepted here. Should be an error. Not output in C however. Add to rejection tests later.
// 49 %comment %routine fancy10A(%integer %fn param)
// 50 %end
return;
} /* end of FANCY10A */
// ?PARAM unused
// 51
// 52 %routine fancy10B(%integer %fn param(%routine subparam(%realfn subsubparam(%real subsubsubparam))))
void FANCY10B(int (*PARAM)(void (*SUBPARAM)(void))) {
// 53 %comment %routine fancy10B(%integer %fn param(%routine subparam(%realfn subsubparam(%real subsubsubparam))))
// 54 %end
return;
} /* end of FANCY10B */
// ?PARAM unused
// 55
// 56 %routine fancy11(%real %fn param)
void FANCY11(float (*PARAM)(void)) {
// 57 %comment %routine fancy11(%real %fn param)
// 58 %end
return;
} /* end of FANCY11 */
// ?PARAM unused
// 59
// 60 %routine fancy12(%string(255)%fn param)
void FANCY12(_imp_string255(*PARAM)(void)) {
// 61 %comment %routine fancy12(%string(255)%fn param)
// 62 %end
return;
} /* end of FANCY12 */
// ?PARAM unused
// 63
// 64 %routine fancy13(%integer %function param)
void FANCY13(int (*PARAM)(void)) {
// 65 %comment %routine fancy13(%integer %function param)
// 66 %end
return;
} /* end of FANCY13 */
// ?PARAM unused
// 67
// 68 %routine fancy14(%real %function param)
void FANCY14(float (*PARAM)(void)) {
// 69 %comment %routine fancy14(%real %function param)
// 70 %end
return;
} /* end of FANCY14 */
// ?PARAM unused
// 71
// 72 %routine fancy15(%string(255)%function param)
void FANCY15(_imp_string255(*PARAM)(void)) {
// 73 %comment %routine fancy15(%string(255)%function param)
// 74 %end
return;
} /* end of FANCY15 */
// ?PARAM unused
// 75
// 76 %routine fancy16(%integer %map param)
void FANCY16(int *(*PARAM)(void)) {
// 77 %comment %routine fancy16(%integer %map param)
// 78 %end
return;
} /* end of FANCY16 */
// ?PARAM unused
// 79
// 80 %routine fancy17(%real %map param)
void FANCY17(float *(*PARAM)(void)) {
// 81 %comment %routine fancy17(%real %map param)
// 82 %end
return;
} /* end of FANCY17 */
// ?PARAM unused
// 83
// 84 %routine fancy18(%string(255)%map param)
void FANCY18(_imp_string255 * (*PARAM)(void)) {
// 85 %comment %routine fancy18(%string(255)%map param)
// 86 %end
return;
} /* end of FANCY18 */
// ?PARAM unused
// 87
// 88 %routine fancy19(%integer %name %array %name param, p2, p3)
void FANCY19(int **PARAM, int **P2, int **P3) {
// 89 %comment %routine fancy19(%integer %name %array %name param, p2, p3)
// 90 %end
return;
} /* end of FANCY19 */
// ?P3 unused
// ?P2 unused
// ?PARAM unused
// 91
// 92 %routine fancy20(%real %name %array %name param, p2, p3)
void FANCY20(float **PARAM, float **P2, float **P3) {
// 93 %comment %routine fancy20(%real %name %array %name param, p2, p3)
// 94 %end
return;
} /* end of FANCY20 */
// ?P3 unused
// ?P2 unused
// ?PARAM unused
// 95
// 96 %routine fancy21(%string(255) %name %array %name param, p2, p3)
void FANCY21(_imp_string255 * *PARAM, _imp_string255 * *P2, _imp_string255 * *P3) {
// 97 %comment %routine fancy21(%string(255) %name %array %name param, p2, p3)
// 98 %end
return;
} /* end of FANCY21 */
// ?P3 unused
// ?P2 unused
// ?PARAM unused
// 99
// 100 %routine fancy22(%record(record fm) param, p2, p3)
void FANCY22(struct RECORDFM PARAM, struct RECORDFM P2, struct RECORDFM P3) {
// 101 %comment %routine fancy22(%record(record fm) param, p2, p3)
// 102 %end
return;
} /* end of FANCY22 */
// ?P3 unused
// ?P2 unused
// ?PARAM unused
// 103
// 104 %routine fancy23(%record(record fm)%name param, p2, p3)
void FANCY23(struct RECORDFM * PARAM, struct RECORDFM * P2, struct RECORDFM * P3) {
// 105 %comment %routine fancy23(%record(record fm)%name param, p2, p3)
// 106 %end
return;
} /* end of FANCY23 */
// ?P3 unused
// ?P2 unused
// ?PARAM unused
// 107
// 108 %routine fancy24(%record(record fm)%array %name param, p2, p3)
void FANCY24(struct RECORDFM * PARAM, struct RECORDFM * P2, struct RECORDFM * P3) {
// 109 %comment %routine fancy24(%record(record fm)%array %name param, p2, p3)
// 110 %end
return;
} /* end of FANCY24 */
// ?P3 unused
// ?P2 unused
// ?PARAM unused
// 111
// 112 %routine fancy25(%record(record fm) %name %array %name param, p2, p3)
void FANCY25(struct RECORDFM * *PARAM, struct RECORDFM * *P2, struct RECORDFM * *P3) {
// 113 %comment %routine fancy25(%record(record fm) %name %array %name param, p2, p3)
// 114 %end
return;
} /* end of FANCY25 */
// ?P3 unused
// ?P2 unused
// ?PARAM unused
// 115
// 116 %routine fancy26(%record(record fm)%fn param)
void FANCY26(struct RECORDFM(*PARAM)(void)) {
// 117 %comment %routine fancy26(%record(record fm)%fn param)
// 118 %end
return;
} /* end of FANCY26 */
// ?PARAM unused
// 119
// 120 %routine fancy27(%record(record fm)%function param)
void FANCY27(struct RECORDFM(*PARAM)(void)) {
// 121 %comment %routine fancy27(%record(record fm)%function param)
// 122 %end
return;
} /* end of FANCY27 */
// ?PARAM unused
// 123
// 124 %routine fancy28(%record(record fm)%map param)
void FANCY28(struct RECORDFM * (*PARAM)(void)) {
// 125 %comment %routine fancy28(%record(record fm)%map param)
// 126 %end
return;
} /* end of FANCY28 */
// ?PARAM unused
// 127
// 128 %routine fancy29(%routine param)
void FANCY29(void (*PARAM)(void)) {
// 129 %comment %routine fancy29(%routine param)
// 130 %end
return;
} /* end of FANCY29 */
// ?PARAM unused
// 131
// 132 %routine fancy30(%predicate param)
void FANCY30(int (*PARAM)(void)) {
// 133 %comment %routine fancy30(%predicate param)
// 134 %end
return;
} /* end of FANCY30 */
// ?PARAM unused
// 135
// 136 %routine fancy31(%name param)
void FANCY31(_imp_name * PARAM) {
// 137 %comment %routine fancy31(%name param)
// 138 %end
return;
} /* end of FANCY31 */
// ?PARAM unused
// 139
// 140 %routine fancy32(%name param1, param2, param3)
void FANCY32(_imp_name * PARAM1, _imp_name * PARAM2, _imp_name * PARAM3) {
// 141 %comment %routine fancy32(%name param1, param2, param3)
// 142 %end
return;
} /* end of FANCY32 */
// ?PARAM3 unused
// ?PARAM2 unused
// ?PARAM1 unused
// 143
// 144 %endofprogram
_imp_stop(0);
return 0;
end_0:;
}