#include <imp_perms.h>

$define unless(cond) if (!(cond)) 
$define until(cond) while(!(cond))
//ownORconstAREEQUIVALENTHERE



//


//HTTPS://GTOAL.COM/IMP77/REFERENCE-MANUAL/IMP9-TO-IMP80.PDF


//


//2)OWNARRAYSCANBEMULTI-DIMENSIONAL.ASBEFORE,THEBOUNDSMUST


//BECONSTANTSORCONSTANTEXPRESSIONS.THEORDERINWHICHARRAY


//ELEMENTSAREASSIGNEDTHEINITIALISINGVALUESISSUCHTHATTHE


//FIRSTSUBSCRIPTCHANGESFASTEST.THUS,FORANARRAYA(1:2,1:3)


//THEORDEROFASSIGNMENTWOULDBEA(1,1),A(2,1),A(1,2),A(2,2),


//A(1,3),A(2,3)


//



static int D1[(1)-(0)+1]

$define D1[N0] D1[(N0)-(0)]
 = {
1, 
2};


static int A[(2)-(1)+1][(3)-(1)+1]

$define A[N0][N1] A[(N0)-(1)][(N1)-(1)]
 = {
11, 
21, 
12, 
22, 
13, 
23};




int _imp_mainep(int _imp_argc, char **_imp_argv) {
int I; int J;


for (J = 1; J != (3)+(1); J += 1) {
for (I = 1; I != (2)+(1); I += 1) {
; ; ; ; ; ; ; 
}
}

//OUTPUTIS:



//A(1,1)=11


//A(2,1)=22


//A(1,2)=21


//A(2,2)=13


//A(1,3)=12


//A(2,3)=23



//SOASWESEE,IMP's layout does *not* match C'SLAYOUT.



//EITHERWEMAPA(I,J)ONTOA(J,I)(WHICHISUGLYFROMTHEPERSPECTIVEOFMAINTAINABLECCODE),


//ORWESHUFFLEAROUNDTHEINITIALISINGDATA,WHICHSEEMSRATHERDUBIOUSANDWILLFAILIFSOMEONE


//ISSTUPIDENOUGHTOSTEPTHROUGHA2DIMPARRAYBYADDRESS.



//NOTETHATIMP77DOESNOTALLOWMULTIDIMENSIONALownARRAYS.




  exit(0);
} /* End of program */

