#include <perms.h>
// Edinburgh IMP77 Compiler - Version 8.4
//
// 1 %begin
int main(int argc, char **argv) { /*%begin*/
_imp_initialise(argc, argv);
// 2 %integer i
int I;
// 3 i = 42
I = 42;
// 4 %integernamearray iana(1:10)
int *IANA[10];
struct _imp_dv IANA_dv = {IANA, sizeof(int *) /*, dims, <bounds> */};
// 5 iana(5) == i
IANA[4] = (int *)/*?*/ &I;
// 6 %integername in == iana(5)
int *IN;
IN = (int *)IANA[4];
// 7 %integermap im
int *IM(void) {
// 8 %result == in
return IN;
// 9 %end
} /* end of IM */
// 10 write(im,0);! should be 42
_imp_WRITE(*IM(), 0);
// 11 %endofprogram
_imp_stop(0);
return 0;
end_0:;
}