#include <perms.h>
// Edinburgh IMP77 Compiler - Version 8.4
//
// 1 %begin
int main(int argc, char **argv) { /*%begin*/
_imp_initialise(argc, argv);
// 2 %constbyteintegerarray trtab(0:255)=1(255),0;
const unsigned char TRTAB[256] = {[0 ... 254] = 1, 0};
struct _imp_dv TRTAB_dv = {TRTAB, sizeof(unsigned char) /*, dims, <bounds> */};
// 3 %integer i,j
int I;
int J;
// 4 i=-1; j=addr(i)
I = -1;
J = _imp_ADDR(/*?*/ &I);
// 5 ->ok %if trtab(byteinteger(j))=0
if (TRTAB[*_imp_BYTEINTEGER(J)] != 0) goto L_0001;
goto U_1000;
L_0001:;
// 6 printstring("Fail")
_imp_PRINTSTRING(_imp_str_literal("Fail"));
// 7 %stop
_imp_stop(0);
// 8 ok:printstring("Test ok")
U_1000:;
_imp_PRINTSTRING(_imp_str_literal("Test ok"));
// 9 %endofprogram
_imp_stop(0);
return 0;
end_0:;
}