/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation.  All rights reserved. */
/* time: October 19, 1993 1:00:31 pm PDT */
/* C2C version: April 20, 1993 (sun4) */
/* ref-counting: off */
/* file: TJaMScannerImpl, module: TJaMScannerImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [3076896921,1138195635] TJaMScannerImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
typedef struct {W8 f; W6 r;} W14;
typedef struct {word f0, f1;} W2;
typedef word (*fPt)();
typedef struct {W8 f; word r;} W9;
typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7;
typedef W2 *W2Pt;
typedef struct {word f0, f1, f2;} W3;
typedef struct {W8 f; W3 r;} W11;
#define SOURCE(p, l) /* source p, l */
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
static void NoName←Q2136();
static void TJaMScannerImpl←P0();
static word InitClassArray←P60();
static word MapTokens←P120();
static word NoName←Q2196();
static word NoName←Q2256();
static void Cleanup←P1008();
static void DoWithScratchText←P180();
static word NoName←Q2316();
static void PString←P240();
static void QString←P300();
static word RopeFromString←P360();
static void action←P1212();
static void put←P1272();
static void SkipString←P420();
static void put←P1332();
static void SkipJaMComment←P480();
static word NoName←Q2376();
static void SkipCedarComment←P540();
static word NoName←Q2436();
static word IntFromText←P600();
static word RealFromText←P660();
static void NumFromText←P720();
static word NoName←Q2496();
static void ExecuteStream←P780();
static word tokenAction←P1488();
static void bufferAction←P1548();
static word NoName←Q2556();
static void ExecuteRope←P840();
static word LineComplete←P900();
static word tokenAction←P1704();
static void bufferAction←P1764();
static word NoName←Q2616();
static void NoName←Q2676();
static void NoName←Q2736();
static void NoName←Q2796();
static void NoName←Q2856();
static void NoName←Q2916();
static void NoName←Q2976();
static void NoName←Q3036();
static void NoName←Q3096();
static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\243\004\305\073\300\011\303\367\103\101\034\000\000"};
static struct {unsigned f; char r[16];} string2 = {983056, "\205\243\257\300\267\145\270\231\300\103\327\174\263\100\200"};
static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\267\145\270\231\300\103\327\174\263\100\164\000\000"};
static struct {unsigned f; char r[4];} string4 = {131074, "\0040\000"};
static struct {unsigned f; char r[16];} string5 = {851984, "\257\300\055\153\222\376\300\327\164\352\142\100\150\000\000"};
static struct {unsigned f; char r[16];} string6 = {851984, "\257\300\255\053\300\023\300\142\135\315\105\100\150\000\000"};
static struct {unsigned f; char r[16];} string7 = {851984, "\257\300\015\277\004\146\300\034\367\146\045\100\164\000\000"};
static struct {unsigned f; char r[16];} string8 = {851984, "\257\300\332\223\177\020\300\304\076\102\260\100\164\000\000"};
static struct {unsigned f; char r[16];} string9 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"};
static struct {unsigned f; char r[4];} string10 = {1414160717, "\000"};
static struct {unsigned f; char r[16];} string11 = {851984, "\257\300\243\004\305\073\300\011\303\367\103\100\150\000\000"};
static struct {
   word f0[10]; word f10; word f11; word f12; 
   word f13; word f14; word f15; word f16; 
   word f17; word f18; word f19; word f20; 
   word f21; word f22; word f23; word f24; 
   word f25; word f26; word f27; word f28; 
   word f29; word f30; word f31; word f32; 
   word f33; word f34; word f35; word f36; 
   word f37; word f38; word f39; word f40; 
   word f41[8]; 
   } globalframe = {
   {0}, (word) LineComplete←P900, 0, (word) ExecuteRope←P840, 
   0, (word) ExecuteStream←P780, 0, (word) NumFromText←P720, 
   0, (word) RealFromText←P660, 0, (word) IntFromText←P600, 
   0, (word) SkipCedarComment←P540, 0, (word) SkipJaMComment←P480, 
   0, (word) SkipString←P420, 0, (word) RopeFromString←P360, 
   0, (word) QString←P300, 0, (word) PString←P240, 
   0, (word) DoWithScratchText←P180, 0, (word) MapTokens←P120, 
   0, (word) InitClassArray←P60, 0, (word) TJaMScannerImpl←P0, 
   {0}
   };

static void NoName←Q2136()
   {
   register ptr gf←c0225 =  (ptr) &globalframe;
   word var←c17684;
   (* (( (ptr) gf←c0225)+6) ) = (word) XR←GetTypeIndexS((word) (&string1));
   (* (( (ptr) gf←c0225)+8) ) = (word) XR←GetTypeIndexS((word) (&string2));
   (void) XR←DeclareGlobalFrame((word) "TJaMScannerImpl", &globalframe, (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4)
      , (word) (( (bPt) gf←c0225)+160)/* var←c15412 */ );
   var←c17684 = (word) XR←ImportInterface((word) "Atom", (word) XR←GetTypeIndexS((word) (&string5)), 16);
   (* (( (ptr) gf←c0225)+47)/* var←c17396 */  ) = var←c17684;
   (void) XR←ImportProcS(var←c17684, 67372033);
   var←c17684 = (word) XR←ImportInterface((word) "Convert", (word) XR←GetTypeIndexS((word) (&string6)), 73);
   (* (( (ptr) gf←c0225)+45)/* var←c16756 */  ) = var←c17684;
   (void) XR←ImportProcS(var←c17684, 67373057);
   (void) XR←ImportProcS(var←c17684, 67634690);
   var←c17684 = (word) XR←ImportInterface((word) "IO", (word) XR←GetTypeIndexS((word) (&string7)), 103);
   (* (( (ptr) gf←c0225)+42)/* var←c15572 */  ) = var←c17684;
   (void) XR←ImportProcS(var←c17684, 67640578);
   (void) XR←ImportProcS(var←c17684, 530434);
   (void) XR←ImportProcS(var←c17684, 527874);
   (void) XR←ImportProcS(var←c17684, 67372801);
   var←c17684 = (word) XR←ImportInterface((word) "RefText", (word) XR←GetTypeIndexS((word) (&string8)), 26);
   (* (( (ptr) gf←c0225)+43)/* var←c16052 */  ) = var←c17684;
   (void) XR←ImportProcS(var←c17684, 262913);
   (void) XR←ImportProcS(var←c17684, 67371521);
   (void) XR←ImportProcS(var←c17684, 67634946);
   var←c17684 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string9)), 43);
   (* (( (ptr) gf←c0225)+44)/* var←c16372 */  ) = var←c17684;
   (void) XR←ImportProcS(var←c17684, 67903235);
   (void) XR←ImportProcS(var←c17684, 67633666);
   var←c17684 = (word) XR←ImportInterface((word) &string10, (word) XR←GetTypeIndexS((word) (&string11)), 101);
   (* (( (ptr) gf←c0225)+46)/* var←c17172 */  ) = var←c17684;
   (void) XR←ImportProcS(var←c17684, 548866);
   (void) XR←ImportProcS(var←c17684, 530946);
   (void) XR←ImportProcS(var←c17684, 530434);
   (void) XR←ImportProcS(var←c17684, 530178);
   (void) XR←ImportProcS(var←c17684, 792834);
   (void) XR←ImportProcS(var←c17684, 531970);
   (void) XR←ImportProcS(var←c17684, 285441);
   (void) XR←ImportProcS(var←c17684, 67382273);
   (void) XR←ImportProcS(var←c17684, 540930);
   (void) XR←ImportProcS(var←c17684, 67385601);
   (void) XR←ImportProcS(var←c17684, 67385089);
   (void) XR←ImportProcS(var←c17684, 532482);
   (void) XR←ImportProcS(var←c17684, 531202);
   var←c17684 = (word) XR←ExportInterface((word) &string10, (word) XR←GetTypeIndexS((word) (&string11)), 101);
   (* (( (ptr) gf←c0225)+48)/* var←c17716 */  ) = var←c17684;
   (void) XR←ExportProcS(var←c17684, (word) (( (bPt) gf←c0225)+56)/* var←c14996 */ , 809987, (word) "ExecuteStream");
   (void) XR←ExportProcS(var←c17684, (word) (( (bPt) gf←c0225)+48)/* var←c14964 */ , 548098, (word) "ExecuteRope");
   (void) XR←ExportProcS(var←c17684, (word) (( (bPt) gf←c0225)+40)/* var←c14932 */ , 67395073, (word) "LineComplete");
   }

static void TJaMScannerImpl←P0(formal←c046, formal←c045)
   word formal←c046;
   word formal←c045;
   {
   register ptr gf←c17748 =  (ptr) &globalframe;
   /* TJaMScannerImpl: */ 
SOURCE(468, 8775)
SOURCE(1408, 48)
   (* (( (ptr) gf←c17748)+4)/* classFromChar←v2860 */  ) = (word) InitClassArray←P60();
SOURCE(6696, 30)
   (* (( (ptr) gf←c17748)+5)/* arrayMark←v3308 */  ) = XR←NewObject(4, (* (( (ptr) gf←c17748)+6) ));
   }

