#include <perms.h>
// Edinburgh IMP77 Compiler - Version 8.4
//
// 1 %begin
int main(int argc, char **argv) { /*%begin*/
_imp_initialise(argc, argv);
// 2 %routine outer(%integer i)
void OUTER(int I) {
// 3 printstring("Outer-level version was called"); newline
_imp_PRINTSTRING(_imp_str_literal("Outer-level version was called"));
_imp_NEWLINE();
// 4 %end
return;
} /* end of OUTER */
// ?I unused
// 5 %routine inner
void INNER(void) {
// 6 %routine test1
void TEST1(void) {
// 7 %end
return;
} /* end of TEST1 */
// 8
// 9 outer(10)
OUTER(10);
// 10
// 11 %routine outer(%integer i)
void OUTER(int I) {
// 12 printstring("Inner-level version was called. Probably should not have been!"); newline
_imp_PRINTSTRING(_imp_str_literal("Inner-level version was called. Probably should not have been!"));
_imp_NEWLINE();
// 13 printstring("This is only likely to have happened if nested procedures were badly"); newline
_imp_PRINTSTRING(_imp_str_literal("This is only likely to have happened if nested procedures were badly"));
_imp_NEWLINE();
// 14 printstring("exbedded in the conversion to C ..."); newline
_imp_PRINTSTRING(_imp_str_literal("exbedded in the conversion to C ..."));
_imp_NEWLINE();
// 15 %end
return;
} /* end of OUTER */
// ?I unused
// 16
// 17 test1
TEST1();
// 18 %end
return;
} /* end of INNER */
// ?OUTER unused
// 19 inner
INNER();
// 20 %endofprogram
_imp_stop(0);
return 0;
end_0:;
}