#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 = 16_80808080
int I;
I = -2139062144;
// 3 ! Imp allows the declaration below even if this is absent:
// 4 %recordformatspec rf
// 5 %recordformat rf(%record (rf) %name next, %integer i)
struct RF {
union {
struct {
struct RF *NEXT;
int I;
};
};
};
// 6 %record (rf) rec
struct RF REC;
// 7 %record (rf) %name %array rna(0:10)
struct RF *RNA[11];
struct _imp_dv RNA_dv = {RNA, sizeof(struct RF *) /*, dims, <bounds> */};
// 8
// 9 rec = rna(i)
REC = *RNA[I];
// 10 rec = rna(i)_next
REC = *RNA[I]->NEXT;
// 11 %endofprogram
_imp_stop(0);
return 0;
end_0:;
}