static word InitClassArray←P60()
   {
   register ptr gf←c17780 =  (ptr) &globalframe;
   word var←c3756;
   word class←v5880;
   /* InitClassArray: */ 
SOURCE(750, 652)
SOURCE(799, 52)
   class←v5880 = XR←NewObject(1024, (* (( (ptr) gf←c17780)+8) ));
SOURCE(853, 493)
   {
      register word char←v5936 = 0;
      lab←L100003: ;
SOURCE(879, 467)
      {
         word var←c15508;
         var←c15508 = char←v5936;
         if ((((((var←c15508 == 123) || (var←c15508 == 125)) || (var←c15508 == 40)) || (var←c15508 == 41)) || (var←c15508 == 34)) || (var←c15508 == 37)) {
SOURCE(922, 19)
            (* (( (ptr) class←v5880)+char←v5936) ) = 0;
            goto endif012;
            };
         if (((((var←c15508 == 13) || (var←c15508 == 10)) || (var←c15508 == 9)) || (var←c15508 == 32)) || (var←c15508 == 44)) {
SOURCE(993, 19)
            (* (( (ptr) class←v5880)+char←v5936) ) = 1;
            goto endif012;
            };
         if ((var←c15508 == 43)) {
SOURCE(1035, 18)
            (* (( (ptr) class←v5880)+char←v5936) ) = 2;
            goto endif012;
            };
         if ((var←c15508 == 45)) {
SOURCE(1074, 19)
            (* (( (ptr) class←v5880)+char←v5936) ) = 3;
            goto endif012;
            };
         if ((var←c15508 == 46)) {
SOURCE(1115, 17)
            (* (( (ptr) class←v5880)+char←v5936) ) = 4;
            goto endif012;
            };
         if (((var←c15508 - 48) <= 9)) {
SOURCE(1165, 19)
            (* (( (ptr) class←v5880)+char←v5936) ) = 5;
            goto endif012;
            };
         if ((var←c15508 == 98) || (var←c15508 == 66)) {
SOURCE(1206, 21)
            (* (( (ptr) class←v5880)+char←v5936) ) = 6;
            goto endif012;
            };
         if ((var←c15508 == 101) || (var←c15508 == 69)) {
SOURCE(1262, 21)
            (* (( (ptr) class←v5880)+char←v5936) ) = 7;
            goto endif012;
            };
         if (((var←c15508 - 33) <= 93)) {
SOURCE(1328, 18)
            (* (( (ptr) class←v5880)+char←v5936) ) = 8;
            goto endif012;
            };
         endif012: ;
         };
      if ((char←v5936 >= 255)) {
         goto lab←L100000;
         };
      char←v5936 = (char←v5936 + 1);
      goto lab←L100003;
      lab←L100000: ;
      };
SOURCE(1389, 13)
   return(class←v5880);
   }

static word MapTokens←P120(formal←c0300, buffer←v4448, formal←c0301)
   word formal←c0300;
   word buffer←v4448;
   word formal←c0301;
   {
   W14 var←c17812;
   /* declaration of stream←v4420 skipped */ 
   /* declaration of action←v4476 skipped */ 
   register ptr gf←c17844 =  (ptr) &globalframe;
   word quit←v4532;
   /* declaration of var←c15540 skipped */ 
   /* declaration of text←v5980 skipped */ 
   /* declaration of char←v6008 skipped */ 
   word class←v6036;
   /* declaration of peeked←v6064 skipped */ 
   (* (( (ptr) &var←c17812)+4)/* stream←v4420 */  ) = formal←c0300;
   (* (( (ptr) &var←c17812)+5)/* action←v4476 */  ) = formal←c0301;
   /* MapTokens: */ 
SOURCE(1702, 2137)
   {
      word tmpAddr13;
      tmpAddr13 = (word) (( (ptr) &var←c17812)+6)/* var←c15540 */ ;
      (*  (ptr) tmpAddr13 ) = ( ((word)  (fPt) Cleanup←P1008) );
      (* (( (ptr) tmpAddr13) + 1) ) = 1;
      };
SOURCE(1702, 2137)
   quit←v4532 = 0;
SOURCE(1805, 23)
   (* (( (ptr) &var←c17812)+8)/* text←v5980 */  ) = buffer←v4448;
SOURCE(1856, 20)
   (* (( (ptr) &var←c17812)+10)/* peeked←v6064 */  ) = 0;
SOURCE(1958, 1846)
   lab←L100006: ;
   if ((0 == quit←v4532)) {
      }
   else {
      goto lab←L100004;
      };
   {
      /* declaration of state←v6164 skipped */ 
SOURCE(1990, 19)
      (* (( (ptr) &var←c17812)+11)/* state←v6164 */  ) = 0;
SOURCE(2011, 15)
      (*  (hPt) (* (( (ptr) &var←c17812)+8)/* text←v5980 */  ) ) = 0;
SOURCE(2028, 1641)
      lab←L100009: ;
      if (((* (( (ptr) &var←c17812)+11)/* state←v6164 */  ) < 12)) {
         }
      else {
         goto lab←L100007;
         };
SOURCE(2067, 116)
      if ((0 != (* (( (ptr) &var←c17812)+10)/* peeked←v6064 */  ))) {
SOURCE(2082, 20)
         (* (( (ptr) &var←c17812)+10)/* peeked←v6064 */  ) = 0;
         }
      else {
SOURCE(2104, 45)
         {
            /* declaration of var←c01 skipped */ 
            (* (( (ptr) &var←c17812)+12)/* var←c01 */  ) = (* (( (ptr) (* (( (ptr) gf←c17844)+42)/* var←c15572 */  ))+11) );
            {
               /* declaration of var←c02 skipped */ 
               {
                  word var←c03;
                  {
                     word var←c0268;
                     var←c0268 = (word) &var←c17812;
                     var←c03 = (word) XR←Enable(( ((word)  (fPt) NoName←Q2256) ), ( ((word)  (fPt) NoName←Q3096) ), var←c0268);
                     };
                  if ((var←c03 == 2)) {
                     goto lab←L100008;
                     };
                  };
               (* (( (ptr) &var←c17812)+9)/* char←v6008 */  ) = (* (( (ptr) &var←c17812)+13)/* var←c02 */  );
               };
            };
SOURCE(2156, 27)
         class←v6036 = (* (( (ptr) (* (( (ptr) gf←c17844)+4)/* classFromChar←v2860 */  ))+(* (( (ptr) &var←c17812)+9)/* char←v6008 */  ))
          );
         };
SOURCE(2188, 1425)
SOURCE(2215, 1029)
      {
         word var←c15604;
         var←c15604 = (* (( (ptr) &var←c17812)+11)/* state←v6164 */  );
         switch (var←c15604) {
            case 0: 
SOURCE(2241, 174)
               {
                  word var←c15636;
                  var←c15636 = class←v6036;
                  switch (var←c15636) {
                     case 0: 
SOURCE(2268, 14)
                        (* (( (ptr) &var←c17812)+11)/* state←v6164 */  ) = 12;
                        break;
                     case 1: 
SOURCE(2293, 9)
                        goto lab←L100012;
                     case 5: 
SOURCE(2313, 11)
                        (* (( (ptr) &var←c17812)+11)/* state←v6164 */  ) = 4;
                        break;
                     case 2: 
SOURCE(2334, 12)
                        (* (( (ptr) &var←c17812)+11)/* state←v6164 */  ) = 2;
                        break;
                     case 3: 
SOURCE(2357, 13)
                        (* (( (ptr) &var←c17812)+11)/* state←v6164 */  ) = 3;
                        break;
                     case 4: 
SOURCE(2379, 11)
                        (* (( (ptr) &var←c17812)+11)/* state←v6164 */  ) = 6;
                        break;
                     default: 
SOURCE(2403, 12)
                        (* (( (ptr) &var←c17812)+11)/* state←v6164 */  ) = 1;
                        break;
                     };
                  };
               break;
            case 1: 
SOURCE(2425, 9)
               goto lab←L100013;
            case 2: 
SOURCE(2444, 60)
               {
                  word var←c15668;
                  var←c15668 = class←v6036;
                  if ((var←c15668 == 5)) {
SOURCE(2471, 11)
                     (* (( (ptr) &var←c17812)+11)/* state←v6164 */  ) = 4;
                     }
                  else {
                     if ((var←c15668 == 4)) {
SOURCE(2491, 13)
                        (* (( (ptr) &var←c17812)+11)/* state←v6164 */  ) = 7;
                        }
                     else {
SOURCE(2517, 9)
                        goto lab←L100013;
                        };
                     };
                  };
               break;
            case 3: 
SOURCE(2537, 85)
               {
                  word var←c15700;
                  var←c15700 = class←v6036;
                  switch (var←c15700) {
                     case 5: 
SOURCE(2564, 11)
                        (* (( (ptr) &var←c17812)+11)/* state←v6164 */  ) = 4;
                        break;
                     case 3: 
SOURCE(2586, 14)
                        (* (( (ptr) &var←c17812)+11)/* state←v6164 */  ) = 13;
                        break;
                     case 4: 
SOURCE(2609, 13)
                        (* (( (ptr) &var←c17812)+11)/* state←v6164 */  ) = 7;
                        break;
                     default: 
SOURCE(2635, 9)
                        goto lab←L100013;
                     };
                  };
               break;
            case 4: 
SOURCE(2653, 103)
               {
                  word var←c15732;
                  var←c15732 = class←v6036;
                  switch (var←c15732) {
                     case 5: 
                        break;
                     case 4: 
SOURCE(2693, 13)
                        (* (( (ptr) &var←c17812)+11)/* state←v6164 */  ) = 8;
                        break;
                     case 7: 
SOURCE(2719, 13)
                        (* (( (ptr) &var←c17812)+11)/* state←v6164 */  ) = 9;
                        break;
                     case 6: 
SOURCE(2745, 11)
                        (* (( (ptr) &var←c17812)+11)/* state←v6164 */  ) = 5;
                        break;
                     default: 
SOURCE(2769, 9)
                        goto lab←L100013;
                     };
                  };
               break;
            case 5: 
SOURCE(2787, 9)
               goto lab←L100013;
            case 6: 
SOURCE(2805, 40)
               {
                  word var←c15764;
                  var←c15764 = class←v6036;
                  if ((var←c15764 == 5)) {
SOURCE(2832, 13)
                     (* (( (ptr) &var←c17812)+11)/* state←v6164 */  ) = 8;
                     }
                  else {
SOURCE(2858, 9)
                     goto lab←L100013;
                     };
                  };
               break;
            case 7: 
SOURCE(2878, 40)
               {
                  word var←c15796;
                  var←c15796 = class←v6036;
                  if ((var←c15796 == 5)) {
SOURCE(2905, 13)
                     (* (( (ptr) &var←c17812)+11)/* state←v6164 */  ) = 8;
                     }
                  else {
SOURCE(2931, 9)
                     goto lab←L100013;
                     };
                  };
               break;
            case 8: 
SOURCE(2951, 57)
               {
                  word var←c15828;
                  var←c15828 = class←v6036;
                  if ((var←c15828 == 5)) {
                     }
                  else {
                     if ((var←c15828 == 7)) {
SOURCE(2995, 13)
                        (* (( (ptr) &var←c17812)+11)/* state←v6164 */  ) = 9;
                        }
                     else {
SOURCE(3021, 9)
                        goto lab←L100013;
                        };
                     };
                  };
               break;
            case 9: 
SOURCE(3041, 70)
               {
                  word var←c15860;
                  var←c15860 = class←v6036;
                  switch (var←c15860) {
                     case 5: 
SOURCE(3068, 13)
                        (* (( (ptr) &var←c17812)+11)/* state←v6164 */  ) = 11;
                        break;
                     case 2: case 3: 
SOURCE(3098, 13)
                        (* (( (ptr) &var←c17812)+11)/* state←v6164 */  ) = 10;
                        break;
                     default: 
SOURCE(3124, 9)
                        goto lab←L100013;
                     };
                  };
               break;
            case 10: 
SOURCE(3144, 40)
               {
                  word var←c15892;
                  var←c15892 = class←v6036;
                  if ((var←c15892 == 5)) {
SOURCE(3171, 13)
                     (* (( (ptr) &var←c17812)+11)/* state←v6164 */  ) = 11;
                     }
                  else {
SOURCE(3197, 9)
                     goto lab←L100013;
                     };
                  };
               break;
            case 11: 
SOURCE(3217, 27)
               {
                  word var←c15924;
                  var←c15924 = class←v6036;
                  if ((var←c15924 == 5)) {
                     }
                  else {
SOURCE(3261, 9)
                     goto lab←L100013;
                     };
                  };
               break;
            };
         };
      goto lab←L100014;
      lab←L100012: ;
SOURCE(3295, 4)
      goto lab←L100009;
      /* c2c skipped dead code */ 
      lab←L100013: ;
SOURCE(3351, 216)
      {
         word var←c15956;
         var←c15956 = class←v6036;
         if ((var←c15956 == 0)) {
SOURCE(3405, 13)
            (* (( (ptr) &var←c17812)+10)/* peeked←v6064 */  ) = 1;
SOURCE(3420, 5)
            goto lab←L100008;
            }
         else {
            if ((var←c15956 == 1)) {
SOURCE(3479, 4)
               goto lab←L100008;
               }
            else {
SOURCE(3555, 12)
               (* (( (ptr) &var←c17812)+11)/* state←v6164 */  ) = 1;
               };
            };
         };
      lab←L100014: ;
SOURCE(3616, 53)
      {
         word var←c15988;
         word to←v14824;
         word from←v14852;
         to←v14824 = (* (( (ptr) &var←c17812)+8)/* text←v5980 */  );
         from←v14852 = (* (( (ptr) &var←c17812)+9)/* char←v6008 */  );
         if (( (unsigned) (*  (hPt) to←v14824 ) >=  (unsigned) (* (( (hPt) to←v14824)+1) ))) {
            {
               word pd14;
               pd14 = (* (( (ptr) (* (( (ptr) gf←c17844)+43)/* var←c16052 */  ))+11) );
               var←c15988 = (word) ( *( (fPt) ((*  (ptr) pd14 ))))(to←v14824, from←v14852, pd14);
               };
            goto lab←L100015;
            };
         {
            word idx15;
            word limit16;
            (* ((( (bPt) to←v14824)+4)+(
                  idx15 = (word)  (unsigned) (*  (hPt) to←v14824 ),
                  limit16 = (word)  (unsigned) (* (( (hPt) to←v14824)+1) ),
                  BCK(idx15, limit16)
                  )) ) = from←v14852;
            };
         {
            word idx17;
            (*  (hPt) to←v14824 ) = (
               idx17 = (word) ( (unsigned) (*  (hPt) to←v14824 ) + 1),
               BCK(idx17, 32768)
               );
            };
         var←c15988 = to←v14824;
         lab←L100015: ;
         (* (( (ptr) &var←c17812)+8)/* text←v5980 */  ) = var←c15988;
         };
      goto lab←L100009;
      lab←L100007: ;
      lab←L100008: ;
SOURCE(3680, 19)
      if (((* (( (ptr) &var←c17812)+11)/* state←v6164 */  ) == 0)) {
SOURCE(3699, 4)
         goto lab←L100005;
         };
SOURCE(3727, 77)
      {
         /* declaration of var←c04 skipped */ 
         {
            word var←c0269;
            var←c0269 = (word) &var←c17812;
             (void) (word) XR←Enable(( ((word)  (fPt) NoName←Q2196) ), ( ((word)  (fPt) NoName←Q3036) ), var←c0269);
            };
         quit←v4532 = (* (( (ptr) &var←c17812)+12)/* var←c04 */  );
         };
      };
   goto lab←L100006;
   lab←L100004: ;
   lab←L100005: ;
SOURCE(3815, 24)
   if ((0 != (* (( (ptr) &var←c17812)+10)/* peeked←v6064 */  ))) {
SOURCE(3830, 9)
      (void) Cleanup←P1008((word) ((( (bPt) &var←c17812)+24)/* var←c15540 */ ));
      };
SOURCE(1702, 2137)
   return(quit←v4532);
   }

