#include <perms.h>
// Edinburgh IMP77 Compiler - Version 8.4
//
// 1 %begin
int main(int argc, char **argv) { /*%begin*/
_imp_initialise(argc, argv);
// 2 %switch missing, sw(0:9)
int MISSING_index;
int MISSING_line;
char *MISSING_file;
static const void *MISSING[10] = {&&case_MISSING_missing, &&case_MISSING_1, &&case_MISSING_missing,
&&case_MISSING_missing, &&case_MISSING_missing, &&case_MISSING_missing,
&&case_MISSING_missing, &&case_MISSING_missing, &&case_MISSING_missing,
&&case_MISSING_missing};
int SW_index;
int SW_line;
char *SW_file;
static const void *SW[10] = {&&case_SW_0, &&case_SW_default, &&case_SW_default, &&case_SW_default,
&&case_SW_default, &&case_SW_default, &&case_SW_default, &&case_SW_7,
&&case_SW_default, &&case_SW_default};
// 3
// 4 missing(1):
case_MISSING_1:;
// 5 ->sw(34)
SW_line = __LINE__;
SW_file = __FILE__;
SW_index = 34;
goto case_SW_dispatch;
// 6
// 7 sw(0):
case_SW_0:;
// 8 %stop
_imp_stop(0);
// 9
// 10 sw(*):
case_SW_default:;
// 11 ->missing(2)
MISSING_line = __LINE__;
MISSING_file = __FILE__;
MISSING_index = 2;
goto case_MISSING_dispatch;
// 12
// 13 sw(7):
case_SW_7:;
// 14
// 15 %endofprogram
_imp_stop(0);
return 0;
case_MISSING_dispatch:
if (MISSING_index < 0 || MISSING_index > 9)
_imp_signalf(6, 3, MISSING_index, "->MISSING(%d) out of bounds at %s line %d", MISSING_index, MISSING_file,
MISSING_line);
goto *MISSING[MISSING_index - 0];
case_MISSING_missing:
_imp_signalf(8, 2, MISSING_index, "switch jump to undefined label MISSING(%d): at %s line %d", MISSING_index,
MISSING_file, MISSING_line);
case_SW_dispatch:
if (SW_index < 0 || SW_index > 9)
_imp_signalf(6, 3, SW_index, "->SW(%d) out of bounds at %s line %d", SW_index, SW_file, SW_line);
goto *SW[SW_index - 0];
end_0:;
}