/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation.  All rights reserved. */
/* time: October 19, 1993 12:59:54 pm PDT */
/* C2C version: April 20, 1993 (sun4) */
/* ref-counting: off */
/* file: TJaMDriverImpl, module: TJaMDriverImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [2623658664,1921846768] TJaMDriverImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef word (*fPt)();
typedef struct {word f0, f1;} W2;
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
typedef struct {word f0, f1, f2, f3, f4;} W5;
#define SOURCE(p, l) /* source p, l */
static void NoName←Q984();
static void TJaMDriverImpl←P0();
static void ApplyPrint←P60();
static void ApplyQuit←P120();
static word AppendLine←P180();
static void JaMInterpreterProcess←P240();
static void inner←P552();
static word NoName←Q1044();
static void Run←P300();
static word NoName←Q1104();
static void NoName←Q1164();
static void NoName←Q1224();
static struct {unsigned f; char r[4];} string1 = {131076, "\216\251\000"};
static struct {unsigned f; char r[4];} string2 = {65537, "\001\000\000"};
static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\234\141\332\250\300\162\215\015\360\100\200\000\000"};
static struct {unsigned f; char r[4];} string4 = {131074, "\004\007\000"};
static struct {unsigned f; char r[4];} string5 = {65540, "\251\000\000"};
static struct {unsigned f; char r[16];} string6 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\104\304\000\000"};
static struct {unsigned f; char r[24];} string7 = {1376277, "\007\000\001\002\007\020\001\002\000\007\036\002\004\003\002\004\014\016\015\003\001\000\000"};
static struct {unsigned f; char r[16];} string8 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"};
static struct {unsigned f; char r[44];} string9 = {2752556, "\260\007\006\154\145\156\147\164\150\210\241\000\200\177\377\005\004\164\145\170\164\254\206\012\011\155\141\170\114\145\156\147\164\150\210\241\000\200\177\377\243\261\000"};
static struct {unsigned f; char r[16];} string10 = {851984, "\257\300\243\004\305\073\300\011\303\367\103\100\230\000\000"};
static struct {unsigned f; char r[8];} string11 = {327688, ".quit\000\000"};
static struct {unsigned f; char r[8];} string12 = {393224, ".print\000"};
static struct {unsigned f; char r[8];} string13 = {262152, "TJaM\000\000\000"};
static struct {unsigned f; char r[28];} string14 = {1638428, "TJaM read-eval-print loop\000\000"};
static struct {unsigned f; char r[12];} string15 = {655372, "(*) .print\000"};
static struct {unsigned f; char r[8];} string16 = {458760, ".prompt"};
static struct {unsigned f; char r[16];} string17 = {917520, "JaMInterpreter\000"};
static struct {unsigned f; char r[16];} string18 = {851984, "\257\300\234\141\332\250\300\162\215\015\360\100\164\000\000"};
static struct {unsigned f; char r[16];} string19 = {983055, "\006\005\020\001\024\001\030\001\034\001\100\104\004\100\177"};
static struct {unsigned f; char r[16];} string20 = {851984, "\257\300\373\225\000\071\300\362\156\307\320\100\150\000\000"};
static struct {unsigned f; char r[16];} string21 = {851984, "\257\300\015\277\004\146\300\034\367\146\045\100\164\000\000"};
static struct {unsigned f; char r[16];} string22 = {851984, "\257\300\332\223\177\020\300\304\076\102\260\100\164\000\000"};
static struct {unsigned f; char r[16];} string23 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"};
static struct {unsigned f; char r[16];} string24 = {851984, "\257\300\243\004\305\073\300\011\303\367\103\100\150\000\000"};
static struct {
   word f0[25]; word f25; word f26; word f27; 
   word f28; word f29; word f30; word f31; 
   word f32; word f33; word f34; word f35; 
   word f36[6]; 
   } globalframe = {
   {0}, (word) Run←P300, 0, (word) JaMInterpreterProcess←P240, 
   0, (word) AppendLine←P180, 0, (word) ApplyQuit←P120, 
   0, (word) ApplyPrint←P60, 0, (word) TJaMDriverImpl←P0, 
   {0}
   };