static word NoName←Q2196(formal←c0229)
   word formal←c0229;
   {
SOURCE(3727, 77)
   {
      word pd18;
      pd18 = (* (( (ptr) formal←c0229)+5) );
      (* (( (ptr) formal←c0229)+12) ) = (word) ( *( (fPt) ((*  (ptr) pd18 ))))((* (( (ptr) formal←c0229)+11) ), (* (( (ptr) formal←c0229)+8)
          ), (* (( (ptr) formal←c0229)+4) ), pd18);
      };
   return(0);
   }

static word NoName←Q2256(formal←c0230)
   word formal←c0230;
   {
SOURCE(2104, 45)
   {
      word pd19;
      pd19 = (* (( (ptr) formal←c0230)+12) );
      (* (( (ptr) formal←c0230)+13) ) = (word) ( *( (fPt) ((*  (ptr) pd19 ))))((* ((( (ptr) formal←c0230)+4)) ), pd19);
      };
   return(0);
   }

static void Cleanup←P1008(formal←c17908)
   word formal←c17908;
   {
   register ptr gf←c17876 =  (ptr) &globalframe;
   formal←c17908 = (formal←c17908 - 24);
   /* Cleanup: */ 
SOURCE(1878, 75)
SOURCE(1896, 57)
   if ((0 != (* (( (ptr) formal←c17908)+10) ))) {
SOURCE(1913, 23)
      {
         word pd20;
         pd20 = (* (( (ptr) (* (( (ptr) gf←c17876)+42)/* var←c15572 */  ))+18) );
         (void) ( *( (fPt) ((*  (ptr) pd20 ))))((* (( (ptr) formal←c17908)+4) ), (* (( (ptr) formal←c17908)+9) ), pd20);
         };
SOURCE(1938, 15)
      (* (( (ptr) formal←c17908)+10) ) = 0;
      };
   }

static void DoWithScratchText←P180(formal←c0302, len←v4620)
   word formal←c0302;
   word len←v4620;
   {
   W6 var←c17940;
   /* declaration of action←v4592 skipped */ 
   register ptr gf←c17972 =  (ptr) &globalframe;
   /* declaration of scratch←v6208 skipped */ 
   var←c17940.f4/* action←v4592 */  = formal←c0302;
   /* DoWithScratchText: */ 
SOURCE(3846, 208)
SOURCE(3914, 46)
   {
      word pd21;
      pd21 = (* (( (ptr) (* (( (ptr) gf←c17972)+43)/* var←c16052 */  ))+6) );
      var←c17940.f5/* scratch←v6208 */  = (word) ( *( (fPt) ((*  (ptr) pd21 ))))(BCK(len←v4620, 32768), pd21);
      };
SOURCE(3962, 59)
   {
      word var←c0270;
      var←c0270 = (word) &var←c17940;
       (void) (word) XR←Enable(( ((word)  (fPt) NoName←Q2316) ), ( ((word)  (fPt) NoName←Q2976) ), var←c0270);
      };
SOURCE(4023, 31)
   {
      word pd22;
      pd22 = (* (( (ptr) (* (( (ptr) gf←c17972)+43)/* var←c16052 */  ))+7) );
      (void) ( *( (fPt) ((*  (ptr) pd22 ))))(var←c17940.f5/* scratch←v6208 */ , pd22);
      };
   }

static word NoName←Q2316(formal←c0234)
   word formal←c0234;
   {
SOURCE(3962, 59)
   {
      word pd23;
      pd23 = (* (( (ptr) formal←c0234)+4) );
      (void) ( *( (fPt) ((*  (ptr) pd23 ))))((* ((( (ptr) formal←c0234)+5)) ), pd23);
      };
   return(0);
   }

static void PString←P240(stream←v13172, put←v13200)
   word stream←v13172;
   word put←v13200;
   {
   register ptr gf←c18004 =  (ptr) &globalframe;
   /* PString: */ 
SOURCE(4148, 209)
SOURCE(4172, 185)
   lab←L100022: ;
SOURCE(4172, 185)
   {
      word char←v6264;
SOURCE(4175, 31)
      {
         word pd24;
         pd24 = (* (( (ptr) (* (( (ptr) gf←c18004)+42)/* var←c15572 */  ))+11) );
         char←v6264 = (word) ( *( (fPt) ((*  (ptr) pd24 ))))(stream←v13172, pd24);
         };
SOURCE(4208, 149)
      {
         word var←c16084;
         var←c16084 = char←v6264;
         switch (var←c16084) {
            case 41: 
SOURCE(4231, 4)
               goto lab←L100021;
            case 40: 
SOURCE(4245, 7)
               (void) ( *( (fPt) ((*  (ptr) put←v13200 ))))(40, put←v13200);
SOURCE(4254, 20)
               (void) PString←P240(stream←v13172, put←v13200);
SOURCE(4276, 8)
               (void) ( *( (fPt) ((*  (ptr) put←v13200 ))))(41, put←v13200);
               break;
            case 34: 
SOURCE(4295, 7)
               (void) ( *( (fPt) ((*  (ptr) put←v13200 ))))(34, put←v13200);
SOURCE(4304, 20)
               (void) QString←P300(stream←v13172, put←v13200);
SOURCE(4326, 8)
               (void) ( *( (fPt) ((*  (ptr) put←v13200 ))))(34, put←v13200);
               break;
            default: 
SOURCE(4348, 9)
               (void) ( *( (fPt) ((*  (ptr) put←v13200 ))))(char←v6264, put←v13200);
               break;
            };
         };
      };
   goto lab←L100022;
   lab←L100021: ;
   }

