#include <perms.h>

//          Edinburgh IMP77 Compiler - Version 8.4
//
//     1  %external %integer fred

int FRED;

//     2  %external %routine bert(%integer i)

void BERT(int I) {
  //     3    fred = i

  FRED = I;

  //     4  %end

  return;
} /* end of BERT */

//     5
//     6
//     7  %external %routine shiela(%integer k)

void SHIELA(int K) {
  //     8  %own %integer local = 42

  static int LOCAL = 42;

  //     9    k = local

  K = LOCAL;

  //    10    local = local + 1

  LOCAL = LOCAL + 1;

  //    11  %end

  return;
} /* end of SHIELA */

//    12
//    13  %begin

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

  //    14    bert(22)

  BERT(22);

  //    15    shiela(fred)

  SHIELA(FRED);

  //    16  %end %of %programm

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