#include <perms.h>

                                                                //      1  !***********************************************************************
                                                                //      2  !*
                                                                //      3  !*                    BCPL compiler steering routines
                                                                //      4  !*
                                                                //      5  !*                             Version E1.11
                                                                //      6  !*
                                                                //      7  !*       Copyright R.D. Eager   University of Kent   MCMLXXXIV
                                                                //      8  !*
                                                                //      9  !***********************************************************************
                                                                //     10  !
                                                                //     11  !
                                                                //     12  !***********************************************************************
                                                                //     13  !*
                                                                //     14  !*          External references
                                                                //     15  !*
                                                                //     16  !***********************************************************************
                                                                //     17  !
                                                                //     18  %externalroutine compile(%string(255) s,%string(32) entry, %integername flag)
#line 18 "regression-compile-tmp/bcpls.imp"
void COMPILE( _imp_string /*%string(255)*/ S, _imp_string /*%string(32)*/ ENTRY, int /*name*/*FLAG )
#line 18 "regression-compile-tmp/bcpls.imp"
{
                                                                //     19  %end
#line 19 "regression-compile-tmp/bcpls.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block COMPILE at level 1
                                                                //     20  %externalintegermap comreg(%integer n)
#line 20 "regression-compile-tmp/bcpls.imp"
int /*map*/*COMREG( int N )
#line 20 "regression-compile-tmp/bcpls.imp"
{
                                                                //     21    %owninteger i
#line 21 "regression-compile-tmp/bcpls.imp"
static int I;
                                                                //     22    %result == i
#line 22 "regression-compile-tmp/bcpls.imp"
/* Remove %on %event handler here if present for this block */
return &I;
                                                                //     23  %end
#line 23 "regression-compile-tmp/bcpls.imp"
} // End of block COMREG at level 1
                                                                //     24  %externalstring(255)%function failuremessage(%integer mess)
#line 24 "regression-compile-tmp/bcpls.imp"
_imp_string /*%string(255)*/ FAILUREMESSAGE( int MESS )
#line 24 "regression-compile-tmp/bcpls.imp"
{
                                                                //     25    %result = "FAILURE: ".itos(mess, 0)
#line 25 "regression-compile-tmp/bcpls.imp"
/* Remove %on %event handler here if present for this block */
return _imp_join((_imp_string)_imp_str_literal("FAILURE: "),(_imp_string)_imp_ITOS(MESS, 0));
                                                                //     26  %end
#line 26 "regression-compile-tmp/bcpls.imp"
} // End of block FAILUREMESSAGE at level 1
                                                                //     27  %externalintegerfunction return code
#line 27 "regression-compile-tmp/bcpls.imp"
int RETURNCODE( void )
#line 27 "regression-compile-tmp/bcpls.imp"
{
                                                                //     28    %result = 0
#line 28 "regression-compile-tmp/bcpls.imp"
/* Remove %on %event handler here if present for this block */
return 0;
                                                                //     29  %end
#line 29 "regression-compile-tmp/bcpls.imp"
} // End of block RETURNCODE at level 1
                                                                //     30  %externalroutine setfname(%string(40) file)
#line 30 "regression-compile-tmp/bcpls.imp"
void SETFNAME( _imp_string /*%string(40)*/ FILE )
#line 30 "regression-compile-tmp/bcpls.imp"
{
                                                                //     31  %end
#line 31 "regression-compile-tmp/bcpls.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SETFNAME at level 1
                                                                //     32  !
                                                                //     33  %externalintegerfunction icl9cezbcplx(%string(255) parms)
#line 33 "regression-compile-tmp/bcpls.imp"
int ICL9CEZBCPLX( _imp_string /*%string(255)*/ PARMS )
#line 33 "regression-compile-tmp/bcpls.imp"
{
                                                                //     34    %result = 0
#line 34 "regression-compile-tmp/bcpls.imp"
/* Remove %on %event handler here if present for this block */
return 0;
                                                                //     35  %end
#line 35 "regression-compile-tmp/bcpls.imp"
} // End of block ICL9CEZBCPLX at level 1
                                                                //     36  !
                                                                //     37  !
                                                                //     38  !***********************************************************************
                                                                //     39  !*
                                                                //     40  !*          S H U F F L E
                                                                //     41  !*
                                                                //     42  !*    This routine:
                                                                //     43  !*      a) Moves any keyword parameters out of the first four parameter
                                                                //     44  !*         positions
                                                                //     45  !*      b) Puts the first four parameters into CPARMS (for COMPILE)
                                                                //     46  !*      c) Puts the rest of the parameters into S (for passing over
                                                                //     47  !*         via COMREG(9))
                                                                //     48  !*
                                                                //     49  !***********************************************************************
                                                                //     50  !
                                                                //     51  %routine shuffle(%string(*)%name s,cparms)
#line 51 "regression-compile-tmp/bcpls.imp"
void SHUFFLE( _imp_string /*%string(255)*/ /*name*/*S, _imp_string /*%string(255)*/ /*name*/*CPARMS )
#line 51 "regression-compile-tmp/bcpls.imp"
{
                                                                //     52  %integer i
#line 52 "regression-compile-tmp/bcpls.imp"
int I;
                                                                //     53  %string(255) work1,work2
#line 53 "regression-compile-tmp/bcpls.imp"
_imp_string /*%string(255)*/ WORK1;
#line 53 "regression-compile-tmp/bcpls.imp"
_imp_string /*%string(255)*/ WORK2;
                                                                //     54  %string(255)%array p(1:4)
#line 54 "regression-compile-tmp/bcpls.imp"
_imp_string /*%string(255)*/ P[4];
                                                                //     55  !
                                                                //     56  %if s = "?" %then %start;               ! Handle this specially
#line 56 "regression-compile-tmp/bcpls.imp"
if ((_imp_strcmp(*S, _imp_str_literal("?")) != 0)) goto L_0002;
                                                                //     57     cparms = ".IN,.NULL,.NULL,.NULL";    ! Never used really
#line 57 "regression-compile-tmp/bcpls.imp"
*CPARMS = _imp_str_literal(".IN,.NULL,.NULL,.NULL");
                                                                //     58  %else
#line 58 "regression-compile-tmp/bcpls.imp"
goto L_0003;
#line 58 "regression-compile-tmp/bcpls.imp"
L_0002:;
                                                                //     59     %for i = 1,1,4 %cycle
#line 59 "regression-compile-tmp/bcpls.imp"
I = 0;
if ((((4)-(1)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle I = 1, 1, 4");
L_0004:;
if (I == 4) goto L_0005;
I += 1;
                                                                //     60        p(i) = "";                        ! Initialise
#line 60 "regression-compile-tmp/bcpls.imp"
P[(((int)(I)) - (1))] = _imp_str_literal("");
                                                                //     61     %repeat
#line 61 "regression-compile-tmp/bcpls.imp"
goto L_0004;
#line 61 "regression-compile-tmp/bcpls.imp"
L_0005:;
                                                                //     62     !
                                                                //     63     s <- s.","
#line 63 "regression-compile-tmp/bcpls.imp"
*S = _imp_join((_imp_string)*S,(_imp_string)_imp_str_literal(","));
                                                                //     64     %for i = 1,1,4 %cycle
#line 64 "regression-compile-tmp/bcpls.imp"
I = 0;
if ((((4)-(1)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle I = 1, 1, 4");
L_0007:;
if (I == 4) goto L_0008;
I += 1;
                                                                //     65        %exit %unless s -> p(i).(",").s
#line 65 "regression-compile-tmp/bcpls.imp"
if (_imp_resolve(*S, &P[(((int)(I)) - (1))], _imp_str_literal(","), S)) goto L_000a;
#line 65 "regression-compile-tmp/bcpls.imp"
goto L_0008;
#line 65 "regression-compile-tmp/bcpls.imp"
L_000a:;
                                                                //     66     %repeat
#line 66 "regression-compile-tmp/bcpls.imp"
goto L_0007;
#line 66 "regression-compile-tmp/bcpls.imp"
L_0008:;
                                                                //     67     !
                                                                //     68     %cycle i = 1,1,4
#line 68 "regression-compile-tmp/bcpls.imp"
I = 0;
if ((((4)-(1)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle I = 1, 1, 4");
L_000b:;
if (I == 4) goto L_000c;
I += 1;
                                                                //     69        %if p(i) -> work1.("=").work2 %then %start
#line 69 "regression-compile-tmp/bcpls.imp"
if (!(_imp_resolve(P[(((int)(I)) - (1))], &WORK1, _imp_str_literal("="), &WORK2))) goto L_000e;
                                                                //     70           s = p(i).",".s
#line 70 "regression-compile-tmp/bcpls.imp"
*S = _imp_join((_imp_string)_imp_join((_imp_string)P[(((int)(I)) - (1))],(_imp_string)_imp_str_literal(",")),(_imp_string)*S);
                                                                //     71           p(i) = ""
#line 71 "regression-compile-tmp/bcpls.imp"
P[(((int)(I)) - (1))] = _imp_str_literal("");
                                                                //     72        %finish
#line 72 "regression-compile-tmp/bcpls.imp"
L_000e:;
                                                                //     73     %repeat
#line 73 "regression-compile-tmp/bcpls.imp"
goto L_000b;
#line 73 "regression-compile-tmp/bcpls.imp"
L_000c:;
                                                                //     74     !
                                                                //     75     cparms = p(1).",".p(2).",".p(3).",".p(4)
#line 75 "regression-compile-tmp/bcpls.imp"
*CPARMS = _imp_join((_imp_string)_imp_join((_imp_string)_imp_join((_imp_string)_imp_join((_imp_string)_imp_join((_imp_string)_imp_join((_imp_string)P[0],(_imp_string)_imp_str_literal(",")),(_imp_string)P[1]),(_imp_string)_imp_str_literal(",")),(_imp_string)P[2]),(_imp_string)_imp_str_literal(",")),(_imp_string)P[3]);
                                                                //     76  %finish
#line 76 "regression-compile-tmp/bcpls.imp"
L_0003:;
                                                                //     77  %end;   ! of shuffle
#line 77 "regression-compile-tmp/bcpls.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SHUFFLE at level 1
                                                                //     78  !
                                                                //     79  !
                                                                //     80  !***********************************************************************
                                                                //     81  !*
                                                                //     82  !*          B C P L
                                                                //     83  !*
                                                                //     84  !***********************************************************************
                                                                //     85  !
                                                                //     86  %externalroutine bcpl(%string(255) parms)
#line 86 "regression-compile-tmp/bcpls.imp"
void BCPL( _imp_string /*%string(255)*/ PARMS )
#line 86 "regression-compile-tmp/bcpls.imp"
{
                                                                //     87  %integer flag
#line 87 "regression-compile-tmp/bcpls.imp"
int FLAG;
                                                                //     88  %string(255) cparms,auxparms
#line 88 "regression-compile-tmp/bcpls.imp"
_imp_string /*%string(255)*/ CPARMS;
#line 88 "regression-compile-tmp/bcpls.imp"
_imp_string /*%string(255)*/ AUXPARMS;
                                                                //     89  !
                                                                //     90  setfname("")
#line 90 "regression-compile-tmp/bcpls.imp"
SETFNAME(_imp_str_literal(""));
                                                                //     91  shuffle(parms,cparms)
#line 91 "regression-compile-tmp/bcpls.imp"
SHUFFLE(&PARMS, &CPARMS);
                                                                //     92  auxparms = parms;                       ! Make copy, to ensure string is word-aligned
#line 92 "regression-compile-tmp/bcpls.imp"
AUXPARMS = PARMS;
                                                                //     93  comreg(9) = addr(auxparms);             ! Picked up by compiler
#line 93 "regression-compile-tmp/bcpls.imp"
*COMREG(9) = _imp_ADDR(&AUXPARMS);
                                                                //     94  !
                                                                //     95  compile(cparms,"ICL9CEZBCPL1",flag)
#line 95 "regression-compile-tmp/bcpls.imp"
COMPILE(CPARMS, _imp_str_literal("ICL9CEZBCPL1"), &FLAG);
                                                                //     96  flag = return code
#line 96 "regression-compile-tmp/bcpls.imp"
FLAG = RETURNCODE();
                                                                //     97  flag = 0 %if flag = -1;                 ! INT:A
#line 97 "regression-compile-tmp/bcpls.imp"
if (((FLAG) != ((-1)))) goto L_000f;
#line 97 "regression-compile-tmp/bcpls.imp"
FLAG = 0;
#line 97 "regression-compile-tmp/bcpls.imp"
L_000f:;
                                                                //     98  %if 0 # flag < 1000 %then %start 
#line 98 "regression-compile-tmp/bcpls.imp"
if ((((0) == (FLAG))) || (((FLAG) >= (1000)))) goto L_0010;
                                                                //     99     newline
#line 99 "regression-compile-tmp/bcpls.imp"
_imp_NEWLINE();
                                                                //    100     printstring("BCPL fails -".failuremessage(flag))
#line 100 "regression-compile-tmp/bcpls.imp"
_imp_PRINTSTRING(_imp_join((_imp_string)_imp_str_literal("BCPL fails -"),(_imp_string)FAILUREMESSAGE(FLAG)));
                                                                //    101  %finish
#line 101 "regression-compile-tmp/bcpls.imp"
L_0010:;
                                                                //    102  %end;   ! of bcpl
#line 102 "regression-compile-tmp/bcpls.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block BCPL at level 1
                                                                //    103  !
                                                                //    104  !
                                                                //    105  !***********************************************************************
                                                                //    106  !*
                                                                //    107  !*          B C P L C G E N
                                                                //    108  !*
                                                                //    109  !***********************************************************************
                                                                //    110  !
                                                                //    111  %externalroutine bcplcgen(%string(255) parms)
#line 111 "regression-compile-tmp/bcpls.imp"
void BCPLCGEN( _imp_string /*%string(255)*/ PARMS )
#line 111 "regression-compile-tmp/bcpls.imp"
{
                                                                //    112  %integer flag
#line 112 "regression-compile-tmp/bcpls.imp"
int FLAG;
                                                                //    113  %string(255) cparms,auxparms
#line 113 "regression-compile-tmp/bcpls.imp"
_imp_string /*%string(255)*/ CPARMS;
#line 113 "regression-compile-tmp/bcpls.imp"
_imp_string /*%string(255)*/ AUXPARMS;
                                                                //    114  !
                                                                //    115  setfname("")
#line 115 "regression-compile-tmp/bcpls.imp"
SETFNAME(_imp_str_literal(""));
                                                                //    116  shuffle(parms,cparms)
#line 116 "regression-compile-tmp/bcpls.imp"
SHUFFLE(&PARMS, &CPARMS);
                                                                //    117  auxparms = parms;                       ! Make copy, to ensure string is word-aligned
#line 117 "regression-compile-tmp/bcpls.imp"
AUXPARMS = PARMS;
                                                                //    118  comreg(9) = addr(auxparms);             ! Picked up by codegenerator
#line 118 "regression-compile-tmp/bcpls.imp"
*COMREG(9) = _imp_ADDR(&AUXPARMS);
                                                                //    119  !
                                                                //    120  compile(cparms,"ICL9CEZBCPL2",flag)
#line 120 "regression-compile-tmp/bcpls.imp"
COMPILE(CPARMS, _imp_str_literal("ICL9CEZBCPL2"), &FLAG);
                                                                //    121  flag = return code
#line 121 "regression-compile-tmp/bcpls.imp"
FLAG = RETURNCODE();
                                                                //    122  flag = 0 %if flag = -1;                 ! INT:A
#line 122 "regression-compile-tmp/bcpls.imp"
if (((FLAG) != ((-1)))) goto L_0011;
#line 122 "regression-compile-tmp/bcpls.imp"
FLAG = 0;
#line 122 "regression-compile-tmp/bcpls.imp"
L_0011:;
                                                                //    123  %if 0 # flag < 1000 %then %start
#line 123 "regression-compile-tmp/bcpls.imp"
if ((((0) == (FLAG))) || (((FLAG) >= (1000)))) goto L_0012;
                                                                //    124     newline
#line 124 "regression-compile-tmp/bcpls.imp"
_imp_NEWLINE();
                                                                //    125     printstring("BCPLCGEN fails -".failuremessage(flag))
#line 125 "regression-compile-tmp/bcpls.imp"
_imp_PRINTSTRING(_imp_join((_imp_string)_imp_str_literal("BCPLCGEN fails -"),(_imp_string)FAILUREMESSAGE(FLAG)));
                                                                //    126  %finish
#line 126 "regression-compile-tmp/bcpls.imp"
L_0012:;
                                                                //    127  %end;   ! of bcplcgen
#line 127 "regression-compile-tmp/bcpls.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block BCPLCGEN at level 1
                                                                //    128  !
                                                                //    129  !
                                                                //    130  !***********************************************************************
                                                                //    131  !*
                                                                //    132  !*          B C P L V
                                                                //    133  !*
                                                                //    134  !***********************************************************************
                                                                //    135  !
                                                                //    136  %externalroutine bcplv(%string(255) parms)
#line 136 "regression-compile-tmp/bcpls.imp"
void BCPLV( _imp_string /*%string(255)*/ PARMS )
#line 136 "regression-compile-tmp/bcpls.imp"
{
                                                                //    137  %integer flag
#line 137 "regression-compile-tmp/bcpls.imp"
int FLAG;
                                                                //    138  %string(255) cparms,auxparms
#line 138 "regression-compile-tmp/bcpls.imp"
_imp_string /*%string(255)*/ CPARMS;
#line 138 "regression-compile-tmp/bcpls.imp"
_imp_string /*%string(255)*/ AUXPARMS;
                                                                //    139  !
                                                                //    140  setfname("")
#line 140 "regression-compile-tmp/bcpls.imp"
SETFNAME(_imp_str_literal(""));
                                                                //    141  shuffle(parms,cparms)
#line 141 "regression-compile-tmp/bcpls.imp"
SHUFFLE(&PARMS, &CPARMS);
                                                                //    142  auxparms = parms;                       ! Make copy, to ensure string is word-aligned
#line 142 "regression-compile-tmp/bcpls.imp"
AUXPARMS = PARMS;
                                                                //    143  comreg(9) = addr(auxparms);             ! Picked up by codegenerator
#line 143 "regression-compile-tmp/bcpls.imp"
*COMREG(9) = _imp_ADDR(&AUXPARMS);
                                                                //    144  !
                                                                //    145  compile(cparms,"ICL9CEZBCPLV",flag)
#line 145 "regression-compile-tmp/bcpls.imp"
COMPILE(CPARMS, _imp_str_literal("ICL9CEZBCPLV"), &FLAG);
                                                                //    146  flag = return code
#line 146 "regression-compile-tmp/bcpls.imp"
FLAG = RETURNCODE();
                                                                //    147  flag = 0 %if flag = -1;                 ! INT:A
#line 147 "regression-compile-tmp/bcpls.imp"
if (((FLAG) != ((-1)))) goto L_0013;
#line 147 "regression-compile-tmp/bcpls.imp"
FLAG = 0;
#line 147 "regression-compile-tmp/bcpls.imp"
L_0013:;
                                                                //    148  %if 0 # flag < 1000 %then %start
#line 148 "regression-compile-tmp/bcpls.imp"
if ((((0) == (FLAG))) || (((FLAG) >= (1000)))) goto L_0014;
                                                                //    149     newline
#line 149 "regression-compile-tmp/bcpls.imp"
_imp_NEWLINE();
                                                                //    150     printstring("BCPLV fails -".failuremessage(flag))
#line 150 "regression-compile-tmp/bcpls.imp"
_imp_PRINTSTRING(_imp_join((_imp_string)_imp_str_literal("BCPLV fails -"),(_imp_string)FAILUREMESSAGE(FLAG)));
                                                                //    151  %finish
#line 151 "regression-compile-tmp/bcpls.imp"
L_0014:;
                                                                //    152  %end;   ! of bcplv
#line 152 "regression-compile-tmp/bcpls.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block BCPLV at level 1
                                                                //    153  !
                                                                //    154  !
                                                                //    155  !***********************************************************************
                                                                //    156  !*
                                                                //    157  !*          B C P L W
                                                                //    158  !*
                                                                //    159  !***********************************************************************
                                                                //    160  !
                                                                //    161  %externalroutine bcplw(%string(255) parms)
#line 161 "regression-compile-tmp/bcpls.imp"
void BCPLW( _imp_string /*%string(255)*/ PARMS )
#line 161 "regression-compile-tmp/bcpls.imp"
{
                                                                //    162  %integer flag
#line 162 "regression-compile-tmp/bcpls.imp"
int FLAG;
                                                                //    163  %string(255) cparms,auxparms
#line 163 "regression-compile-tmp/bcpls.imp"
_imp_string /*%string(255)*/ CPARMS;
#line 163 "regression-compile-tmp/bcpls.imp"
_imp_string /*%string(255)*/ AUXPARMS;
                                                                //    164  !
                                                                //    165  setfname("")
#line 165 "regression-compile-tmp/bcpls.imp"
SETFNAME(_imp_str_literal(""));
                                                                //    166  shuffle(parms,cparms)
#line 166 "regression-compile-tmp/bcpls.imp"
SHUFFLE(&PARMS, &CPARMS);
                                                                //    167  auxparms = parms;                       ! Make copy, to ensure string is word-aligned
#line 167 "regression-compile-tmp/bcpls.imp"
AUXPARMS = PARMS;
                                                                //    168  comreg(9) = addr(auxparms);             ! Picked up by codegenerator
#line 168 "regression-compile-tmp/bcpls.imp"
*COMREG(9) = _imp_ADDR(&AUXPARMS);
                                                                //    169  !
                                                                //    170  compile(cparms,"ICL9CEZBCPLW",flag)
#line 170 "regression-compile-tmp/bcpls.imp"
COMPILE(CPARMS, _imp_str_literal("ICL9CEZBCPLW"), &FLAG);
                                                                //    171  flag = return code
#line 171 "regression-compile-tmp/bcpls.imp"
FLAG = RETURNCODE();
                                                                //    172  flag = 0 %if flag = -1;                 ! INT:A
#line 172 "regression-compile-tmp/bcpls.imp"
if (((FLAG) != ((-1)))) goto L_0015;
#line 172 "regression-compile-tmp/bcpls.imp"
FLAG = 0;
#line 172 "regression-compile-tmp/bcpls.imp"
L_0015:;
                                                                //    173  %if 0 # flag < 1000 %then %start
#line 173 "regression-compile-tmp/bcpls.imp"
if ((((0) == (FLAG))) || (((FLAG) >= (1000)))) goto L_0016;
                                                                //    174     newline
#line 174 "regression-compile-tmp/bcpls.imp"
_imp_NEWLINE();
                                                                //    175     printstring("BCPLW fails -".failuremessage(flag))
#line 175 "regression-compile-tmp/bcpls.imp"
_imp_PRINTSTRING(_imp_join((_imp_string)_imp_str_literal("BCPLW fails -"),(_imp_string)FAILUREMESSAGE(FLAG)));
                                                                //    176  %finish
#line 176 "regression-compile-tmp/bcpls.imp"
L_0016:;
                                                                //    177  %end;   ! of bcplw
#line 177 "regression-compile-tmp/bcpls.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block BCPLW at level 1
                                                                //    178  !
                                                                //    179  !
                                                                //    180  !***********************************************************************
                                                                //    181  !*
                                                                //    182  !*          B C P L Z
                                                                //    183  !*
                                                                //    184  !***********************************************************************
                                                                //    185  !
                                                                //    186  %externalroutine bcplz(%string(255) parms)
#line 186 "regression-compile-tmp/bcpls.imp"
void BCPLZ( _imp_string /*%string(255)*/ PARMS )
#line 186 "regression-compile-tmp/bcpls.imp"
{
                                                                //    187  %integer flag
#line 187 "regression-compile-tmp/bcpls.imp"
int FLAG;
                                                                //    188  %string(255) cparms,auxparms
#line 188 "regression-compile-tmp/bcpls.imp"
_imp_string /*%string(255)*/ CPARMS;
#line 188 "regression-compile-tmp/bcpls.imp"
_imp_string /*%string(255)*/ AUXPARMS;
                                                                //    189  !
                                                                //    190  setfname("")
#line 190 "regression-compile-tmp/bcpls.imp"
SETFNAME(_imp_str_literal(""));
                                                                //    191  shuffle(parms,cparms)
#line 191 "regression-compile-tmp/bcpls.imp"
SHUFFLE(&PARMS, &CPARMS);
                                                                //    192  auxparms = parms;                       ! Make copy, to ensure string is word-aligned
#line 192 "regression-compile-tmp/bcpls.imp"
AUXPARMS = PARMS;
                                                                //    193  comreg(9) = addr(auxparms);             ! Picked up by codegenerator
#line 193 "regression-compile-tmp/bcpls.imp"
*COMREG(9) = _imp_ADDR(&AUXPARMS);
                                                                //    194  !
                                                                //    195  compile(cparms,"ICL9CEZBCPLZ",flag)
#line 195 "regression-compile-tmp/bcpls.imp"
COMPILE(CPARMS, _imp_str_literal("ICL9CEZBCPLZ"), &FLAG);
                                                                //    196  flag = return code
#line 196 "regression-compile-tmp/bcpls.imp"
FLAG = RETURNCODE();
                                                                //    197  flag = 0 %if flag = -1;                 ! INT:A
#line 197 "regression-compile-tmp/bcpls.imp"
if (((FLAG) != ((-1)))) goto L_0017;
#line 197 "regression-compile-tmp/bcpls.imp"
FLAG = 0;
#line 197 "regression-compile-tmp/bcpls.imp"
L_0017:;
                                                                //    198  %if 0 # flag < 1000 %then %start
#line 198 "regression-compile-tmp/bcpls.imp"
if ((((0) == (FLAG))) || (((FLAG) >= (1000)))) goto L_0018;
                                                                //    199     newline
#line 199 "regression-compile-tmp/bcpls.imp"
_imp_NEWLINE();
                                                                //    200     printstring("BCPLZ fails -".failuremessage(flag))
#line 200 "regression-compile-tmp/bcpls.imp"
_imp_PRINTSTRING(_imp_join((_imp_string)_imp_str_literal("BCPLZ fails -"),(_imp_string)FAILUREMESSAGE(FLAG)));
                                                                //    201  %finish
#line 201 "regression-compile-tmp/bcpls.imp"
L_0018:;
                                                                //    202  %end;   ! of bcplz
#line 202 "regression-compile-tmp/bcpls.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block BCPLZ at level 1
                                                                //    203  !
                                                                //    204  !
                                                                //    205  !***********************************************************************
                                                                //    206  !*
                                                                //    207  !*          B C P L R
                                                                //    208  !*
                                                                //    209  !***********************************************************************
                                                                //    210  !
                                                                //    211  %externalroutine bcplr(%string(255) parms)
#line 211 "regression-compile-tmp/bcpls.imp"
void BCPLR( _imp_string /*%string(255)*/ PARMS )
#line 211 "regression-compile-tmp/bcpls.imp"
{
                                                                //    212  %integer flag
#line 212 "regression-compile-tmp/bcpls.imp"
int FLAG;
                                                                //    213  %string(255) cparms,auxparms
#line 213 "regression-compile-tmp/bcpls.imp"
_imp_string /*%string(255)*/ CPARMS;
#line 213 "regression-compile-tmp/bcpls.imp"
_imp_string /*%string(255)*/ AUXPARMS;
                                                                //    214  !
                                                                //    215  setfname("")
#line 215 "regression-compile-tmp/bcpls.imp"
SETFNAME(_imp_str_literal(""));
                                                                //    216  shuffle(parms,cparms)
#line 216 "regression-compile-tmp/bcpls.imp"
SHUFFLE(&PARMS, &CPARMS);
                                                                //    217  auxparms = parms;                       ! Make copy, to ensure string is word-aligned
#line 217 "regression-compile-tmp/bcpls.imp"
AUXPARMS = PARMS;
                                                                //    218  comreg(9) = addr(auxparms);             ! Picked up by codegenerator
#line 218 "regression-compile-tmp/bcpls.imp"
*COMREG(9) = _imp_ADDR(&AUXPARMS);
                                                                //    219  !
                                                                //    220  compile(cparms,"ICL9CEZBCPLR",flag)
#line 220 "regression-compile-tmp/bcpls.imp"
COMPILE(CPARMS, _imp_str_literal("ICL9CEZBCPLR"), &FLAG);
                                                                //    221  flag = return code
#line 221 "regression-compile-tmp/bcpls.imp"
FLAG = RETURNCODE();
                                                                //    222  flag = 0 %if flag = -1;                 ! INT:A
#line 222 "regression-compile-tmp/bcpls.imp"
if (((FLAG) != ((-1)))) goto L_0019;
#line 222 "regression-compile-tmp/bcpls.imp"
FLAG = 0;
#line 222 "regression-compile-tmp/bcpls.imp"
L_0019:;
                                                                //    223  %if 0 # flag < 1000 %then %start
#line 223 "regression-compile-tmp/bcpls.imp"
if ((((0) == (FLAG))) || (((FLAG) >= (1000)))) goto L_001a;
                                                                //    224     newline
#line 224 "regression-compile-tmp/bcpls.imp"
_imp_NEWLINE();
                                                                //    225     printstring("BCPLR fails -".failuremessage(flag))
#line 225 "regression-compile-tmp/bcpls.imp"
_imp_PRINTSTRING(_imp_join((_imp_string)_imp_str_literal("BCPLR fails -"),(_imp_string)FAILUREMESSAGE(FLAG)));
                                                                //    226  %finish
#line 226 "regression-compile-tmp/bcpls.imp"
L_001a:;
                                                                //    227  %end;   ! of bcplr
#line 227 "regression-compile-tmp/bcpls.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block BCPLR at level 1
                                                                //    228  !
                                                                //    229  !
                                                                //    230  !***********************************************************************
                                                                //    231  !*
                                                                //    232  !*          B C P L Q
                                                                //    233  !*
                                                                //    234  !***********************************************************************
                                                                //    235  !
                                                                //    236  %externalroutine bcplq(%string(255) parms)
#line 236 "regression-compile-tmp/bcpls.imp"
void BCPLQ( _imp_string /*%string(255)*/ PARMS )
#line 236 "regression-compile-tmp/bcpls.imp"
{
                                                                //    237  %integer flag
#line 237 "regression-compile-tmp/bcpls.imp"
int FLAG;
                                                                //    238  %string(255) cparms,auxparms
#line 238 "regression-compile-tmp/bcpls.imp"
_imp_string /*%string(255)*/ CPARMS;
#line 238 "regression-compile-tmp/bcpls.imp"
_imp_string /*%string(255)*/ AUXPARMS;
                                                                //    239  !
                                                                //    240  setfname("")
#line 240 "regression-compile-tmp/bcpls.imp"
SETFNAME(_imp_str_literal(""));
                                                                //    241  shuffle(parms,cparms)
#line 241 "regression-compile-tmp/bcpls.imp"
SHUFFLE(&PARMS, &CPARMS);
                                                                //    242  auxparms = parms;                       ! Make copy, to ensure string is word-aligned
#line 242 "regression-compile-tmp/bcpls.imp"
AUXPARMS = PARMS;
                                                                //    243  comreg(9) = addr(auxparms);             ! Picked up by codegenerator
#line 243 "regression-compile-tmp/bcpls.imp"
*COMREG(9) = _imp_ADDR(&AUXPARMS);
                                                                //    244  !
                                                                //    245  compile(cparms,"ICL9CEZBCPLQ",flag)
#line 245 "regression-compile-tmp/bcpls.imp"
COMPILE(CPARMS, _imp_str_literal("ICL9CEZBCPLQ"), &FLAG);
                                                                //    246  flag = return code
#line 246 "regression-compile-tmp/bcpls.imp"
FLAG = RETURNCODE();
                                                                //    247  flag = 0 %if flag = -1;                 ! INT:A
#line 247 "regression-compile-tmp/bcpls.imp"
if (((FLAG) != ((-1)))) goto L_001b;
#line 247 "regression-compile-tmp/bcpls.imp"
FLAG = 0;
#line 247 "regression-compile-tmp/bcpls.imp"
L_001b:;
                                                                //    248  %if 0 # flag < 1000 %then %start
#line 248 "regression-compile-tmp/bcpls.imp"
if ((((0) == (FLAG))) || (((FLAG) >= (1000)))) goto L_001c;
                                                                //    249     newline
#line 249 "regression-compile-tmp/bcpls.imp"
_imp_NEWLINE();
                                                                //    250     printstring("BCPLQ fails -".failuremessage(flag))
#line 250 "regression-compile-tmp/bcpls.imp"
_imp_PRINTSTRING(_imp_join((_imp_string)_imp_str_literal("BCPLQ fails -"),(_imp_string)FAILUREMESSAGE(FLAG)));
                                                                //    251  %finish
#line 251 "regression-compile-tmp/bcpls.imp"
L_001c:;
                                                                //    252  %end;   ! of bcplq
#line 252 "regression-compile-tmp/bcpls.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block BCPLQ at level 1
                                                                //    253  !
                                                                //    254  !
                                                                //    255  !***********************************************************************
                                                                //    256  !*
                                                                //    257  !*          B C P L X R E F
                                                                //    258  !*
                                                                //    259  !***********************************************************************
                                                                //    260  !
                                                                //    261  %externalroutine bcplxref(%string(255) parms)
#line 261 "regression-compile-tmp/bcpls.imp"
void BCPLXREF( _imp_string /*%string(255)*/ PARMS )
#line 261 "regression-compile-tmp/bcpls.imp"
{
                                                                //    262  %integer flag
#line 262 "regression-compile-tmp/bcpls.imp"
int FLAG;
                                                                //    263  !
                                                                //    264  setfname("")
#line 264 "regression-compile-tmp/bcpls.imp"
SETFNAME(_imp_str_literal(""));
                                                                //    265  flag = icl9cezbcplx(parms)
#line 265 "regression-compile-tmp/bcpls.imp"
FLAG = ICL9CEZBCPLX(PARMS);
                                                                //    266  flag = 0 %if flag = -1;                 ! INT:A
#line 266 "regression-compile-tmp/bcpls.imp"
if (((FLAG) != ((-1)))) goto L_001d;
#line 266 "regression-compile-tmp/bcpls.imp"
FLAG = 0;
#line 266 "regression-compile-tmp/bcpls.imp"
L_001d:;
                                                                //    267  %if 0 # flag < 1000 %then %start
#line 267 "regression-compile-tmp/bcpls.imp"
if ((((0) == (FLAG))) || (((FLAG) >= (1000)))) goto L_001e;
                                                                //    268     newline
#line 268 "regression-compile-tmp/bcpls.imp"
_imp_NEWLINE();
                                                                //    269     printstring("BCPLXREF fails -".failuremessage(flag))
#line 269 "regression-compile-tmp/bcpls.imp"
_imp_PRINTSTRING(_imp_join((_imp_string)_imp_str_literal("BCPLXREF fails -"),(_imp_string)FAILUREMESSAGE(FLAG)));
                                                                //    270  %finish
#line 270 "regression-compile-tmp/bcpls.imp"
L_001e:;
                                                                //    271  %end;   ! of bcplxref
#line 271 "regression-compile-tmp/bcpls.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block BCPLXREF at level 1
                                                                //    272  
                                                                //    273  %begin
#line 273 "regression-compile-tmp/bcpls.imp"
int main(int argc, char **argv) {
  _imp_initialise(argc, argv);
                                                                //    274    bcpl("")
#line 274 "regression-compile-tmp/bcpls.imp"
BCPL(_imp_str_literal(""));
                                                                //    275  %end
#line 275 "regression-compile-tmp/bcpls.imp"
/* Remove %on %event handler here if present for this block */
return 0;
} // End of block _imp_main at level 1
                                                                //    276  
                                                                //    277  %endoffile
#line 277 "regression-compile-tmp/bcpls.imp"
// End of file