static void QString←P300(stream←v13260, put←v13288)
   word stream←v13260;
   word put←v13288;
   {
   register ptr gf←c18036 =  (ptr) &globalframe;
   word state←v6308 = 0;
   word code←v6336;
   /* QString: */ 
SOURCE(4372, 832)
SOURCE(4453, 751)
   lab←L100025: ;
SOURCE(4453, 751)
   {
      word char←v6528;
SOURCE(4456, 31)
      {
         word pd25;
         pd25 = (* (( (ptr) (* (( (ptr) gf←c18036)+42)/* var←c15572 */  ))+11) );
         char←v6528 = (word) ( *( (fPt) ((*  (ptr) pd25 ))))(stream←v13260, pd25);
         };
SOURCE(4489, 715)
      {
         word var←c16116;
         var←c16116 = state←v6308;
         switch (var←c16116) {
            case 0: 
SOURCE(4515, 70)
               {
                  word var←c16148;
                  var←c16148 = char←v6528;
                  if ((var←c16148 == 34)) {
SOURCE(4538, 4)
                     goto lab←L100024;
                     }
                  else {
                     if ((var←c16148 == 92)) {
SOURCE(4551, 12)
                        state←v6308 = 1;
                        }
                     else {
SOURCE(4576, 9)
                        (void) ( *( (fPt) ((*  (ptr) put←v13288 ))))(char←v6528, put←v13288);
                        };
                     };
                  };
               break;
            case 1: 
SOURCE(4595, 365)
               {
                  word var←c16180;
                  var←c16180 = char←v6528;
                  if ((var←c16180 == 110) || (var←c16180 == 78)) {
SOURCE(4624, 8)
                     (void) ( *( (fPt) ((*  (ptr) put←v13288 ))))(10, put←v13288);
SOURCE(4634, 13)
                     state←v6308 = 0;
                     goto endif026;
                     };
                  if ((var←c16180 == 114) || (var←c16180 == 82)) {
SOURCE(4662, 8)
                     (void) ( *( (fPt) ((*  (ptr) put←v13288 ))))(13, put←v13288);
SOURCE(4672, 13)
                     state←v6308 = 0;
                     goto endif026;
                     };
                  if ((var←c16180 == 108) || (var←c16180 == 76)) {
SOURCE(4700, 8)
                     (void) ( *( (fPt) ((*  (ptr) put←v13288 ))))(10, put←v13288);
SOURCE(4710, 13)
                     state←v6308 = 0;
                     goto endif026;
                     };
                  if ((var←c16180 == 116) || (var←c16180 == 84)) {
SOURCE(4738, 8)
                     (void) ( *( (fPt) ((*  (ptr) put←v13288 ))))(9, put←v13288);
SOURCE(4748, 13)
                     state←v6308 = 0;
                     goto endif026;
                     };
                  if ((var←c16180 == 98) || (var←c16180 == 66)) {
SOURCE(4776, 8)
                     (void) ( *( (fPt) ((*  (ptr) put←v13288 ))))(8, put←v13288);
SOURCE(4786, 13)
                     state←v6308 = 0;
                     goto endif026;
                     };
                  if ((var←c16180 == 102) || (var←c16180 == 70)) {
SOURCE(4814, 8)
                     (void) ( *( (fPt) ((*  (ptr) put←v13288 ))))(12, put←v13288);
SOURCE(4824, 13)
                     state←v6308 = 0;
                     goto endif026;
                     };
                  if (((var←c16180 == 39) || (var←c16180 == 34)) || (var←c16180 == 92)) {
SOURCE(4857, 9)
                     (void) ( *( (fPt) ((*  (ptr) put←v13288 ))))(char←v6528, put←v13288);
SOURCE(4868, 13)
                     state←v6308 = 0;
                     goto endif026;
                     };
                  if (((var←c16180 - 48) <= 3)) {
SOURCE(4900, 14)
                     code←v6336 = BCK((char←v6528 - 48), 256);
SOURCE(4916, 13)
                     state←v6308 = 2;
                     goto endif026;
                     };
SOURCE(4943, 17)
                  (void) XR←RaiseError((word) (( (bPt) gf←c18036)+36)/* var←c14900 */ , 0);
                  goto endif026;
                  endif026: ;
                  };
               break;
            case 2: 
SOURCE(4970, 104)
               {
                  word var←c16212;
                  var←c16212 = char←v6528;
                  if (((var←c16212 - 48) <= 7)) {
SOURCE(5003, 25)
                     {
                        word idx27;
                        code←v6336 = (
                           idx27 = (word) (((word) code←v6336 << 3) + (char←v6528 - 48)),
                           BCK(idx27, 256)
                           );
                        };
SOURCE(5030, 13)
                     state←v6308 = 3;
                     }
                  else {
SOURCE(5057, 17)
                     (void) XR←RaiseError((word) (( (bPt) gf←c18036)+36)/* var←c14900 */ , 0);
                     };
                  };
               break;
            case 3: 
SOURCE(5084, 120)
               {
                  word var←c16244;
                  var←c16244 = char←v6528;
                  if (((var←c16244 - 48) <= 7)) {
SOURCE(5117, 25)
                     {
                        word idx28;
                        code←v6336 = (
                           idx28 = (word) (((word) code←v6336 << 3) + (char←v6528 - 48)),
                           BCK(idx28, 256)
                           );
                        };
SOURCE(5144, 14)
                     (void) ( *( (fPt) ((*  (ptr) put←v13288 ))))(code←v6336, put←v13288);
SOURCE(5160, 13)
                     state←v6308 = 0;
                     }
                  else {
SOURCE(5187, 17)
                     (void) XR←RaiseError((word) (( (bPt) gf←c18036)+36)/* var←c14900 */ , 0);
                     };
                  };
               break;
            default: 
SOURCE(5217, 5)
               (void) XR←RaiseUnnamedError();
               break;
            };
         };
      };
   goto lab←L100025;
   lab←L100024: ;
   }

static word RopeFromString←P360(formal←c0303, formal←c0304)
   word formal←c0303;
   word formal←c0304;
   {
   W9 var←c18068;
   /* declaration of stream←v4916 skipped */ 
   /* declaration of string←v4944 skipped */ 
   /* declaration of rope←v4988 skipped */ 
   /* declaration of var←c16276 skipped */ 
   (* (( (ptr) &var←c18068)+4)/* stream←v4916 */  ) = formal←c0303;
   (* (( (ptr) &var←c18068)+5)/* string←v4944 */  ) = formal←c0304;
   /* RopeFromString: */ 
SOURCE(5238, 422)
   {
      word tmpAddr29;
      tmpAddr29 = (word) (( (ptr) &var←c18068)+7)/* var←c16276 */ ;
      (*  (ptr) tmpAddr29 ) = ( ((word)  (fPt) action←P1212) );
      (* (( (ptr) tmpAddr29) + 1) ) = 1;
      };
SOURCE(5238, 422)
   (* (( (ptr) &var←c18068)+6)/* rope←v4988 */  ) = 0;
SOURCE(5635, 25)
   (void) DoWithScratchText←P180((word) (( (bPt) &var←c18068)+28)/* var←c16276 */ , 100);
SOURCE(5238, 422)
   return((* (( (ptr) &var←c18068)+6)/* rope←v4988 */  ));
   }

static void action←P1212(formal←c0305, formal←c18164)
   word formal←c0305;
   word formal←c18164;
   {
   W7 var←c18100;
   /* declaration of text←v6648 skipped */ 
   register ptr gf←c18132 =  (ptr) &globalframe;
   /* declaration of var←c16308 skipped */ 
   formal←c18164 = (formal←c18164 - 28);
   var←c18100.f4/* text←v6648 */  = formal←c0305;
   var←c18100.f0 = formal←c18164;
   /* action: */ 
SOURCE(5325, 305)
   {
      word tmpAddr30;
      tmpAddr30 = (word) (( (ptr) &var←c18100)+5)/* var←c16308 */ ;
      (*  (ptr) tmpAddr30 ) = ( ((word)  (fPt) put←P1272) );
      (* (( (ptr) tmpAddr30) + 1) ) = 1;
      };
SOURCE(5539, 19)
   {
      word pd31;
      pd31 = (* (( (ptr) formal←c18164)+5) );
      (void) ( *( (fPt) ((*  (ptr) pd31 ))))((* (( (ptr) formal←c18164)+4) ), (word) (( (bPt) &var←c18100)+20)/* var←c16308 */ , pd31)
      ;
      };
SOURCE(5560, 70)
   if (( (unsigned) (*  (hPt) var←c18100.f4/* text←v6648 */  ) != 0)) {
SOURCE(5582, 48)
      {
         word var←c16340;
         {
            word pd32;
            pd32 = (* (( (ptr) (* (( (ptr) gf←c18132)+44)/* var←c16372 */  ))+35) );
            var←c16340 = (word) ( *( (fPt) ((*  (ptr) pd32 ))))(var←c18100.f4/* text←v6648 */ , 0, 32767, pd32);
            };
         {
            word pd33;
            pd33 = (* (( (ptr) (* (( (ptr) gf←c18132)+44)/* var←c16372 */  ))+6) );
            (* (( (ptr) formal←c18164)+6) ) = (word) ( *( (fPt) ((*  (ptr) pd33 ))))((* (( (ptr) formal←c18164)+6) ), var←c16340, pd33)
            ;
            };
         };
      };
   }

