#include <perms.h>
// Edinburgh IMP77 Compiler - Version 8.4
//
// 1 %begin
int main(int argc, char **argv) { /*%begin*/
_imp_initialise(argc, argv);
// 2 ! testing to see if scopes get messed up.
// 3 ! trying to reproduce error from tests/imptoc/rt25a.i which was fixed in tests/test106.imp by renaming second declaration of Q()
// 4 %integer qwerty
int QWERTY;
// 5 %routine mess me up
void MESSMEUP(void) {
// 6 %integer k
int K;
// 7 %integername qwerty
int *QWERTY;
// 8 %routine nested again
void NESTEDAGAIN(void) {
// 9 %routine qwerty(%real r,s,t)
void QWERTY(float R, float S, float T) {
// 10 %end
return;
} /* end of QWERTY */
// ?T unused
// ?S unused
// ?R unused
// 11 %end
return;
} /* end of NESTEDAGAIN */
// ?QWERTY unused
// 12 qwerty == k
QWERTY = (int *)/*?*/ &K;
// 13 qwerty = 1
*QWERTY = 1;
// 14 %end
return;
} /* end of MESSMEUP */
// ?NESTEDAGAIN unused
// 15 %integer i
int I;
// 16 qwerty = 2
QWERTY = 2;
// 17 i = qwerty
I = QWERTY;
// 18 %endofprogram
_imp_stop(0);
return 0;
end_0:;
}