#include <perms.h>

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

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

  //     2    %integer i

  int I;

  //     3
  //     4    %routine paramless routine

  void PARAMLESSROUTINE(void) {
    //     5    %end

    return;
  } /* end of PARAMLESSROUTINE */

  //     6
  //     7    %integerfn paramless function

  int PARAMLESSFUNCTION(void) {
    //     8      %result = 42

    return 42;

    //     9    %end

  } /* end of PARAMLESSFUNCTION */

  //    10
  //    11    paramless routine

  PARAMLESSROUTINE();

  //    12
  //    13    i = paramless function

  I = PARAMLESSFUNCTION();

  //    14
  //    15    paramless routine

  PARAMLESSROUTINE();

  //    16
  //    17    i = paramless function + 1

  I = PARAMLESSFUNCTION() + 1;

  //    18
  //    19    paramless routine

  PARAMLESSROUTINE();

  //    20
  //    21    i = 2 + paramless function

  I = 2 + PARAMLESSFUNCTION();

  //    22
  //    23    paramless routine

  PARAMLESSROUTINE();

  //    24
  //    25  %endofprogram

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