static void put←P1272(char←v6764, formal←c18228)
   word char←v6764;
   word formal←c18228;
   {
   register ptr gf←c18196 =  (ptr) &globalframe;
   formal←c18228 = (formal←c18228 - 20);
   /* put: */ 
SOURCE(5358, 176)
SOURCE(5384, 102)
   if (( (unsigned) (*  (hPt) (* (( (ptr) formal←c18228)+4) ) ) >= 32767)) {
SOURCE(5421, 48)
      {
         word var←c16404;
         {
            word pd34;
            pd34 = (* (( (ptr) (* (( (ptr) gf←c18196)+44)/* var←c16372 */  ))+35) );
            var←c16404 = (word) ( *( (fPt) ((*  (ptr) pd34 ))))((* (( (ptr) formal←c18228)+4) ), 0, 32767, pd34);
            };
         {
            word pd35;
            pd35 = (* (( (ptr) (* (( (ptr) gf←c18196)+44)/* var←c16372 */  ))+6) );
            (* (( (ptr) (*  (ptr) formal←c18228 ))+6) ) = (word) ( *( (fPt) ((*  (ptr) pd35 ))))((* (( (ptr) (*  (ptr) formal←c18228 ))+6)
                ), var←c16404, pd35);
            };
         };
SOURCE(5471, 15)
      (*  (hPt) (* (( (ptr) formal←c18228)+4) ) ) = 0;
      };
SOURCE(5491, 43)
   {
      word var←c16436;
      word to←v14748;
      word from←v14776;
      to←v14748 = (* (( (ptr) formal←c18228)+4) );
      from←v14776 = char←v6764;
      if (( (unsigned) (*  (hPt) to←v14748 ) >=  (unsigned) (* (( (hPt) to←v14748)+1) ))) {
         {
            word pd36;
            pd36 = (* (( (ptr) (* (( (ptr) gf←c18196)+43)/* var←c16052 */  ))+11) );
            var←c16436 = (word) ( *( (fPt) ((*  (ptr) pd36 ))))(to←v14748, from←v14776, pd36);
            };
         goto lab←L100026;
         };
      {
         word idx37;
         word limit38;
         (* ((( (bPt) to←v14748)+4)+(
               idx37 = (word)  (unsigned) (*  (hPt) to←v14748 ),
               limit38 = (word)  (unsigned) (* (( (hPt) to←v14748)+1) ),
               BCK(idx37, limit38)
               )) ) = from←v14776;
         };
      {
         word idx39;
         (*  (hPt) to←v14748 ) = (
            idx39 = (word) ( (unsigned) (*  (hPt) to←v14748 ) + 1),
            BCK(idx39, 32768)
            );
         };
      var←c16436 = to←v14748;
      lab←L100026: ;
      (* (( (ptr) formal←c18228)+4) ) = var←c16436;
      };
   }

static void SkipString←P420(stream←v5048, string←v5076)
   word stream←v5048;
   word string←v5076;
   {
   W6 var←c18260;
   /* declaration of var←c16500 skipped */ 
   /* SkipString: */ 
SOURCE(5666, 105)
   {
      word tmpAddr40;
      tmpAddr40 = (word) (( (ptr) &var←c18260)+4)/* var←c16500 */ ;
      (*  (ptr) tmpAddr40 ) = ( ((word)  (fPt) put←P1332) );
      (* (( (ptr) tmpAddr40) + 1) ) = 1;
      };
SOURCE(5752, 19)
   (void) ( *( (fPt) ((*  (ptr) string←v5076 ))))(stream←v5048, (word) (( (bPt) &var←c18260)+16)/* var←c16500 */ , string←v5076)
   ;
   }

static void put←P1332(char←v6868, formal←c18292)
   word char←v6868;
   word formal←c18292;
   {
   formal←c18292 = (formal←c18292 - 16);
   /* put: */ 
   }

static void SkipJaMComment←P480(formal←c0306)
   word formal←c0306;
   {
   W7 var←c18324;
   /* declaration of stream←v5136 skipped */ 
   register ptr gf←c18356 =  (ptr) &globalframe;
   var←c18324.f4/* stream←v5136 */  = formal←c0306;
   /* SkipJaMComment: */ 
SOURCE(5777, 131)
SOURCE(5818, 90)
   lab←L100029: ;
SOURCE(5818, 90)
   {
      word char←v6896;
SOURCE(5821, 51)
      {
         /* declaration of var←c05 skipped */ 
         var←c18324.f5/* var←c05 */  = (* (( (ptr) (* (( (ptr) gf←c18356)+42)/* var←c15572 */  ))+11) );
         {
            /* declaration of var←c06 skipped */ 
            {
               word var←c07;
               {
                  word var←c0271;
                  var←c0271 = (word) &var←c18324;
                  var←c07 = (word) XR←Enable(( ((word)  (fPt) NoName←Q2376) ), ( ((word)  (fPt) NoName←Q2916) ), var←c0271);
                  };
               if ((var←c07 == 3)) {
                  goto lab←L100028;
                  };
               };
            char←v6896 = var←c18324.f6/* var←c06 */ ;
            };
         };
SOURCE(5879, 29)
      {
         word var←c16532;
         var←c16532 = char←v6896;
         if ((var←c16532 == 13) || (var←c16532 == 10)) {
SOURCE(5908, 4)
            goto lab←L100028;
            };
         };
      };
   goto lab←L100029;
   lab←L100028: ;
   }

static word NoName←Q2376(formal←c0243)
   word formal←c0243;
   {
SOURCE(5821, 51)
   {
      word pd41;
      pd41 = (* (( (ptr) formal←c0243)+5) );
      (* (( (ptr) formal←c0243)+6) ) = (word) ( *( (fPt) ((*  (ptr) pd41 ))))((* ((( (ptr) formal←c0243)+4)) ), pd41);
      };
   return(0);
   }

static void SkipCedarComment←P540(formal←c0307)
   word formal←c0307;
   {
   W7 var←c18388;
   /* declaration of stream←v5196 skipped */ 
   register ptr gf←c18420 =  (ptr) &globalframe;
   word state←v6940 = 0;
   var←c18388.f4/* stream←v5196 */  = formal←c0307;
   /* SkipCedarComment: */ 
SOURCE(5936, 292)
SOURCE(6007, 221)
   lab←L100034: ;
SOURCE(6007, 221)
   {
      word char←v7056;
SOURCE(6010, 51)
      {
         /* declaration of var←c08 skipped */ 
         var←c18388.f5/* var←c08 */  = (* (( (ptr) (* (( (ptr) gf←c18420)+42)/* var←c15572 */  ))+11) );
         {
            /* declaration of var←c09 skipped */ 
            {
               word var←c010;
               {
                  word var←c0272;
                  var←c0272 = (word) &var←c18388;
                  var←c010 = (word) XR←Enable(( ((word)  (fPt) NoName←Q2436) ), ( ((word)  (fPt) NoName←Q2856) ), var←c0272);
                  };
               if ((var←c010 == 4)) {
                  goto lab←L100033;
                  };
               };
            char←v7056 = var←c18388.f6/* var←c09 */ ;
            };
         };
SOURCE(6068, 160)
      {
         word var←c16564;
         var←c16564 = state←v6940;
         if ((var←c16564 == 0)) {
SOURCE(6094, 53)
            {
               word var←c16596;
               var←c16596 = char←v7056;
               switch (var←c16596) {
                  case 13: case 10: 
SOURCE(6123, 4)
                     goto lab←L100033;
                  case 45: 
SOURCE(6135, 12)
                     state←v6940 = 1;
                     break;
                  };
               };
            }
         else {
            if ((var←c16564 == 1)) {
SOURCE(6166, 62)
               {
                  word var←c16628;
                  var←c16628 = char←v7056;
                  switch (var←c16628) {
                     case 13: case 10: case 45: 
SOURCE(6199, 4)
                        goto lab←L100033;
                     default: 
SOURCE(6216, 12)
                        state←v6940 = 0;
                        break;
                     };
                  };
               };
            };
         };
      };
   goto lab←L100034;
   lab←L100033: ;
   }

static word NoName←Q2436(formal←c0245)
   word formal←c0245;
   {
SOURCE(6010, 51)
   {
      word pd42;
      pd42 = (* (( (ptr) formal←c0245)+5) );
      (* (( (ptr) formal←c0245)+6) ) = (word) ( *( (fPt) ((*  (ptr) pd42 ))))((* ((( (ptr) formal←c0245)+4)) ), pd42);
      };
   return(0);
   }

static word IntFromText←P600(text←v5256)
   word text←v5256;
   {
   register ptr gf←c18452 =  (ptr) &globalframe;
   word var←c5312;
   /* IntFromText: */ 
SOURCE(6252, 118)
SOURCE(6312, 58)
   {
      word var←c16692;
      {
         word text←v14700;
         text←v14700 = text←v5256;
         var←c16692 = text←v14700;
         };
      {
         word pd43;
         pd43 = (* (( (ptr) (* (( (ptr) gf←c18452)+45)/* var←c16756 */  ))+10) );
         return((word) ( *( (fPt) ((*  (ptr) pd43 ))))(var←c16692, 8, pd43));
         };
      };
   }

static word RealFromText←P660(text←v5372)
   word text←v5372;
   {
   register ptr gf←c18484 =  (ptr) &globalframe;
   word var←c5428;
   /* RealFromText: */ 
SOURCE(6376, 121)
SOURCE(6438, 59)
   {
      word var←c16820;
      {
         word text←v14652;
         text←v14652 = text←v5372;
         var←c16820 = text←v14652;
         };
      {
         word pd44;
         pd44 = (* (( (ptr) (* (( (ptr) gf←c18484)+45)/* var←c16756 */  ))+12) );
         return((word) ( *( (fPt) ((*  (ptr) pd44 ))))(var←c16820, pd44));
         };
      };
   }

static void NumFromText←P720(formal←c0132, formal←c0308)
   word formal←c0132;
   word formal←c0308;
   {
   W6 var←c18516;
   /* declaration of text←v5488 skipped */ 
   W2 var←c5544;
   var←c18516.f4/* text←v5488 */  = formal←c0308;
   /* NumFromText: */ 
SOURCE(6503, 186)
SOURCE(6569, 72)
SOURCE(6569, 72)
   {
      W2 var←c16916;
      {
         W2 var←c16884;
         var←c16884.f0 = 0;
         {
            /* declaration of var←c011 skipped */ 
            {
               word var←c012;
               {
                  word var←c0273;
                  var←c0273 = (word) &var←c18516;
                  var←c012 = (word) XR←Enable(( ((word)  (fPt) NoName←Q2496) ), ( ((word)  (fPt) NoName←Q2796) ), var←c0273);
                  };
               if ((var←c012 == 5)) {
                  goto lab←L100041;
                  };
               };
            var←c16884.f1 = var←c18516.f5/* var←c011 */ ;
            };
         var←c16916 = var←c16884;
         };
      var←c5544 = var←c16916;
      goto lab←L100039;
      };
   lab←L100041: ;
SOURCE(6655, 34)
   {
      W2 var←c16980;
      {
         W2 var←c16948;
         var←c16948.f0 = 1;
         var←c16948.f1 = (word) RealFromText←P660(var←c18516.f4/* text←v5488 */ );
         var←c16980 = var←c16948;
         };
      var←c5544 = var←c16980;
      /* removed tail goto */ 
      };
   lab←L100039: ;
   (*  (W2Pt) formal←c0132 ) = var←c5544;
   return;
   }

