#include <perms.h>

//          Edinburgh IMP77 Compiler - Version 8.4
//
//     1  %BEGIN

int main(int argc, char **argv) { /*%begin*/
  _imp_initialise(argc, argv);

  //     2  %OWNBYTEINTEGER CHAR=NL

  static unsigned char CHAR = 10;

  //     3  %OWNBYTEINTEGERARRAY XCHAR(1:10)=NL(*)

  static unsigned char XCHAR[10] = {[0 ... 9] = 10};

  //     4        %if Char=10 %and xchar(5)=10 %then printstring("Test OK") %else%c

  if (CHAR != 10) goto L_0001;
  if (XCHAR[4] != 10) goto L_0001;
  _imp_PRINTSTRING(_imp_str_literal("Test OK"));
  goto L_0002;
L_0001:;
  _imp_PRINTSTRING(_imp_str_literal("FAIL"));
L_0002:;

//     5+          printstring("FAIL")
//     6        NEWLINE

  _imp_NEWLINE();

  //     7  %ENDOFPROGRAM

  _imp_stop(0);
  return 0;
end_0:;
}