#include <perms.h>
// Edinburgh IMP77 Compiler - Version 8.4
//
// 1 %begin
int main(int argc, char **argv) { /*%begin*/
_imp_initialise(argc, argv);
// 2 %integerfn sigval
int SIGVAL(void) {
// 3 %result = 8
return 8;
// 4 %end
} /* end of SIGVAL */
// 5
// 6 %routine report(%integer a, b, c)
void REPORT(int A, int B, int C) {
// 7 %end
return;
} /* end of REPORT */
// ?C unused
// ?B unused
// ?A unused
// 8
// 9 %constinteger internerr = 23, fail = 7
// 10 %integer item = 43
int ITEM;
ITEM = 43;
// 11
// 12 report(internerr,0,6) %and %signal fail %if item <= 0
if (ITEM > 0) goto L_0001;
REPORT(23, 0, 6);
_imp_signal(7, 0, 0, "");
L_0001:;
// 13
// 14 %signal 9, sigval
_imp_signal(9, SIGVAL(), 0, "");
// 15
// 16 %endofprogram
_imp_stop(0);
return 0;
end_0:;
}