static word NoName←Q2496(formal←c0248)
   word formal←c0248;
   {
SOURCE(6569, 72)
   (* (( (ptr) formal←c0248)+5) ) = (word) IntFromText←P600((* ((( (ptr) formal←c0248)+4)) ));
   return(0);
   }

static void ExecuteStream←P780(formal←c0309, formal←c0310, closeAtEnd←v5660)
   word formal←c0309;
   word formal←c0310;
   word closeAtEnd←v5660;
   {
   W11 var←c18548;
   /* declaration of frame←v5604 skipped */ 
   /* declaration of stream←v5632 skipped */ 
   register ptr gf←c18580 =  (ptr) &globalframe;
   /* declaration of var←c17012 skipped */ 
   /* declaration of var←c17044 skipped */ 
   /* declaration of arrayNest←v7100 skipped */ 
   (* (( (ptr) &var←c18548)+4)/* frame←v5604 */  ) = formal←c0309;
   (* (( (ptr) &var←c18548)+5)/* stream←v5632 */  ) = formal←c0310;
   /* ExecuteStream: */ 
SOURCE(6729, 1478)
   {
      word tmpAddr45;
      tmpAddr45 = (word) (( (ptr) &var←c18548)+6)/* var←c17012 */ ;
      (*  (ptr) tmpAddr45 ) = ( ((word)  (fPt) bufferAction←P1548) );
      (* (( (ptr) tmpAddr45) + 1) ) = 1;
      };
   {
      word tmpAddr46;
      tmpAddr46 = (word) (( (ptr) &var←c18548)+8)/* var←c17044 */ ;
      (*  (ptr) tmpAddr46 ) = ( ((word)  (fPt) tokenAction←P1488) );
      (* (( (ptr) tmpAddr46) + 1) ) = 1;
      };
SOURCE(6815, 18)
   (* (( (ptr) &var←c18548)+10)/* arrayNest←v7100 */  ) = 0;
SOURCE(8139, 31)
   (void) DoWithScratchText←P180((word) (( (bPt) &var←c18548)+24)/* var←c17012 */ , 100);
SOURCE(8172, 35)
   if ((0 != closeAtEnd←v5660)) {
SOURCE(8191, 16)
      {
         word pd47;
         pd47 = (* (( (ptr) (* (( (ptr) gf←c18580)+42)/* var←c15572 */  ))+28) );
         (void) ( *( (fPt) ((*  (ptr) pd47 ))))((* (( (ptr) &var←c18548)+5)/* stream←v5632 */  ), 0, pd47);
         };
      };
   }

static word tokenAction←P1488(state←v14032, text←v14060, stream←v14088, formal←c18644)
   word state←v14032;
   word text←v14060;
   word stream←v14088;
   word formal←c18644;
   {
   register ptr gf←c18612 =  (ptr) &globalframe;
   word quit←v14132;
   formal←c18644 = (formal←c18644 - 32);
   /* tokenAction: */ 
SOURCE(6835, 963)
SOURCE(6835, 963)
   quit←v14132 = 0;
SOURCE(6861, 937)
SOURCE(6863, 774)
   {
      word var←c17076;
      var←c17076 = state←v14032;
      switch (var←c17076) {
         case 12: 
SOURCE(6891, 455)
            {
               word var←c17108;
               {
                  word limit48;
                  var←c17108 =  (unsigned) (word) (* ((( (bPt) text←v14060)+4)+(
                        limit48 = (word)  (unsigned) (* (( (hPt) text←v14060)+1) ),
                        BCK(0, limit48)
                        )) );
                  };
               switch (var←c17108) {
                  case 40: 
SOURCE(6917, 48)
                     {
                        word var←c17140;
                        var←c17140 = (word) RopeFromString←P360(stream←v14088, (word) (( (bPt) gf←c18612)+128)/* var←c15284 */ );
                        {
                           word pd49;
                           pd49 = (* (( (ptr) (* (( (ptr) gf←c18612)+46)/* var←c17172 */  ))+31) );
                           (void) ( *( (fPt) ((*  (ptr) pd49 ))))((* (( (ptr) formal←c18644)+4) ), var←c17140, pd49);
                           };
                        };
                     break;
                  case 34: 
SOURCE(6973, 48)
                     {
                        word var←c17204;
                        var←c17204 = (word) RopeFromString←P360(stream←v14088, (word) (( (bPt) gf←c18612)+120)/* var←c15252 */ );
                        {
                           word pd50;
                           pd50 = (* (( (ptr) (* (( (ptr) gf←c18612)+46)/* var←c17172 */  ))+31) );
                           (void) ( *( (fPt) ((*  (ptr) pd50 ))))((* (( (ptr) formal←c18644)+4) ), var←c17204, pd50);
                           };
                        };
                     break;
                  case 123: 
SOURCE(7031, 23)
                     (* (( (ptr) formal←c18644)+10) ) = ((* (( (ptr) formal←c18644)+10) ) + 1);
SOURCE(7056, 26)
                     {
                        word pd51;
                        pd51 = (* (( (ptr) (* (( (ptr) gf←c18612)+46)/* var←c17172 */  ))+36) );
                        (void) ( *( (fPt) ((*  (ptr) pd51 ))))((* (( (ptr) formal←c18644)+4) ), (* (( (ptr) gf←c18612)+5)/* arrayMark←v3308 */  ), pd51)
                        ;
                        };
                     break;
                  case 125: 
SOURCE(7093, 220)
                     if (( (int)(* (( (ptr) formal←c18644)+10) ) ==  (int)0)) {
SOURCE(7113, 15)
                        goto lab←L100044;
                        }
                     else {
SOURCE(7128, 187)
                        {
                           word len←v7272;
                           word array←v7300;
SOURCE(7130, 29)
                           {
/*1*/   word pd52;
/*1*/   pd52 = (* (( (ptr) (* (( (ptr) gf←c18612)+46)/* var←c17172 */  ))+59) );
/*1*/   len←v7272 = (word) ( *( (fPt) ((*  (ptr) pd52 ))))((* ((( (ptr) formal←c18644)+4)) ), pd52);
/*1*/   };
SOURCE(7161, 28)
                           {
/*1*/   word pd53;
/*1*/   pd53 = (* (( (ptr) (* (( (ptr) gf←c18612)+46)/* var←c17172 */  ))+61) );
/*1*/   array←v7300 = (word) ( *( (fPt) ((*  (ptr) pd53 ))))(len←v7272, pd53);
/*1*/   };
SOURCE(7191, 20)
                           {
/*1*/   word pd54;
/*1*/   pd54 = (* (( (ptr) (* (( (ptr) gf←c18612)+46)/* var←c17172 */  ))+69) );
/*1*/   (void) ( *( (fPt) ((*  (ptr) pd54 ))))((* (( (ptr) formal←c18644)+4) ), array←v7300, pd54);
/*1*/   };
SOURCE(7213, 50)
                           {
/*1*/   word pd55;
/*1*/   pd55 = (* (( (ptr) (* (( (ptr) gf←c18612)+46)/* var←c17172 */  ))+48) );
/*1*/   if (((word) ( *( (fPt) ((*  (ptr) pd55 ))))((* ((( (ptr) formal←c18644)+4)) ), pd55) != (* (( (ptr) gf←c18612)+5)/* arrayMark←v3308 */  ))) {
SOURCE(7246, 17)
/*1*/      {
/*1*/         word pd56;
/*1*/         pd56 = (* (( (ptr) (* (( (ptr) gf←c18612)+46)/* var←c17172 */  ))+95) );
/*1*/         (void) ( *( (fPt) ((*  (ptr) pd56 ))))(14, pd56);
/*1*/         };
/*1*/      };
/*1*/   };
SOURCE(7265, 23)
                           {
/*1*/   word pd57;
/*1*/   pd57 = (* (( (ptr) (* (( (ptr) gf←c18612)+46)/* var←c17172 */  ))+34) );
/*1*/   (void) ( *( (fPt) ((*  (ptr) pd57 ))))((* (( (ptr) formal←c18644)+4) ), array←v7300, pd57);
/*1*/   };
SOURCE(7290, 23)
                           (* (( (ptr) formal←c18644)+10) ) = ((* (( (ptr) formal←c18644)+10) ) - 1);
                           };
                        };
                     break;
                  case 37: 
SOURCE(7324, 22)
                     (void) SkipJaMComment←P480(stream←v14088);
                     break;
                  default: 
SOURCE(7359, 9)
                     goto lab←L100044;
                  };
               };
            break;
         case 13: 
SOURCE(7380, 76)
            {
               word var←c17236;
               {
                  word limit58;
                  var←c17236 =  (unsigned) (word) (* ((( (bPt) text←v14060)+4)+(
                        limit58 = (word)  (unsigned) (* (( (hPt) text←v14060)+1) ),
                        BCK(0, limit58)
                        )) );
                  };
               if ((var←c17236 == 45)) {
SOURCE(7406, 50)
                  {
                     word var←c17268;
                     {
                        word limit59;
                        var←c17268 =  (unsigned) (word) (* ((( (bPt) text←v14060)+4)+(
/*1*/   limit59 = (word)  (unsigned) (* (( (hPt) text←v14060)+1) ),
/*1*/   BCK(1, limit59)
/*1*/   )) );
                        };
                     if ((var←c17268 == 45)) {
SOURCE(7432, 24)
                        (void) SkipCedarComment←P540(stream←v14088);
                        }
                     else {
SOURCE(7469, 9)
                        goto lab←L100044;
                        };
                     };
                  }
               else {
SOURCE(7491, 9)
                  goto lab←L100044;
                  };
               };
            break;
         case 4: 
SOURCE(7509, 33)
            {
               W2 var←c17300;
               (void) NumFromText←P720((word) &var←c17300, text←v14060);
               {
                  word pd60;
                  pd60 = (* (( (ptr) (* (( (ptr) gf←c18612)+46)/* var←c17172 */  ))+29) );
                  (void) ( *( (fPt) ((*  (ptr) pd60 ))))((* (( (ptr) formal←c18644)+4) ), var←c17300, pd60);
                  };
               };
            break;
         case 5: 
SOURCE(7551, 33)
            {
               word var←c17332;
               var←c17332 = (word) IntFromText←P600(text←v14060);
               {
                  word pd61;
                  pd61 = (* (( (ptr) (* (( (ptr) gf←c18612)+46)/* var←c17172 */  ))+27) );
                  (void) ( *( (fPt) ((*  (ptr) pd61 ))))((* (( (ptr) formal←c18644)+4) ), var←c17332, pd61);
                  };
               };
            break;
         case 8: case 11: 
SOURCE(7602, 35)
            {
               word var←c17364;
               var←c17364 = (word) RealFromText←P660(text←v14060);
               {
                  word pd62;
                  pd62 = (* (( (ptr) (* (( (ptr) gf←c18612)+46)/* var←c17172 */  ))+28) );
                  (void) ( *( (fPt) ((*  (ptr) pd62 ))))((* (( (ptr) formal←c18644)+4) ), var←c17364, pd62);
                  };
               };
            break;
         default: 
SOURCE(7650, 9)
            goto lab←L100044;
         };
      };
   goto lab←L100045;
   lab←L100044: ;
SOURCE(7675, 120)
   {
      word atom←v7344;
SOURCE(7677, 43)
      {
         word pd63;
         pd63 = (* (( (ptr) (* (( (ptr) gf←c18612)+47)/* var←c17396 */  ))+8) );
         atom←v7344 = (word) ( *( (fPt) ((*  (ptr) pd63 ))))(text←v14060, pd63);
         };
SOURCE(7722, 71)
      if (( (int)(* (( (ptr) formal←c18644)+10) ) >  (int)0)) {
SOURCE(7742, 27)
         {
            word pd64;
            pd64 = (* (( (ptr) (* (( (ptr) gf←c18612)+46)/* var←c17172 */  ))+30) );
            (void) ( *( (fPt) ((*  (ptr) pd64 ))))((* (( (ptr) formal←c18644)+4) ), atom←v7344, pd64);
            };
         }
      else {
SOURCE(7769, 24)
         {
            word pd65;
            pd65 = (* (( (ptr) (* (( (ptr) gf←c18612)+46)/* var←c17172 */  ))+100) );
            (void) ( *( (fPt) ((*  (ptr) pd65 ))))((* (( (ptr) formal←c18644)+4) ), atom←v7344, pd65);
            };
         };
      };
   lab←L100045: ;
SOURCE(6835, 963)
   return(quit←v14132);
   }

