#include <perms.h>
// Edinburgh IMP77 Compiler - Version 8.4
//
// 1 %begin
int main(int argc, char **argv) { /*%begin*/
_imp_initialise(argc, argv);
// 2 %switch jim(0:3)
int JIM_index;
int JIM_line;
char *JIM_file;
static const void *JIM[4] = {&&case_JIM_missing, &&case_JIM_missing, &&case_JIM_2, &&case_JIM_missing};
// 3
// 4 jim(2):
case_JIM_2:;
// 5 -> fred
goto U_1000;
// 6
// 7 fred:
U_1000:;
// 8 ->jim(2)
JIM_line = __LINE__;
JIM_file = __FILE__;
JIM_index = 2;
goto case_JIM_dispatch;
// 9
// 10 eof:
U_1001:;
// 11 %endofprogram
_imp_stop(0);
return 0;
case_JIM_dispatch:
if (JIM_index < 0 || JIM_index > 3)
_imp_signalf(6, 3, JIM_index, "->JIM(%d) out of bounds at %s line %d", JIM_index, JIM_file, JIM_line);
goto *JIM[JIM_index - 0];
case_JIM_missing:
_imp_signalf(8, 2, JIM_index, "switch jump to undefined label JIM(%d): at %s line %d", JIM_index, JIM_file, JIM_line);
end_0:;
}