static void NoName←Q984()
   {
   register ptr gf←c076 =  (ptr) &globalframe;
   word var←c13640;
   (* (( (ptr) gf←c076)+9) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
   (* (( (ptr) gf←c076)+10) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4);
   (* (( (ptr) gf←c076)+11) ) = (word) XR←GetTypeIndexS((word) (&string5));
   (* (( (ptr) gf←c076)+12) ) = (word) XR←GetTypeIndex((word) &string6, 0, (word) &string7);
   (* (( (ptr) gf←c076)+13) ) = (word) XR←GetTypeIndex((word) &string8, 0, (word) &string2);
   (* (( (ptr) gf←c076)+14) ) = (word) XR←GetTypeIndexS((word) (&string9));
   (* (( (ptr) gf←c076)+15) ) = (word) XR←GetTypeIndexS((word) (&string10));
   (*  (ptr) (( (bPt) gf←c076)+68) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c076)+13) ), (word) &string11);
   (*  (ptr) (( (bPt) gf←c076)+72) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c076)+13) ), (word) &string12);
   (*  (ptr) (( (bPt) gf←c076)+76) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c076)+13) ), (word) &string13);
   (*  (ptr) (( (bPt) gf←c076)+80) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c076)+13) ), (word) &string14);
   (*  (ptr) (( (bPt) gf←c076)+84) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c076)+13) ), (word) &string15);
   (*  (ptr) (( (bPt) gf←c076)+88) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c076)+13) ), (word) &string16);
   (*  (ptr) (( (bPt) gf←c076)+92) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c076)+9) ), (word) &string17);
   (void) XR←DeclareGlobalFrame((word) "TJaMDriverImpl", &globalframe, (word) XR←GetTypeIndex((word) &string18, 0, (word) &string19)
      , (word) (( (bPt) gf←c076)+140)/* var←c12840 */ );
   var←c13640 = (word) XR←ImportInterface((word) "Commander", (word) XR←GetTypeIndexS((word) (&string20)), 3);
   (* (( (ptr) gf←c076)+38)/* var←c12904 */  ) = var←c13640;
   (void) XR←ImportProcS(var←c13640, 1310725);
   var←c13640 = (word) XR←ImportInterface((word) "IO", (word) XR←GetTypeIndexS((word) (&string21)), 103);
   (* (( (ptr) gf←c076)+39)/* var←c13128 */  ) = var←c13640;
   (void) XR←ImportProcS(var←c13640, 67372801);
   (void) XR←ImportProcS(var←c13640, 1071364);
   (void) XR←ImportProcS(var←c13640, 799490);
   var←c13640 = (word) XR←ImportInterface((word) "RefText", (word) XR←GetTypeIndexS((word) (&string22)), 26);
   (* (( (ptr) gf←c076)+40)/* var←c13384 */  ) = var←c13640;
   (void) XR←ImportProcS(var←c13640, 67634946);
   var←c13640 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string23)), 43);
   (* (( (ptr) gf←c076)+41)/* var←c13544 */  ) = var←c13640;
   (void) XR←ImportProcS(var←c13640, 67903235);
   var←c13640 = (word) XR←ImportInterface((word) "TJaM", (word) XR←GetTypeIndexS((word) (&string24)), 101);
   (* (( (ptr) gf←c076)+37)/* var←c12872 */  ) = var←c13640;
   (void) XR←ImportProcS(var←c13640, 67133952);
   (void) XR←ImportProcS(var←c13640, 548098);
   (void) XR←ImportProcS(var←c13640, 67395073);
   (void) XR←ImportProcS(var←c13640, 548866);
   (void) XR←ImportProcS(var←c13640, 807427);
   (void) XR←ImportProcS(var←c13640, 1073924);
   (void) XR←ImportProcS(var←c13640, 67375361);
   (void) XR←ImportProcS(var←c13640, 67379457);
   (void) XR←ImportProcS(var←c13640, 67375873);
   (void) XR←ImportProcS(var←c13640, 67375617);
   }