static void bufferAction←P1548(formal←c0311, formal←c18740)
   word formal←c0311;
   word formal←c18740;
   {
   W6 var←c18676;
   /* declaration of buffer←v7232 skipped */ 
   register ptr gf←c18708 =  (ptr) &globalframe;
   formal←c18740 = (formal←c18740 - 24);
   var←c18676.f4/* buffer←v7232 */  = formal←c0311;
   var←c18676.f0 = formal←c18740;
   /* bufferAction: */ 
SOURCE(7801, 335)
SOURCE(7840, 296)
SOURCE(7842, 87)
   {
      word var←c17428;
      {
         /* declaration of var←c013 skipped */ 
         {
            word var←c014;
            {
               word var←c0274;
               var←c0274 = (word) &var←c18676;
               var←c014 = (word) XR←Enable(( ((word)  (fPt) NoName←Q2556) ), ( ((word)  (fPt) NoName←Q2736) ), var←c0274);
               };
            if ((var←c014 == 7)) {
               goto lab←L100047;
               }
            else {
               if ((var←c014 == 6)) {
                  goto lab←L100046;
                  };
               };
            };
         var←c17428 = var←c18676.f5/* var←c013 */ ;
         };
      };
SOURCE(7991, 45)
   if (( (int)(* (( (ptr) formal←c18740)+10) ) >  (int)0)) {
SOURCE(8011, 25)
      {
         word pd66;
         pd66 = (* (( (ptr) (* (( (ptr) gf←c18708)+46)/* var←c17172 */  ))+95) );
         (void) ( *( (fPt) ((*  (ptr) pd66 ))))(13, pd66);
         };
      };
   goto lab←L100050;
   lab←L100046: ;
SOURCE(8063, 25)
   {
      word pd67;
      pd67 = (* (( (ptr) (* (( (ptr) gf←c18708)+46)/* var←c17172 */  ))+95) );
      (void) ( *( (fPt) ((*  (ptr) pd67 ))))(13, pd67);
      };
   goto lab←L100050;
   lab←L100047: ;
SOURCE(8109, 25)
   {
      word pd68;
      pd68 = (* (( (ptr) (* (( (ptr) gf←c18708)+46)/* var←c17172 */  ))+95) );
      (void) ( *( (fPt) ((*  (ptr) pd68 ))))(12, pd68);
      };
   lab←L100050: ;
   }

static word NoName←Q2556(formal←c0254)
   word formal←c0254;
   {
SOURCE(7842, 87)
   (* (( (ptr) formal←c0254)+5) ) = (word) MapTokens←P120((* (( (ptr) (*  (ptr) formal←c0254 ))+5) ), (* (( (ptr) formal←c0254)+4)
       ), (word) (( (bPt) (*  (ptr) formal←c0254 ))+32));
   return(0);
   }

static void ExecuteRope←P840(frame←v5720, rope←v5748)
   word frame←v5720;
   word rope←v5748;
   {
   register ptr gf←c18772 =  (ptr) &globalframe;
   word stream←v7388;
   /* ExecuteRope: */ 
SOURCE(8213, 114)
SOURCE(8268, 29)
   {
      word pd69;
      pd69 = (* (( (ptr) (* (( (ptr) gf←c18772)+42)/* var←c15572 */  ))+33) );
      stream←v7388 = (word) ( *( (fPt) ((*  (ptr) pd69 ))))(rope←v5748, 0, pd69);
      };
SOURCE(8299, 28)
   (void) ExecuteStream←P780(frame←v5720, stream←v7388, 1);
   }

static word LineComplete←P900(rope←v5808)
   word rope←v5808;
   {
   W11 var←c18804;
   register ptr gf←c18836 =  (ptr) &globalframe;
   word var←c5852;
   /* declaration of var←c17460 skipped */ 
   /* declaration of var←c17492 skipped */ 
   /* declaration of stream←v7432 skipped */ 
   /* declaration of arrayNest←v7460 skipped */ 
   /* declaration of endOfStream←v7488 skipped */ 
   /* LineComplete: */ 
SOURCE(8333, 910)
   {
      word tmpAddr70;
      tmpAddr70 = (word) (( (ptr) &var←c18804)+4)/* var←c17460 */ ;
      (*  (ptr) tmpAddr70 ) = ( ((word)  (fPt) bufferAction←P1764) );
      (* (( (ptr) tmpAddr70) + 1) ) = 1;
      };
   {
      word tmpAddr71;
      tmpAddr71 = (word) (( (ptr) &var←c18804)+6)/* var←c17492 */ ;
      (*  (ptr) tmpAddr71 ) = ( ((word)  (fPt) tokenAction←P1704) );
      (* (( (ptr) tmpAddr71) + 1) ) = 1;
      };
SOURCE(8389, 29)
   {
      word pd72;
      pd72 = (* (( (ptr) (* (( (ptr) gf←c18836)+42)/* var←c15572 */  ))+33) );
      (* (( (ptr) &var←c18804)+8)/* stream←v7432 */  ) = (word) ( *( (fPt) ((*  (ptr) pd72 ))))(rope←v5808, 0, pd72);
      };
SOURCE(8420, 18)
   (* (( (ptr) &var←c18804)+9)/* arrayNest←v7460 */  ) = 0;
SOURCE(8440, 25)
   (* (( (ptr) &var←c18804)+10)/* endOfStream←v7488 */  ) = 0;
SOURCE(9187, 31)
   (void) DoWithScratchText←P180((word) (( (bPt) &var←c18804)+16)/* var←c17460 */ , 100);
SOURCE(9220, 23)
   return( (unsigned) (0 == (* (( (ptr) &var←c18804)+10)/* endOfStream←v7488 */  )));
   }

static word tokenAction←P1704(state←v14364, text←v14392, stream←v14420, formal←c18900)
   word state←v14364;
   word text←v14392;
   word stream←v14420;
   word formal←c18900;
   {
   register ptr gf←c18868 =  (ptr) &globalframe;
   word quit←v14464;
   formal←c18900 = (formal←c18900 - 24);
   /* tokenAction: */ 
SOURCE(8467, 361)
SOURCE(8467, 361)
   quit←v14464 = 0;
SOURCE(8495, 333)
   {
      word var←c17524;
      var←c17524 = state←v14364;
      if ((var←c17524 == 12)) {
SOURCE(8523, 200)
         {
            word var←c17556;
            {
               word limit73;
               var←c17556 =  (unsigned) (word) (* ((( (bPt) text←v14392)+4)+(
                     limit73 = (word)  (unsigned) (* (( (hPt) text←v14392)+1) ),
                     BCK(0, limit73)
                     )) );
               };
            switch (var←c17556) {
               case 40: 
SOURCE(8549, 27)
                  (void) SkipString←P420(stream←v14420, (word) (( (bPt) gf←c18868)+128)/* var←c15284 */ );
                  break;
               case 34: 
SOURCE(8584, 27)
                  (void) SkipString←P420(stream←v14420, (word) (( (bPt) gf←c18868)+120)/* var←c15252 */ );
                  break;
               case 123: 
SOURCE(8619, 23)
                  (* (( (ptr) formal←c18900)+9) ) = ((* (( (ptr) formal←c18900)+9) ) + 1);
                  break;
               case 125: 
SOURCE(8650, 43)
                  if (( (int)(* (( (ptr) formal←c18900)+9) ) >  (int)0)) {
SOURCE(8670, 23)
                     (* (( (ptr) formal←c18900)+9) ) = ((* (( (ptr) formal←c18900)+9) ) - 1);
                     };
                  break;
               case 37: 
SOURCE(8701, 22)
                  (void) SkipJaMComment←P480(stream←v14420);
                  break;
               default: 
                  break;
               };
            };
         }
      else {
         if ((var←c17524 == 13)) {
SOURCE(8752, 76)
            {
               word var←c17588;
               {
                  word limit74;
                  var←c17588 =  (unsigned) (word) (* ((( (bPt) text←v14392)+4)+(
                        limit74 = (word)  (unsigned) (* (( (hPt) text←v14392)+1) ),
                        BCK(0, limit74)
                        )) );
                  };
               if ((var←c17588 == 45)) {
SOURCE(8778, 50)
                  {
                     word var←c17620;
                     {
                        word limit75;
                        var←c17620 =  (unsigned) (word) (* ((( (bPt) text←v14392)+4)+(
/*1*/   limit75 = (word)  (unsigned) (* (( (hPt) text←v14392)+1) ),
/*1*/   BCK(1, limit75)
/*1*/   )) );
                        };
                     if ((var←c17620 == 45)) {
SOURCE(8804, 24)
                        (void) SkipCedarComment←P540(stream←v14420);
                        }
                     else {
                        };
                     };
                  }
               else {
                  };
               };
            }
         else {
            };
         };
      };
SOURCE(8467, 361)
   return(quit←v14464);
   }

