#include <perms.h>

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

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

  //     2  %STRING(30) S,T

  _imp_string30 S;
  _imp_string30 T;

  //     3        S="JUST SOME TEXT"


  /* clang-format off */
_imp_strncpy(/*?*/&S, ({__typeof__(_imp_string255) tmp;/*B*/ tmp = _imp_str_literal("JUST SOME TEXT"); (void *)&tmp;}), /*max:*/30);

  /* clang-format on */

  //     4        %IF S->("JUST") %THEN PRINTSTRING("TEST OK")

  if (!(_imp_resolve(*({
        _imp_string30 tmp = S;
        (_imp_string255 *)&tmp;
      }),
                     0 /*NULL*/, *({
                       _imp_string tmp = _imp_str_literal("JUST");
                       (_imp_string255 *)&tmp;
                     }),
                     0 /*NULL*/)))
    goto L_0001;
  _imp_PRINTSTRING(_imp_str_literal("TEST OK"));
L_0001:;

//     5  %ENDOFPROGRAM

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