#include <perms.h>
// Edinburgh IMP77 Compiler - Version 8.4
//
// 1 %begin
int main(int argc, char **argv) { /*%begin*/
_imp_initialise(argc, argv);
// 2 %integer x
int X;
// 3 %integermap r
int *R(void)
{
// 4 %result == x
return /*?*/ &X;
// 5 %end
} /* end of R */
// 6 %integermap r1(%integer p1)
int *R1(int P1)
{
// 7 %result == x
return /*?*/ &X;
// 8 %end
} /* end of R1 */
// ?P1 unused
// 9 %integermap r2(%integer p1,p2)
int *R2(int P1, int P2)
{
// 10 %result == x
return /*?*/ &X;
// 11 %end
} /* end of R2 */
// ?P2 unused
// ?P1 unused
// 12 %integermap r3(%integer p1,p2,p3)
int *R3(int P1, int P2, int P3)
{
// 13 %result == x
return /*?*/ &X;
// 14 %end
} /* end of R3 */
// ?P3 unused
// ?P2 unused
// ?P1 unused
// 15 %integer i
int I;
// 16 i = 12
I = 12;
// 17 r = i
*R() = I;
// 18 r1(123) = i
*R1(123) = I;
// 19 r2(23,34) = i
*R2(23, 34) = I;
// 20 r3(34,45,56) = i
*R3(34, 45, 56) = I;
// 21 %endofprogram
_imp_stop(0);
return 0;
end_0:;
}