#include <perms.h>
// Edinburgh IMP77 Compiler - Version 8.4
//
// 1 %begin
int main(int argc, char **argv) { /*%begin*/
_imp_initialise(argc, argv);
// 2
// 3 %ROUTINE SKIP SC(%INTEGER REVERSED)
void SKIPSC(int REVERSED) {
// 4 !***********************************************************************
// 5 !* REVERSED=1 FOR RECURSIVE CALL IN %NOT(SC) *
// 6 !* SKIPS OVER A SIMPLE CONDITION. P ON ALT OF<SC> *
// 7 !***********************************************************************
// 8 %SWITCH SCALT(1:3)
int SCALT_index;
int SCALT_line;
char *SCALT_file;
static const void *SCALT[3] = {&&case_SCALT_missing, &&case_SCALT_missing, &&case_SCALT_missing};
// 9 %INTEGER ALT
int ALT;
// 10 %END
return;
case_SCALT_dispatch:
if (SCALT_index < 1 || SCALT_index > 3)
_imp_signalf(6, 3, SCALT_index, "->SCALT(%d) out of bounds at %s line %d", SCALT_index, SCALT_file, SCALT_line);
goto *SCALT[SCALT_index - 1];
case_SCALT_missing:
_imp_signalf(8, 2, SCALT_index, "switch jump to undefined label SCALT(%d): at %s line %d", SCALT_index, SCALT_file,
SCALT_line);
} /* end of SKIPSC */
// ?ALT unused
// ?SCALT unused
// ?REVERSED unused
// 11
// 12 %endofprogram
_imp_stop(0);
return 0;
end_0:;
}