static void TJaMDriverImpl←P0(formal←c024, formal←c023)
   word formal←c024;
   word formal←c023;
   {
   register ptr gf←c13672 =  (ptr) &globalframe;
   /* TJaMDriverImpl: */ 
SOURCE(277, 1937)
SOURCE(536, 41)
   {
      word pd25;
      pd25 = (* (( (ptr) (* (( (ptr) gf←c13672)+37)/* var←c12872 */  ))+22) );
      (* (( (ptr) gf←c13672)+4)/* promptKey←v2804 */  ) = (word) ( *( (fPt) ((*  (ptr) pd25 ))))((* ((( (ptr) gf←c13672)+22)) ), pd25)
      ;
      };
SOURCE(612, 32)
   {
      word pd26;
      pd26 = (* (( (ptr) (* (( (ptr) gf←c13672)+37)/* var←c12872 */  ))+23) );
      (* (( (ptr) gf←c13672)+5)/* promptVal←v2860 */  ) = (word) ( *( (fPt) ((*  (ptr) pd26 ))))((* ((( (ptr) gf←c13672)+21)) ), pd26)
      ;
      };
SOURCE(646, 39)
   {
      word pd27;
      pd27 = (* (( (ptr) (* (( (ptr) gf←c13672)+37)/* var←c12872 */  ))+22) );
      (* (( (ptr) gf←c13672)+6)/* printKey←v2888 */  ) = (word) ( *( (fPt) ((*  (ptr) pd27 ))))((* ((( (ptr) gf←c13672)+18)) ), pd27)
      ;
      };
SOURCE(687, 37)
   {
      word pd28;
      pd28 = (* (( (ptr) (* (( (ptr) gf←c13672)+37)/* var←c12872 */  ))+22) );
      (* (( (ptr) gf←c13672)+7)/* quitKey←v2916 */  ) = (word) ( *( (fPt) ((*  (ptr) pd28 ))))((* ((( (ptr) gf←c13672)+17)) ), pd28)
      ;
      };
SOURCE(2154, 60)
   {
      word pd29;
      pd29 = (* (( (ptr) (* (( (ptr) gf←c13672)+38)/* var←c12904 */  ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd29 ))))((* (( (ptr) gf←c13672)+19) ), (word) (( (bPt) gf←c13672)+100)/* var←c12680 */ , (* (
            ( (ptr) gf←c13672)+20) ), 0, 1, pd29);
      };
   }

