#include <perms.h>
// Edinburgh IMP77 Compiler - Version 8.4
//
// 1 %begin
int main(int argc, char **argv) { /*%begin*/
_imp_initialise(argc, argv);
// 2 %owninteger %array ia1(2:3) = 221,331
static int IA1[2] = {221, 331};
_imp_create_constdv(static, int, IA1, 2, 3);
// 3 %integer %array %name ian
int *IAN;
struct _imp_dv IAN_dv = {0}; // assignment of an array to an arrayname must copy bounds info too...
// 4 %integer i
int I;
// 5 ian == ia1
IAN = (int *)IA1;
IAN_dv = IA1_dv;
// 6 i = ian(3) ;! RHS arrayname element not yet handled.
I = _imp_aref(int, IAN, 3);
// 7 %endofprogram
_imp_stop(0);
return 0;
end_0:;
}