#include <perms.h>
// Edinburgh IMP77 Compiler - Version 8.4
//
// 1 %begin
int main(int argc, char **argv) { /*%begin*/
_imp_initialise(argc, argv);
// 2 %routine do(%name x)
void DO(_imp_name * X) {
// 3 %name q
_imp_name *Q;
// 4 q == x
Q = (*)X;
// 5 %end
return;
} /* end of DO */
// 6
// 7 %name y
_imp_name *Y;
// 8
// 9 %real r
float R;
// 10 %integer i
int I;
// 11
// 12 y == r
Y = (*)/*?*/ &R;
// 13 y == i
Y = (*)/*?*/ &I;
// 14
// 15 do(r)
DO(/*?*/ &R);
// 16 do(i)
DO(/*?*/ &I);
// 17 do(y)
DO(Y);
// 18
// 19 %endofprogram
_imp_stop(0);
return 0;
end_0:;
}