#include <perms.h>
// Edinburgh IMP77 Compiler - Version 8.4
//
// 1 %begin
int main(int argc, char **argv) { /*%begin*/
_imp_initialise(argc, argv);
// 2 %integerarray array(0:9)
int ARRAY[10];
_imp_create_constdv(, int, ARRAY, 0, 9);
// 3 %integerarrayname arrayname
int *ARRAYNAME;
struct _imp_dv ARRAYNAME_dv = {0}; // assignment of an array to an arrayname must copy bounds info too...
// 4 arrayname == array
ARRAYNAME = (int *)ARRAY;
ARRAYNAME_dv = ARRAY_dv;
// 5 arrayname(2) = 3
_imp_aref(int, ARRAYNAME, 2) = 3;
// 6 %endofprogram
_imp_stop(0);
return 0;
end_0:;
}