#include <perms.h>
// Edinburgh IMP77 Compiler - Version 8.4
//
// 1 %begin
int main(int argc, char **argv) { /*%begin*/
_imp_initialise(argc, argv);
// 2
// 3 %recordformat db(%record (db) %name %array Bound(0:10), %integer low, high)
struct DB {
union {
struct {
struct DB *BOUND[11];
int LOW;
int HIGH;
};
};
};
// 4 %record (db) Dope
struct DB DOPE;
// 5 %record (db) %name B
struct DB *B;
// 6 %integer J = 3
int J;
J = 3;
// 7
// 8 B == Dope_Bound(J)
B = (struct DB *)DOPE.BOUND[J];
// 9
// 10 %endofprogram
_imp_stop(0);
return 0;
end_0:;
}