static void ApplyPrint←P60(frame←v9944, cmd←v9972)
   word frame←v9944;
   word cmd←v9972;
   {
   register ptr gf←c13704 =  (ptr) &globalframe;
   word self←v3564;
   word x←v3592;
   /* ApplyPrint: */ 
SOURCE(758, 363)
SOURCE(786, 27)
   {
      word var←c028;
      (void) (XR←RaiseSignal((* (( (ptr) gf←c13704)+8)/* GetRef←v2944 */  ), (word) &var←c028, 0));
      self←v3564 = var←c028;
      };
SOURCE(815, 19)
   {
      word pd30;
      pd30 = (* (( (ptr) (* (( (ptr) gf←c13704)+37)/* var←c12872 */  ))+37) );
      x←v3592 = (word) ( *( (fPt) ((*  (ptr) pd30 ))))(frame←v9944, pd30);
      };
SOURCE(836, 285)
   {
      word var←c12936;
      word var←c12968;
      var←c12936 = x←v3592;
      if ((var←c12936 == 0)) {
         goto lab←L100000;
         };
      var←c12968 = XR←GetReferentType(var←c12936);
      {
         word tc36;
         if (((* (( (ptr) gf←c13704)+15) ) == var←c12968)) {
            {
               word x←v3652;
               x←v3652 = var←c12936;
SOURCE(868, 105)
               {
                  word var←c13000;
                  var←c13000 = (*  (ptr) x←v3652 );
                  if ((var←c13000 == 0)) {
SOURCE(897, 32)
                     {
                        W2 var←c13032;
                        {
                           W2 var←c13064;
                           word v←v12600;
                           v←v12600 = (* (( (ptr) x←v3652)+1) );
                           var←c13064.f0 = 5;
                           var←c13064.f1 = v←v12600;
                           var←c13032 = var←c13064;
                           };
                        {
                           word pd32;
                           pd32 = (* (( (ptr) (* (( (ptr) gf←c13704)+39)/* var←c13128 */  ))+55) );
                           (void) ( *( (fPt) ((*  (ptr) pd32 ))))((* (( (ptr) self←v3564)+2) ), var←c13032, pd32);
                           };
                        };
                     }
                  else {
                     if ((var←c13000 == 1)) {
SOURCE(939, 34)
                        {
                           W2 var←c13160;
                           {
/*1*/   W2 var←c13192;
/*1*/   word v←v12552;
/*1*/   v←v12552 = (* (( (ptr) x←v3652)+1) );
/*1*/   var←c13192.f0 = 8;
/*1*/   var←c13192.f1 = v←v12552;
/*1*/   var←c13160 = var←c13192;
/*1*/   };
                           {
/*1*/   word pd33;
/*1*/   pd33 = (* (( (ptr) (* (( (ptr) gf←c13704)+39)/* var←c13128 */  ))+55) );
/*1*/   (void) ( *( (fPt) ((*  (ptr) pd33 ))))((* (( (ptr) self←v3564)+2) ), var←c13160, pd33);
/*1*/   };
                           };
                        }
                     else {
SOURCE(986, 5)
                        (void) XR←RaiseUnnamedError();
                        };
                     };
                  };
               };
            goto endif031;
            };
         if (((* (( (ptr) gf←c13704)+11) ) == var←c12968)) {
            {
               word x←v3696;
               x←v3696 = var←c12936;
SOURCE(1004, 37)
               {
                  word var←c13256;
                  {
                     word pd34;
                     pd34 = (* (( (ptr) (* (( (ptr) gf←c13704)+37)/* var←c12872 */  ))+21) );
                     var←c13256 = (word) ( *( (fPt) ((*  (ptr) pd34 ))))(x←v3696, pd34);
                     };
                  {
                     word pd35;
                     pd35 = (* (( (ptr) (* (( (ptr) gf←c13704)+39)/* var←c13128 */  ))+93) );
                     (void) ( *( (fPt) ((*  (ptr) pd35 ))))((* (( (ptr) self←v3564)+2) ), var←c13256, 0, 2147483647, pd35);
                     };
                  };
               };
            goto endif031;
            };
         if (((* (( (ptr) gf←c13704)+12) ) == var←c12968)) {
            tc36 =  (word) ( (unsigned) (*(int*)var←c12936<0) == 0);
            }
         else {
            tc36 =  (word) 0;
            };
         if (tc36) {
            {
               word x←v3740;
               x←v3740 = var←c12936;
SOURCE(1054, 23)
               {
                  word pd37;
                  pd37 = (* (( (ptr) (* (( (ptr) gf←c13704)+39)/* var←c13128 */  ))+93) );
                  (void) ( *( (fPt) ((*  (ptr) pd37 ))))((* (( (ptr) self←v3564)+2) ), x←v3740, 0, 2147483647, pd37);
                  };
               };
            goto endif031;
            };
         lab←L100000: ;
SOURCE(1090, 31)
         {
            W2 var←c13288;
            {
               word v←v12504;
               v←v12504 = x←v3592;
               var←c13288.f0 = 10;
               var←c13288.f1 = v←v12504;
               };
            {
               word pd38;
               pd38 = (* (( (ptr) (* (( (ptr) gf←c13704)+39)/* var←c13128 */  ))+55) );
               (void) ( *( (fPt) ((*  (ptr) pd38 ))))((* (( (ptr) self←v3564)+2) ), var←c13288, pd38);
               };
            };
         goto endif031;
         endif031: ;
         };
      };
   }

static void ApplyQuit←P120(frame←v10032, cmd←v10060)
   word frame←v10032;
   word cmd←v10060;
   {
   register ptr gf←c13736 =  (ptr) &globalframe;
   /* ApplyQuit: */ 
SOURCE(1148, 37)
SOURCE(1175, 10)
   (void) XR←RaiseError((word) (( (bPt) gf←c13736)+96)/* var←c12648 */ , 0);
   }

