#include <perms.h>
// Edinburgh IMP77 Compiler - Version 8.4
//
// 1 %begin
int main(int argc, char **argv) { /*%begin*/
_imp_initialise(argc, argv);
// 2 %predicate zero(%integer i)
int ZERO(int I) {
// 3 ! current bug: %true and %false are not implemented but don''t complain
// 4 ! %end generates return(0) instead of an error.
// 5 %true %if i=0
if (I != 0) goto L_0001;
return 1 /*TRUE*/;
L_0001:;
// 6 %false
return 0 /*FALSE*/;
// 7 %end
} /* end of ZERO */
// 8
// 9 %if zero(1) %start
if (!(ZERO(1))) goto L_0002;
// 10 %signal 15,15
_imp_signal(15, 15, 0, "");
// 11 %finish
L_0002:;
// 12
// 13 %if zero(0) %start
if (!(ZERO(0))) goto L_0003;
// 14 %stop
_imp_stop(0);
// 15 %finish
L_0003:;
// 16
// 17 %endofprogram
_imp_stop(0);
return 0;
end_0:;
}