#include <perms.h>

//          Edinburgh IMP77 Compiler - Version 8.4
//
//     1  %externalroutine printword(%string (64) word)

void PRINTWORD(_imp_string64 WORD) {
  //     2     !%string(3)word = "???"  *duplicate*
  //     3     %if word = "+" %or word = "-" %or word = "*" %or word = "/" %C

  if (_imp_strcmp((_imp_string *)/*?*/ &WORD, (_imp_string *)/*?*/ _imp_str_literal_ptr("+")) == 0) goto L_0001;

  if (_imp_strcmp((_imp_string *)/*?*/ &WORD, (_imp_string *)/*?*/ _imp_str_literal_ptr("-")) == 0) goto L_0001;

  if (_imp_strcmp((_imp_string *)/*?*/ &WORD, (_imp_string *)/*?*/ _imp_str_literal_ptr("*")) == 0) goto L_0001;

  if (_imp_strcmp((_imp_string *)/*?*/ &WORD, (_imp_string *)/*?*/ _imp_str_literal_ptr("/")) == 0) goto L_0001;

  if (_imp_strcmp((_imp_string *)/*?*/ &WORD, (_imp_string *)/*?*/ _imp_str_literal_ptr("<")) == 0) goto L_0001;

  if (_imp_strcmp((_imp_string *)/*?*/ &WORD, (_imp_string *)/*?*/ _imp_str_literal_ptr("<=")) == 0) goto L_0001;

  if (_imp_strcmp((_imp_string *)/*?*/ &WORD, (_imp_string *)/*?*/ _imp_str_literal_ptr(">")) == 0) goto L_0001;

  if (_imp_strcmp((_imp_string *)/*?*/ &WORD, (_imp_string *)/*?*/ _imp_str_literal_ptr(">=")) == 0) goto L_0001;

  if (_imp_strcmp((_imp_string *)/*?*/ &WORD, (_imp_string *)/*?*/ _imp_str_literal_ptr("=")) != 0) goto L_0002;

L_0001:;

//     4+      %or word = "<" %or word = "<=" %or word = ">" %or word = ">=" %C
//     5+        %or word = "=" %then %start
//     6        %return

  return;

  //     7     %finish

L_0002:;

//     8  %end

  return;
} /* end of PRINTWORD */

//     9
//    10  %endoffile