static word AppendLine←P180(text←v3380, stream←v3408)
   word text←v3380;
   word stream←v3408;
   {
   register ptr gf←c13768 =  (ptr) &globalframe;
   word var←c3464;
   /* AppendLine: */ 
SOURCE(1191, 190)
SOURCE(1262, 92)
   lab←L100006: ;
SOURCE(1262, 92)
   {
      word char←v3784;
SOURCE(1265, 31)
      {
         word pd39;
         pd39 = (* (( (ptr) (* (( (ptr) gf←c13768)+39)/* var←c13128 */  ))+11) );
         char←v3784 = (word) ( *( (fPt) ((*  (ptr) pd39 ))))(stream←v3408, pd39);
         };
SOURCE(1298, 37)
      {
         word pd40;
         pd40 = (* (( (ptr) (* (( (ptr) gf←c13768)+40)/* var←c13384 */  ))+11) );
         text←v3380 = (word) ( *( (fPt) ((*  (ptr) pd40 ))))(text←v3380, char←v3784, pd40);
         };
SOURCE(1337, 17)
      if ((char←v3784 == 10)) {
SOURCE(1354, 4)
         goto lab←L100005;
         };
      };
   goto lab←L100006;
   lab←L100005: ;
SOURCE(1369, 12)
   return(text←v3380);
   }

static void JaMInterpreterProcess←P240(formal←c097)
   word formal←c097;
   {
   W8 var←c13800;
   /* declaration of self←v3536 skipped */ 
   register ptr gf←c13832 =  (ptr) &globalframe;
   /* declaration of var←c13416 skipped */ 
   /* declaration of frame←v3828 skipped */ 
   var←c13800.f4/* self←v3536 */  = formal←c097;
   /* JaMInterpreterProcess: */ 
SOURCE(1387, 589)
   {
      word tmpAddr41;
      tmpAddr41 = (word) (( (ptr) &var←c13800)+5)/* var←c13416 */ ;
      (*  (ptr) tmpAddr41 ) = ( ((word)  (fPt) inner←P552) );
      (* (( (ptr) tmpAddr41) + 1) ) = 1;
      };
SOURCE(1430, 25)
   var←c13800.f7/* frame←v3828 */  = (*  (ptr) var←c13800.f4/* self←v3536 */  );
SOURCE(1831, 51)
   {
      word var←c13448;
      {
         word pd42;
         pd42 = (* (( (ptr) (* (( (ptr) gf←c13832)+37)/* var←c12872 */  ))+22) );
         var←c13448 = (word) ( *( (fPt) ((*  (ptr) pd42 ))))((* ((( (ptr) gf←c13832)+18)) ), pd42);
         };
      {
         word pd43;
         pd43 = (* (( (ptr) (* (( (ptr) gf←c13832)+37)/* var←c12872 */  ))+103) );
         (void) ( *( (fPt) ((*  (ptr) pd43 ))))(var←c13800.f7/* frame←v3828 */ , var←c13448, (word) (( (bPt) gf←c13832)+132)/* var←c12808 */ , 0, pd43)
         ;
         };
      };
SOURCE(1884, 49)
   {
      word var←c13480;
      {
         word pd44;
         pd44 = (* (( (ptr) (* (( (ptr) gf←c13832)+37)/* var←c12872 */  ))+22) );
         var←c13480 = (word) ( *( (fPt) ((*  (ptr) pd44 ))))((* ((( (ptr) gf←c13832)+17)) ), pd44);
         };
      {
         word pd45;
         pd45 = (* (( (ptr) (* (( (ptr) gf←c13832)+37)/* var←c12872 */  ))+103) );
         (void) ( *( (fPt) ((*  (ptr) pd45 ))))(var←c13800.f7/* frame←v3828 */ , var←c13480, (word) (( (bPt) gf←c13832)+124)/* var←c12776 */ , 0, pd45)
         ;
         };
      };
SOURCE(1935, 32)
   {
      word pd46;
      pd46 = (* (( (ptr) (* (( (ptr) gf←c13832)+37)/* var←c12872 */  ))+86) );
      (void) ( *( (fPt) ((*  (ptr) pd46 ))))(var←c13800.f7/* frame←v3828 */ , (* (( (ptr) gf←c13832)+4)/* promptKey←v2804 */  ), (* (
            ( (ptr) gf←c13832)+5)/* promptVal←v2860 */  ), pd46);
      };
SOURCE(1969, 7)
   (void) inner←P552((word) ((( (bPt) &var←c13800)+20)/* var←c13416 */ ));
   }

