#line 1
#include <perms.h>
// Edinburgh IMP77 Compiler - Version 8.4
//
// 1 ! File of externals followed by a main program.
// 2
// 3 %recordformat rf ( %integer i, %real r, %record (rf) %name next) ;! Are record format vars in a sub-scope? Or is it just that formats are in a different name space?
#line 3 "test-new/bigtest2.imp"
struct RF {
union {
struct {
#line 3 "test-new/bigtest2.imp"
int I;
#line 3 "test-new/bigtest2.imp"
float R;
#line 3 "test-new/bigtest2.imp"
struct RF *NEXT;
#line 3 "test-new/bigtest2.imp"
};
};
};
// 4
// 5 ! owns and externals are simpler declarations
// 6 %externalinteger xi1
#line 6 "test-new/bigtest2.imp"
int XI1;
// 7 %externalintegername xin1
#line 7 "test-new/bigtest2.imp"
int *XIN1;
// 8 %externalreal xr1
#line 8 "test-new/bigtest2.imp"
float XR1;
// 9 %externalinteger xi2,xi3
#line 9 "test-new/bigtest2.imp"
int XI2;
#line 9 "test-new/bigtest2.imp"
int XI3;
// 10 %externalreal xcr1 = 3.1415
#line 10 "test-new/bigtest2.imp"
float XCR1 = 3.1415;
// 11 %externalrealarray xra1(0:9)
#line 11 "test-new/bigtest2.imp"
float XRA1[10];
// 12 %externalrealarrayname xran1
#line 12 "test-new/bigtest2.imp"
float *XRAN1;
// 13 %externallongreal xclr1 = 3.1415
#line 13 "test-new/bigtest2.imp"
double XCLR1 = 3.1415;
// 14 %externallongrealarray xlra1(0:9)
#line 14 "test-new/bigtest2.imp"
double XLRA1[10];
// 15 %externallongrealarrayname xlran1
#line 15 "test-new/bigtest2.imp"
double *XLRAN1;
// 16 %externalintegernamearray xina1(0:9)
#line 16 "test-new/bigtest2.imp"
int *XINA1[10];
// 17 %externalintegernamearrayname xinan1
#line 17 "test-new/bigtest2.imp"
int **XINAN1;
// 18 %externalstring(82) xs1
#line 18 "test-new/bigtest2.imp"
_imp_string82 XS1;
// 19 %externalstring(82)%name xsn1
#line 19 "test-new/bigtest2.imp"
_imp_string82 *XSN1;
// 20 %externalstring(82)%array xsa1(4:7)
#line 20 "test-new/bigtest2.imp"
_imp_string82 XSA1[4];
// 21 %externalstring(82)%arrayname xsan1
#line 21 "test-new/bigtest2.imp"
_imp_string82 *XSAN1;
// 22 %externalstring(82)%namearray xsna1(4:7)
#line 22 "test-new/bigtest2.imp"
_imp_string82 *XSNA1[4];
// 23 %externalstring(82)%namearrayname xsnan1
#line 23 "test-new/bigtest2.imp"
_imp_string82 **XSNAN1;
// 24 %externalrecord (rf) xrec1
#line 24 "test-new/bigtest2.imp"
struct RF XREC1;
// 25 %externalrecord (rf) %name xrecn1
#line 25 "test-new/bigtest2.imp"
struct RF *XRECN1;
// 26 %externalrecord (rf) %array xreca1(2:3)
#line 26 "test-new/bigtest2.imp"
struct RF XRECA1[2];
// 27 %externalrecord (rf) %array %name xrecan1
#line 27 "test-new/bigtest2.imp"
struct RF *XRECAN1;
// 28 %externalrecord (rf) %name %array xrecna1(2:3)
#line 28 "test-new/bigtest2.imp"
struct RF *XRECNA1[2];
// 29 %externalrecord (rf) %name %array %name xrecnan1
#line 29 "test-new/bigtest2.imp"
struct RF **XRECNAN1;
// 30
// 31 %externalintegerfn ifn1
#line 31 "test-new/bigtest2.imp"
int IFN1(void) {
// 32 %result = xi1
#line 32 "test-new/bigtest2.imp"
return XI1;
// 33 %end
#line 33 "test-new/bigtest2.imp"
} /* end of IFN1 */
// 34
// 35 %externalintegermap imap1
#line 35 "test-new/bigtest2.imp"
int *IMAP1(void)
#line 35 "test-new/bigtest2.imp"
{
// 36 %result == xi1
#line 36 "test-new/bigtest2.imp"
return /*?*/ &XI1;
// 37 %end
#line 37 "test-new/bigtest2.imp"
} /* end of IMAP1 */
// 38
// 39 %externalroutine rt1
#line 39 "test-new/bigtest2.imp"
void RT1(void) {
// 40 %integer i1
#line 40 "test-new/bigtest2.imp"
int I1;
// 41 %routine rt1
#line 41 "test-new/bigtest2.imp"
void RT1(void) {
// 42 %end
#line 42 "test-new/bigtest2.imp"
return;
#line 42 "test-new/bigtest2.imp"
} /* end of RT1 */
// 43 %end
#line 43 "test-new/bigtest2.imp"
return;
#line 43 "test-new/bigtest2.imp"
} /* end of RT1 */
// ?RT1 unused
// ?I1 unused
// 44
// 45 %externalpredicate test1
#line 45 "test-new/bigtest2.imp"
int TEST1(void) {
// 46 %true
#line 46 "test-new/bigtest2.imp"
return 1 /*TRUE*/;
// 47 %end
#line 47 "test-new/bigtest2.imp"
} /* end of TEST1 */
// 48
// 49 %externalroutine xrt1(%integer p1)
#line 49 "test-new/bigtest2.imp"
void XRT1(int P1) {
// 50 %real r1
#line 50 "test-new/bigtest2.imp"
float R1;
// 51 %end
#line 51 "test-new/bigtest2.imp"
return;
#line 51 "test-new/bigtest2.imp"
} /* end of XRT1 */
// ?R1 unused
// ?P1 unused
// 52
// 53 %externalroutine xr2(%integer p1, p2, p3, p4)
#line 53 "test-new/bigtest2.imp"
void XR2(int P1, int P2, int P3, int P4) {
// 54 %real r1
#line 54 "test-new/bigtest2.imp"
float R1;
// 55 %end
#line 55 "test-new/bigtest2.imp"
return;
#line 55 "test-new/bigtest2.imp"
} /* end of XR2 */
// ?R1 unused
// ?P4 unused
// ?P3 unused
// ?P2 unused
// ?P1 unused
// 56
// 57 %externalroutine xr3(%integer p1, p2, %real r1, r2)
#line 57 "test-new/bigtest2.imp"
void XR3(int P1, int P2, float R1, float R2) {
// 58 %real r3
#line 58 "test-new/bigtest2.imp"
float R3;
// 59 %end
#line 59 "test-new/bigtest2.imp"
return;
#line 59 "test-new/bigtest2.imp"
} /* end of XR3 */
// ?R3 unused
// ?R2 unused
// ?R1 unused
// ?P2 unused
// ?P1 unused
// 60
// 61 %begin
#line 61 "test-new/bigtest2.imp"
int main(int argc, char **argv) { /*%begin*/
#line 61 "test-new/bigtest2.imp"
_imp_initialise(argc, argv);
#line 61 "test-new/bigtest2.imp"
auto int *IMAP1(void)
#line 61 "test-new/bigtest2.imp"
;
// 62 %integermapspec imap1
// 63 %integer i1
#line 63 "test-new/bigtest2.imp"
int I1;
// 64 %integername in1
#line 64 "test-new/bigtest2.imp"
int *IN1;
// 65 %shortinteger si1
#line 65 "test-new/bigtest2.imp"
short int SI1;
// 66 %shortintegername sin1
#line 66 "test-new/bigtest2.imp"
short int *SIN1;
// 67 %byteinteger bi1
#line 67 "test-new/bigtest2.imp"
unsigned char BI1;
// 68 %byteintegername bin1
#line 68 "test-new/bigtest2.imp"
unsigned char *BIN1;
// 69 %real r1
#line 69 "test-new/bigtest2.imp"
float R1;
// 70 %realslong
// 71 %real qr1
#line 71 "test-new/bigtest2.imp"
double QR1;
// 72 %realsnormal
// 73 %constreal cr1 = 3.1415
#line 73 "test-new/bigtest2.imp"
const float CR1 = 3.1415;
// 74 %longreal lr1
#line 74 "test-new/bigtest2.imp"
double LR1;
// 75 %constlongreal clr1 = 3.1415
#line 75 "test-new/bigtest2.imp"
const double CLR1 = 3.1415;
// 76 %integerfn ifn1
#line 76 "test-new/bigtest2.imp"
int IFN1(void) {
// 77 %result = i1
#line 77 "test-new/bigtest2.imp"
return I1;
// 78 %end
#line 78 "test-new/bigtest2.imp"
} /* end of IFN1 */
// 79 %integermap imap1
#line 79 "test-new/bigtest2.imp"
int *IMAP1(void)
#line 79 "test-new/bigtest2.imp"
{
// 80 %result == i1
#line 80 "test-new/bigtest2.imp"
return /*?*/ &I1;
// 81 %end
#line 81 "test-new/bigtest2.imp"
} /* end of IMAP1 */
// 82 %routine rt1
#line 82 "test-new/bigtest2.imp"
void RT1(void) {
// 83 %integer i1
#line 83 "test-new/bigtest2.imp"
int I1;
// 84 %integer local1
#line 84 "test-new/bigtest2.imp"
int LOCAL1;
// 85 %routine rt1
#line 85 "test-new/bigtest2.imp"
void RT1(void) {
// 86 %integer local1
#line 86 "test-new/bigtest2.imp"
int LOCAL1;
// 87 local1 = 1
#line 87 "test-new/bigtest2.imp"
LOCAL1 = 1;
// 88 i1 = 1
#line 88 "test-new/bigtest2.imp"
I1 = 1;
// 89 %end
#line 89 "test-new/bigtest2.imp"
return;
#line 89 "test-new/bigtest2.imp"
} /* end of RT1 */
// 90 local1 = 2
#line 90 "test-new/bigtest2.imp"
LOCAL1 = 2;
// 91 i1 = 2
#line 91 "test-new/bigtest2.imp"
I1 = 2;
// 92 %end
#line 92 "test-new/bigtest2.imp"
return;
#line 92 "test-new/bigtest2.imp"
} /* end of RT1 */
// ?RT1 unused
// 93 %predicate test1
#line 93 "test-new/bigtest2.imp"
int TEST1(void) {
// 94 %false
#line 94 "test-new/bigtest2.imp"
return 0 /*FALSE*/;
// 95 %end
#line 95 "test-new/bigtest2.imp"
} /* end of TEST1 */
// 96 %realarray ra1, ra1b(0:9), ra2, ra2b(10:19)
#line 96 "test-new/bigtest2.imp"
float RA1[10];
#line 96 "test-new/bigtest2.imp"
float RA1B[10];
#line 96 "test-new/bigtest2.imp"
float RA2[10];
#line 96 "test-new/bigtest2.imp"
float RA2B[10];
// 97 %realarrayname ran1, ran2
#line 97 "test-new/bigtest2.imp"
float *RAN1;
#line 97 "test-new/bigtest2.imp"
float *RAN2;
// 98 %longrealarray lra1, lra1b(0:9), lra2, lra2b(10:19)
#line 98 "test-new/bigtest2.imp"
double LRA1[10];
#line 98 "test-new/bigtest2.imp"
double LRA1B[10];
#line 98 "test-new/bigtest2.imp"
double LRA2[10];
#line 98 "test-new/bigtest2.imp"
double LRA2B[10];
// 99 %longrealarrayname lran1, lran2
#line 99 "test-new/bigtest2.imp"
double *LRAN1;
#line 99 "test-new/bigtest2.imp"
double *LRAN2;
// 100 %integernamearray ina1, ina1b(0:9), ina2, ina2b(10:19)
#line 100 "test-new/bigtest2.imp"
int *INA1[10];
#line 100 "test-new/bigtest2.imp"
int *INA1B[10];
#line 100 "test-new/bigtest2.imp"
int *INA2[10];
#line 100 "test-new/bigtest2.imp"
int *INA2B[10];
// 101 %integernamearrayname inan1, inan2
#line 101 "test-new/bigtest2.imp"
int **INAN1;
#line 101 "test-new/bigtest2.imp"
int **INAN2;
// 102 %string(82) s1, s2
#line 102 "test-new/bigtest2.imp"
_imp_string82 S1;
#line 102 "test-new/bigtest2.imp"
_imp_string82 S2;
// 103 %string(82)%name sn1, sn2
#line 103 "test-new/bigtest2.imp"
_imp_string82 *SN1;
#line 103 "test-new/bigtest2.imp"
_imp_string82 *SN2;
// 104 %string(82)%array sa1, sa1b(4:7), sa2, sa2b(9:10), sa3(1:100)
#line 104 "test-new/bigtest2.imp"
_imp_string82 SA1[4];
#line 104 "test-new/bigtest2.imp"
_imp_string82 SA1B[4];
#line 104 "test-new/bigtest2.imp"
_imp_string82 SA2[2];
#line 104 "test-new/bigtest2.imp"
_imp_string82 SA2B[2];
#line 104 "test-new/bigtest2.imp"
_imp_string82 SA3[100];
// 105 %string(82)%arrayname san1, san2, san3
#line 105 "test-new/bigtest2.imp"
_imp_string82 *SAN1;
#line 105 "test-new/bigtest2.imp"
_imp_string82 *SAN2;
#line 105 "test-new/bigtest2.imp"
_imp_string82 *SAN3;
// 106 %string(82)%namearray sna1, sna2(4:7), sna3(1:2)
#line 106 "test-new/bigtest2.imp"
_imp_string82 *SNA1[4];
#line 106 "test-new/bigtest2.imp"
_imp_string82 *SNA2[4];
#line 106 "test-new/bigtest2.imp"
_imp_string82 *SNA3[2];
// 107 %string(82)%namearrayname snan1, snan2
#line 107 "test-new/bigtest2.imp"
_imp_string82 **SNAN1;
#line 107 "test-new/bigtest2.imp"
_imp_string82 **SNAN2;
// 108 %record (rf) rec1, rec2
#line 108 "test-new/bigtest2.imp"
struct RF REC1;
#line 108 "test-new/bigtest2.imp"
struct RF REC2;
// 109 %record (rf) %name recn1, recn2
#line 109 "test-new/bigtest2.imp"
struct RF *RECN1;
#line 109 "test-new/bigtest2.imp"
struct RF *RECN2;
// 110 %record (rf) %array reca1,reca2(2:3),reca3(4:5)
#line 110 "test-new/bigtest2.imp"
struct RF RECA1[2];
#line 110 "test-new/bigtest2.imp"
struct RF RECA2[2];
#line 110 "test-new/bigtest2.imp"
struct RF RECA3[2];
// 111 %record (rf) %array %name recan1,recan2
#line 111 "test-new/bigtest2.imp"
struct RF *RECAN1;
#line 111 "test-new/bigtest2.imp"
struct RF *RECAN2;
// 112 %record (rf) %name %array recna1,recna2(2:3),recna3(1:2)
#line 112 "test-new/bigtest2.imp"
struct RF *RECNA1[2];
#line 112 "test-new/bigtest2.imp"
struct RF *RECNA2[2];
#line 112 "test-new/bigtest2.imp"
struct RF *RECNA3[2];
// 113 %record (rf) %name %array %name recnan1,recnan2
#line 113 "test-new/bigtest2.imp"
struct RF **RECNAN1;
#line 113 "test-new/bigtest2.imp"
struct RF **RECNAN2;
// 114
// 115 ! owns and externals are simpler declarations
// 116 %owninteger oi1
#line 116 "test-new/bigtest2.imp"
static int OI1;
// 117 %ownintegername oin1
#line 117 "test-new/bigtest2.imp"
static int *OIN1;
// 118 %ownreal or1
#line 118 "test-new/bigtest2.imp"
static float OR1;
// 119 %ownlongreal olr1
#line 119 "test-new/bigtest2.imp"
static double OLR1;
// 120 %owninteger oi2,oi3
#line 120 "test-new/bigtest2.imp"
static int OI2;
#line 120 "test-new/bigtest2.imp"
static int OI3;
// 121 %ownreal ocr1 = 3.1415
#line 121 "test-new/bigtest2.imp"
static float OCR1 = 3.1415;
// 122 %ownlongreal oclr1 = 3.1415
#line 122 "test-new/bigtest2.imp"
static double OCLR1 = 3.1415;
// 123 %ownrealarray ora1(0:9)
#line 123 "test-new/bigtest2.imp"
static float ORA1[10];
// 124 %ownrealarrayname oran1
#line 124 "test-new/bigtest2.imp"
static float *ORAN1;
// 125 %ownlongrealarray olra1(0:9)
#line 125 "test-new/bigtest2.imp"
static double OLRA1[10];
// 126 %ownlongrealarrayname olran1
#line 126 "test-new/bigtest2.imp"
static double *OLRAN1;
// 127 %ownintegernamearray oina1(0:9)
#line 127 "test-new/bigtest2.imp"
static int *OINA1[10];
// 128 %ownintegernamearrayname oinan1
#line 128 "test-new/bigtest2.imp"
static int **OINAN1;
// 129 %ownstring(82) os1
#line 129 "test-new/bigtest2.imp"
static _imp_string82 OS1;
// 130 %ownstring(82)%name osn1
#line 130 "test-new/bigtest2.imp"
static _imp_string82 *OSN1;
// 131 %ownstring(82)%array osa1(4:7)
#line 131 "test-new/bigtest2.imp"
static _imp_string82 OSA1[4];
// 132 %ownstring(82)%arrayname osan1
#line 132 "test-new/bigtest2.imp"
static _imp_string82 *OSAN1;
// 133 %ownstring(82)%namearray osna1(4:7)
#line 133 "test-new/bigtest2.imp"
static _imp_string82 *OSNA1[4];
// 134 %ownstring(82)%namearrayname osnan1
#line 134 "test-new/bigtest2.imp"
static _imp_string82 **OSNAN1;
// 135 %ownrecord (rf) orec1
#line 135 "test-new/bigtest2.imp"
static struct RF OREC1;
// 136 %ownrecord (rf) %name orecn1
#line 136 "test-new/bigtest2.imp"
static struct RF *ORECN1;
// 137 %ownrecord (rf) %array oreca1(2:3)
#line 137 "test-new/bigtest2.imp"
static struct RF ORECA1[2];
// 138 %ownrecord (rf) %array %name orecan1
#line 138 "test-new/bigtest2.imp"
static struct RF *ORECAN1;
// 139 %ownrecord (rf) %name %array orecna1(2:3)
#line 139 "test-new/bigtest2.imp"
static struct RF *ORECNA1[2];
// 140 %ownrecord (rf) %name %array %name orecnan1
#line 140 "test-new/bigtest2.imp"
static struct RF **ORECNAN1;
// 141
// 142 %switch sw1(0:255), sw2('a':'z')
#line 142 "test-new/bigtest2.imp"
int SW1_index;
#line 142 "test-new/bigtest2.imp"
int SW1_line;
#line 142 "test-new/bigtest2.imp"
char *SW1_file;
#line 142 "test-new/bigtest2.imp"
static const void *SW1[256] = {
&&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing,
&&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing,
&&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing,
&&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing,
&&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing,
&&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing,
&&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing,
&&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing,
&&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing,
&&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing,
&&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing,
&&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing,
&&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing,
&&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing,
&&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing,
&&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing,
&&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing,
&&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing,
&&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing,
&&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing,
&&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing,
&&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing,
&&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing,
&&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing,
&&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing,
&&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing,
&&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing,
&&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing,
&&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing,
&&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing,
&&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing,
&&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing,
&&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing,
&&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing,
&&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing,
&&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing,
&&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing,
&&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing,
&&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing,
&&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing,
&&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing,
&&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing,
&&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing,
&&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing,
&&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing,
&&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing,
&&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing,
&&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing,
&&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing,
&&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing,
&&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing, &&case_SW1_missing,
&&case_SW1_missing};
#line 142 "test-new/bigtest2.imp"
int SW2_index;
#line 142 "test-new/bigtest2.imp"
int SW2_line;
#line 142 "test-new/bigtest2.imp"
char *SW2_file;
#line 142 "test-new/bigtest2.imp"
static const void *SW2[26] = {&&case_SW2_missing, &&case_SW2_missing, &&case_SW2_missing, &&case_SW2_missing,
&&case_SW2_missing, &&case_SW2_missing, &&case_SW2_missing, &&case_SW2_missing,
&&case_SW2_missing, &&case_SW2_missing, &&case_SW2_missing, &&case_SW2_missing,
&&case_SW2_missing, &&case_SW2_missing, &&case_SW2_missing, &&case_SW2_missing,
&&case_SW2_missing, &&case_SW2_missing, &&case_SW2_missing, &&case_SW2_missing,
&&case_SW2_missing, &&case_SW2_missing, &&case_SW2_missing, &&case_SW2_missing,
&&case_SW2_missing, &&case_SW2_missing};
// 143
// 144 %integer %array ia3, ia4(1:10), ia5(2:11,0:1,0:2)
#line 144 "test-new/bigtest2.imp"
int IA3[10];
#line 144 "test-new/bigtest2.imp"
int IA4[10];
#line 144 "test-new/bigtest2.imp"
int IA5[10][2][3];
// 145
// 146 %integernamearray in3a1(2:11,0:1,0:2)
#line 146 "test-new/bigtest2.imp"
int *IN3A1[10][2][3];
// 147
// 148 i1 = 1
#line 148 "test-new/bigtest2.imp"
I1 = 1;
// 149
// 150 !!!!!!!!!!!!!!!!!!!
// 151
// 152 xi1 = 1
#line 152 "test-new/bigtest2.imp"
XI1 = 1;
// 153 xin1 == xi1
#line 153 "test-new/bigtest2.imp"
XIN1 = (int *)/*?*/ &XI1;
// 154 xin1 = 1
#line 154 "test-new/bigtest2.imp"
*XIN1 = 1;
// 155 xr1 = 3.1
#line 155 "test-new/bigtest2.imp"
XR1 = 3.1;
// 156 xi2 = xi3
#line 156 "test-new/bigtest2.imp"
XI2 = XI3;
// 157 xcr1 = 3.1415
#line 157 "test-new/bigtest2.imp"
XCR1 = 3.1415;
// 158 xra1(5) = xcr1
#line 158 "test-new/bigtest2.imp"
XRA1[5] = XCR1;
// 159 xran1 == xra1
#line 159 "test-new/bigtest2.imp"
XRAN1 = (float *)XRA1;
// 160 xclr1 = 3.1415
#line 160 "test-new/bigtest2.imp"
XCLR1 = 3.1415;
// 161 xlra1(2) = 3.1
#line 161 "test-new/bigtest2.imp"
XLRA1[2] = 3.1;
// 162 xlran1 == xlra1
#line 162 "test-new/bigtest2.imp"
XLRAN1 = (double *)XLRA1;
// 163 xlran1(2) = 3.2
#line 163 "test-new/bigtest2.imp"
[/*BUG*/ 0] = 3.2;
// 164 xina1(9) == xi1
#line 164 "test-new/bigtest2.imp"
XINA1[9] = (int *)/*?*/ &XI1;
// 165 xinan1 == xina1
#line 165 "test-new/bigtest2.imp"
XINAN1 = (int *)XINA1;
// 166
// 167 %integer i
#line 167 "test-new/bigtest2.imp"
int I;
// 168 %real r
#line 168 "test-new/bigtest2.imp"
float R;
// 169 %name fred
#line 169 "test-new/bigtest2.imp"
_imp_name *FRED;
// 170 fred == i
#line 170 "test-new/bigtest2.imp"
FRED = (*)/*?*/ &I;
// 171 fred == r
#line 171 "test-new/bigtest2.imp"
FRED = (*)/*?*/ &R;
// 172
// 173
// 174 %begin
#line 174 "test-new/bigtest2.imp"
{ /*%begin*/
// 175
// 176 %integer i
#line 176 "test-new/bigtest2.imp"
int I;
// 177 %recordformat rf(%record (rf) %name next, %integer i)
#line 177 "test-new/bigtest2.imp"
struct RF {
union {
struct {
#line 177 "test-new/bigtest2.imp"
struct RF *NEXT;
#line 177 "test-new/bigtest2.imp"
int I;
#line 177 "test-new/bigtest2.imp"
};
};
};
// 178
// 179 %record (rf) rec
#line 179 "test-new/bigtest2.imp"
struct RF REC;
// 180 %record (rf) %name recn
#line 180 "test-new/bigtest2.imp"
struct RF *RECN;
// 181 %record (rf) %array ra(0:10)
#line 181 "test-new/bigtest2.imp"
struct RF RA[11];
// 182 %record (rf) %name %array rna(0:10)
#line 182 "test-new/bigtest2.imp"
struct RF *RNA[11];
// 183 %record (rf) %name %array %name rnan
#line 183 "test-new/bigtest2.imp"
struct RF **RNAN;
// 184 %record (rf) %map rm(%integer i); %result == rec; %end
#line 184 "test-new/bigtest2.imp"
struct RF *RM(int I)
#line 184 "test-new/bigtest2.imp"
{
#line 184 "test-new/bigtest2.imp"
return /*?*/ &REC;
#line 184 "test-new/bigtest2.imp"
} /* end of RM */
// ?I unused
// 185 %integer x
#line 185 "test-new/bigtest2.imp"
int X;
// 186 x = rec_i
#line 186 "test-new/bigtest2.imp"
X =