#include <perms.h>
// Edinburgh IMP77 Compiler - Version 8.4
//
// 1 %begin
int main(int argc, char **argv) { /*%begin*/
_imp_initialise(argc, argv);
// 2
// 3 %begin
{ /*%begin*/
// 4 %recordformat RIGHT(%longreal K, J, I)
struct RIGHT {
union {
struct {
double K;
double J;
double I;
};
};
};
// 5 %end
goto end_1000;
end_1000:;
}
// ?RIGHT unused
// 6
// 7 %recordformatspec RIGHT
// 8
// 9 %recordformat OTHER(%record (RIGHT) %name MISTAKE)
struct OTHER {
union {
struct {
struct RIGHT *MISTAKE;
};
};
};
// 10
// 11 %recordformat RIGHT(%integer I, J, K)
struct RIGHT {
union {
struct {
int I;
int J;
int K;
};
};
};
// 12
// 13 %record (RIGHT) TEST
struct RIGHT TEST;
// 14
// 15 %record (RIGHT) %map TESTMAP
struct RIGHT *TESTMAP(void)
{
// 16 %result == TEST
return /*?*/ &TEST;
// 17 %end
} /* end of TESTMAP */
// 18
// 19 %endofprogram
_imp_stop(0);
return 0;
end_0:;
}