static void inner←P552(formal←c13928)
   word formal←c13928;
   {
   W6 var←c13864;
   register ptr gf←c13896 =  (ptr) &globalframe;
   word buffer←v3916;
   formal←c13928 = (formal←c13928 - 20);
   var←c13864.f0 = formal←c13928;
   /* inner: */ 
SOURCE(1457, 340)
SOURCE(1473, 33)
   buffer←v3916 = XR←NewObject(504, (* (( (ptr) gf←c13896)+14) ));
   (* (( (hPt) buffer←v3916)+1) ) = 500;
SOURCE(1508, 289)
   lab←L100009: ;
SOURCE(1508, 289)
   {
      /* declaration of command←v3972 skipped */ 
      word text←v4000;
SOURCE(1511, 19)
      var←c13864.f4/* command←v3972 */  = 0;
SOURCE(1532, 23)
      text←v4000 = buffer←v3916;
SOURCE(1557, 15)
      (*  (hPt) text←v4000 ) = 0;
SOURCE(1574, 29)
      {
         word pd47;
         pd47 = (* (( (ptr) (* (( (ptr) gf←c13896)+37)/* var←c12872 */  ))+100) );
         (void) ( *( (fPt) ((*  (ptr) pd47 ))))((* (( (ptr) formal←c13928)+7) ), (* (( (ptr) gf←c13896)+4)/* promptKey←v2804 */  ), pd47)
         ;
         };
SOURCE(1607, 101)
      lab←L100012: ;
SOURCE(1610, 32)
      text←v4000 = (word) AppendLine←P180(text←v4000, (* (( (ptr) (* (( (ptr) formal←c13928)+4) ))+1) ));
SOURCE(1644, 32)
      {
         word pd48;
         pd48 = (* (( (ptr) (* (( (ptr) gf←c13896)+41)/* var←c13544 */  ))+35) );
         var←c13864.f4/* command←v3972 */  = (word) ( *( (fPt) ((*  (ptr) pd48 ))))(text←v4000, 0, 32767, pd48);
         };
SOURCE(1678, 30)
      {
         word pd49;
         pd49 = (* (( (ptr) (* (( (ptr) gf←c13896)+37)/* var←c12872 */  ))+98) );
         if ((0 != (word) ( *( (fPt) ((*  (ptr) pd49 ))))(var←c13864.f4/* command←v3972 */ , pd49))) {
SOURCE(1708, 4)
            goto lab←L100011;
            };
         };
      goto lab←L100012;
      lab←L100011: ;
SOURCE(1723, 74)
SOURCE(1723, 74)
      {
         /* declaration of var←c01 skipped */ 
         var←c13864.f5/* var←c01 */  = (* (( (ptr) (* (( (ptr) gf←c13896)+37)/* var←c12872 */  ))+97) );
         {
            word var←c02;
            {
               word var←c089;
               var←c089 = (word) &var←c13864;
               var←c02 = (word) XR←Enable(( ((word)  (fPt) NoName←Q1044) ), ( ((word)  (fPt) NoName←Q1224) ), var←c089);
               };
            if ((var←c02 == 3)) {
               goto lab←L100008;
               }
            else {
               if ((var←c02 == 2)) {
                  /* removed tail goto */ 
                  };
               };
            };
         };
      };
   goto lab←L100009;
   lab←L100008: ;
   }

static word NoName←Q1044(formal←c084)
   word formal←c084;
   {
SOURCE(1723, 74)
   {
      word pd50;
      pd50 = (* (( (ptr) formal←c084)+5) );
      (void) ( *( (fPt) ((*  (ptr) pd50 ))))((* (( (ptr) (*  (ptr) formal←c084 ))+7) ), (* (( (ptr) formal←c084)+4) ), pd50);
      };
   return(0);
   }