static void bufferAction←P1764(formal←c0312, formal←c18964)
   word formal←c0312;
   word formal←c18964;
   {
   W6 var←c18932;
   /* declaration of buffer←v7620 skipped */ 
   formal←c18964 = (formal←c18964 - 16);
   var←c18932.f4/* buffer←v7620 */  = formal←c0312;
   var←c18932.f0 = formal←c18964;
   /* bufferAction: */ 
SOURCE(8884, 300)
SOURCE(8923, 261)
SOURCE(8925, 87)
   {
      word var←c17652;
      {
         /* declaration of var←c015 skipped */ 
         {
            word var←c016;
            {
               word var←c0275;
               var←c0275 = (word) &var←c18932;
               var←c016 = (word) XR←Enable(( ((word)  (fPt) NoName←Q2616) ), ( ((word)  (fPt) NoName←Q2676) ), var←c0275);
               };
            if ((var←c016 == 9)) {
               goto lab←L100052;
               }
            else {
               if ((var←c016 == 8)) {
                  goto lab←L100051;
                  };
               };
            };
         var←c17652 = var←c18932.f5/* var←c015 */ ;
         };
      };
SOURCE(9074, 38)
   if (( (int)(* (( (ptr) formal←c18964)+9) ) >  (int)0)) {
SOURCE(9094, 18)
      (* (( (ptr) formal←c18964)+10) ) = 1;
      };
   goto lab←L100055;
   lab←L100051: ;
SOURCE(9139, 18)
   (* (( (ptr) formal←c18964)+10) ) = 1;
   goto lab←L100055;
   lab←L100052: ;
   lab←L100055: ;
   }

static word NoName←Q2616(formal←c0260)
   word formal←c0260;
   {
SOURCE(8925, 87)
   (* (( (ptr) formal←c0260)+5) ) = (word) MapTokens←P120((* (( (ptr) (*  (ptr) formal←c0260 ))+8) ), (* (( (ptr) formal←c0260)+4)
       ), (word) (( (bPt) (*  (ptr) formal←c0260 ))+24));
   return(0);
   }

static void NoName←Q2676(formal←c0183, formal←c200028, formal←c200029, formal←c200030, formal←c200031)
   word formal←c0183;
   word formal←c200028;
   word formal←c200029;
   word formal←c200030;
   word formal←c200031;
   {
   register ptr gf←c0261 =  (ptr) &globalframe;
   if ((formal←c200029 == (* (( (ptr) (* (( (ptr) gf←c0261)+42)/* var←c15572 */  ))+4) ))) {
      {
         word stream←v14524;
         stream←v14524 = (*  (ptr) formal←c200031 );
SOURCE(9012, 20)
         (*  (ptr) formal←c0183 ) = 2;
         (* (( (ptr) formal←c0183)+1) ) = 8;
         return;
         };
      }
   else {
      if ((formal←c200029 == (word) (( (bPt) gf←c0261)+36)/* var←c14900 */ )) {
SOURCE(9049, 20)
         (*  (ptr) formal←c0183 ) = 2;
         (* (( (ptr) formal←c0183)+1) ) = 9;
         return;
         };
      };
   (*  (ptr) formal←c0183 ) = 0;
   (* (( (ptr) formal←c0183)+1) ) = 0;
   return;
   }

static void NoName←Q2736(formal←c0189, formal←c200024, formal←c200025, formal←c200026, formal←c200027)
   word formal←c0189;
   word formal←c200024;
   word formal←c200025;
   word formal←c200026;
   word formal←c200027;
   {
   register ptr gf←c0262 =  (ptr) &globalframe;
   if ((formal←c200025 == (* (( (ptr) (* (( (ptr) gf←c0262)+42)/* var←c15572 */  ))+4) ))) {
      {
         word stream←v14224;
         stream←v14224 = (*  (ptr) formal←c200027 );
SOURCE(7929, 20)
         (*  (ptr) formal←c0189 ) = 2;
         (* (( (ptr) formal←c0189)+1) ) = 6;
         return;
         };
      }
   else {
      if ((formal←c200025 == (word) (( (bPt) gf←c0262)+36)/* var←c14900 */ )) {
SOURCE(7966, 20)
         (*  (ptr) formal←c0189 ) = 2;
         (* (( (ptr) formal←c0189)+1) ) = 7;
         return;
         };
      };
   (*  (ptr) formal←c0189 ) = 0;
   (* (( (ptr) formal←c0189)+1) ) = 0;
   return;
   }

static void NoName←Q2796(formal←c0196, formal←c200020, formal←c200021, formal←c200022, formal←c200023)
   word formal←c0196;
   word formal←c200020;
   word formal←c200021;
   word formal←c200022;
   word formal←c200023;
   {
   register ptr gf←c0263 =  (ptr) &globalframe;
   if ((formal←c200021 == (* (( (ptr) (* (( (ptr) gf←c0263)+45)/* var←c16756 */  ))+7) ))) {
      {
         word reason←v13828;
         word index←v13856;
         reason←v13828 = (*  (ptr) formal←c200023 );
         index←v13856 = (* (( (ptr) formal←c200023)+1) );
SOURCE(6617, 24)
         if ((reason←v13828 == 1)) {
SOURCE(6641, 12)
            (*  (ptr) formal←c0196 ) = 2;
            (* (( (ptr) formal←c0196)+1) ) = 5;
            return;
            };
         };
      };
   (*  (ptr) formal←c0196 ) = 0;
   (* (( (ptr) formal←c0196)+1) ) = 0;
   return;
   }

static void NoName←Q2856(formal←c0202, formal←c200016, formal←c200017, formal←c200018, formal←c200019)
   word formal←c0202;
   word formal←c200016;
   word formal←c200017;
   word formal←c200018;
   word formal←c200019;
   {
   register ptr gf←c0264 =  (ptr) &globalframe;
   if ((formal←c200017 == (* (( (ptr) (* (( (ptr) gf←c0264)+42)/* var←c15572 */  ))+4) ))) {
      {
         word stream←v13684;
         stream←v13684 = (*  (ptr) formal←c200019 );
SOURCE(6061, 5)
         (*  (ptr) formal←c0202 ) = 2;
         (* (( (ptr) formal←c0202)+1) ) = 4;
         return;
         };
      };
   (*  (ptr) formal←c0202 ) = 0;
   (* (( (ptr) formal←c0202)+1) ) = 0;
   return;
   }

static void NoName←Q2916(formal←c0208, formal←c200012, formal←c200013, formal←c200014, formal←c200015)
   word formal←c0208;
   word formal←c200012;
   word formal←c200013;
   word formal←c200014;
   word formal←c200015;
   {
   register ptr gf←c0265 =  (ptr) &globalframe;
   if ((formal←c200013 == (* (( (ptr) (* (( (ptr) gf←c0265)+42)/* var←c15572 */  ))+4) ))) {
      {
         word stream←v13624;
         stream←v13624 = (*  (ptr) formal←c200015 );
SOURCE(5872, 5)
         (*  (ptr) formal←c0208 ) = 2;
         (* (( (ptr) formal←c0208)+1) ) = 3;
         return;
         };
      };
   (*  (ptr) formal←c0208 ) = 0;
   (* (( (ptr) formal←c0208)+1) ) = 0;
   return;
   }

static void NoName←Q2976(formal←c0213, formal←c200008, formal←c200009, formal←c200010, formal←c200011)
   word formal←c0213;
   word formal←c200008;
   word formal←c200009;
   word formal←c200010;
   word formal←c200011;
   {
   register ptr gf←c0266 =  (ptr) &globalframe;
   if ((formal←c200009 == XR←Unwind)) {
SOURCE(3989, 32)
      {
         word pd76;
         pd76 = (* (( (ptr) (* (( (ptr) gf←c0266)+43)/* var←c16052 */  ))+7) );
         (void) ( *( (fPt) ((*  (ptr) pd76 ))))((* ((( (ptr) formal←c200008)+5)) ), pd76);
         };
      };
   (*  (ptr) formal←c0213 ) = 0;
   (* (( (ptr) formal←c0213)+1) ) = 0;
   return;
   }

static void NoName←Q3036(formal←c0218, formal←c200004, formal←c200005, formal←c200006, formal←c200007)
   word formal←c0218;
   word formal←c200004;
   word formal←c200005;
   word formal←c200006;
   word formal←c200007;
   {
   if ((formal←c200005 == XR←Unwind)) {
SOURCE(3794, 10)
      (void) Cleanup←P1008((word) ((( (bPt) formal←c200004)+24)));
      };
   (*  (ptr) formal←c0218 ) = 0;
   (* (( (ptr) formal←c0218)+1) ) = 0;
   return;
   }

static void NoName←Q3096(formal←c0224, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
   word formal←c0224;
   word formal←c200000;
   word formal←c200001;
   word formal←c200002;
   word formal←c200003;
   {
   register ptr gf←c0267 =  (ptr) &globalframe;
   if ((formal←c200001 == (* (( (ptr) (* (( (ptr) gf←c0267)+42)/* var←c15572 */  ))+4) ))) {
      {
         word stream←v13532;
         stream←v13532 = (*  (ptr) formal←c200003 );
SOURCE(2149, 5)
         (*  (ptr) formal←c0224 ) = 2;
         (* (( (ptr) formal←c0224)+1) ) = 2;
         return;
         };
      };
   (*  (ptr) formal←c0224 ) = 0;
   (* (( (ptr) formal←c0224)+1) ) = 0;
   return;
   }

/* file: TJaMScannerImpl, module: TJaMScannerImpl, compiled at: October 19, 1993 1:00:30 pm PDT */ 
extern void XR←install←TJaMScannerImpl() {
   NoName←Q2136();
   }
extern void XR←run←TJaMScannerImpl() { XR←Start(&globalframe); }