static void Run←P300(formal←c065, cmd←v10120)
   word formal←c065;
   word cmd←v10120;
   {
   W5 var←c13960;
   register ptr gf←c13992 =  (ptr) &globalframe;
   word result←v10164;
   word msg←v10192;
   /* declaration of self←v4056 skipped */ 
   /* Run: */ 
SOURCE(1982, 166)
SOURCE(1982, 166)
   result←v10164 = 0;
SOURCE(1982, 166)
   msg←v10192 = 0;
SOURCE(2013, 42)
   {
      word var←c13576;
      word var←c13608;
      {
         word pd51;
         pd51 = (* (( (ptr) (* (( (ptr) gf←c13992)+37)/* var←c12872 */  ))+102) );
         var←c13576 = (word) ( *( (fPt) ((*  (ptr) pd51 ))))(pd51);
         };
      var←c13608 = XR←NewObject(12, (* (( (ptr) gf←c13992)+10) ));
      (*  (ptr) var←c13608 ) = var←c13576;
      var←c13960.f4/* self←v4056 */  = var←c13608;
      };
SOURCE(2057, 16)
   (* (( (ptr) var←c13960.f4/* self←v4056 */ )+1) ) = (*  (ptr) cmd←v10120 );
SOURCE(2075, 18)
   (* (( (ptr) var←c13960.f4/* self←v4056 */ )+2) ) = (* (( (ptr) cmd←v10120)+1) );
SOURCE(2095, 53)
   {
      word var←c090;
      var←c090 = (word) &var←c13960;
       (void) (word) XR←Enable(( ((word)  (fPt) NoName←Q1104) ), ( ((word)  (fPt) NoName←Q1164) ), var←c090);
      };
   /* removed tail goto */ 
   (*  (ptr) formal←c065 ) = result←v10164;
   (* (( (ptr) formal←c065)+1) ) = msg←v10192;
   return;
   }

static word NoName←Q1104(formal←c086)
   word formal←c086;
   {
SOURCE(2095, 53)
   (void) JaMInterpreterProcess←P240((* ((( (ptr) formal←c086)+4)) ));
   return(0);
   }

static void NoName←Q1164(formal←c070, formal←c200004, formal←c200005, formal←c200006, formal←c200007)
   word formal←c070;
   word formal←c200004;
   word formal←c200005;
   word formal←c200006;
   word formal←c200007;
   {
   register ptr gf←c087 =  (ptr) &globalframe;
   if ((formal←c200005 == (* (( (ptr) gf←c087)+8)/* GetRef←v2944 */  ))) {
SOURCE(2134, 14)
      (*  (ptr) formal←c200006 ) = (* (( (ptr) formal←c200004)+4) );
      (*  (ptr) formal←c070 ) = 1;
      (* (( (ptr) formal←c070)+1) ) = 0;
      return;
      };
   (*  (ptr) formal←c070 ) = 0;
   (* (( (ptr) formal←c070)+1) ) = 0;
   return;
   }

static void NoName←Q1224(formal←c075, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
   word formal←c075;
   word formal←c200000;
   word formal←c200001;
   word formal←c200002;
   word formal←c200003;
   {
   register ptr gf←c088 =  (ptr) &globalframe;
   if ((formal←c200001 == (* (( (ptr) (* (( (ptr) gf←c088)+37)/* var←c12872 */  ))+94) ))) {
SOURCE(1773, 8)
      (*  (ptr) formal←c075 ) = 2;
      (* (( (ptr) formal←c075)+1) ) = 2;
      return;
      }
   else {
      if ((formal←c200001 == (* (( (ptr) (* (( (ptr) gf←c088)+37)/* var←c12872 */  ))+93) ))) {
SOURCE(1791, 6)
         (*  (ptr) formal←c075 ) = 1;
         (* (( (ptr) formal←c075)+1) ) = 0;
         return;
         }
      else {
         if ((formal←c200001 == (word) (( (bPt) gf←c088)+96)/* var←c12648 */ )) {
SOURCE(1807, 4)
            (*  (ptr) formal←c075 ) = 2;
            (* (( (ptr) formal←c075)+1) ) = 3;
            return;
            };
         };
      };
   (*  (ptr) formal←c075 ) = 0;
   (* (( (ptr) formal←c075)+1) ) = 0;
   return;
   }

/* file: TJaMDriverImpl, module: TJaMDriverImpl, compiled at: October 19, 1993 12:59:53 pm PDT */ 
extern void XR←install←TJaMDriverImpl() {
   NoName←Q984();
   }
extern void XR←run←TJaMDriverImpl() { XR←Start(&globalframe); }