const char[2] snl { ind obj}; INIT 1 % prim int rem { ind obj}; (int p; int q;) % prim void readsymbol; (int typecode, void *p;) % prim real float { ind obj}; (int n;) % prim char[2] tostring { ind obj}; (int p;) % prim char[256] substring { ind obj}; (char[256] s; int f; int t;) % prim int freespace { ind obj}; () % prim void svc; (int n; struct /* (null) */ int typecode, void *r; ) % prim int addr { ind obj}; (int typecode, void *p;) % prim int integer; (int n;) % prim short int shortinteger; (int n;) % prim char int byteinteger; (int n;) % prim char[1] string; (int n;) % prim struct /* (null) */ record; (int n;) % prim real real; (int n;) % prim long real longreal; (int n;) % prim char int length; (char[256] s;) % prim char int charno; (char[256] s; int n;) % prim int int { ind obj}; (real x;) % prim int intpt { ind obj}; (real x;) % prim void iocp; (int n;) % prim int typeof { ind obj}; (int typecode, void *n;) % prim int sizeof { ind obj}; (int typecode, void *n;) % prim real fracpt { ind obj}; (real x;) extern void prompt; (char[16] s;) extern int nextsymbol { ind obj}; () extern void skipsymbol; () extern void printsymbol; (int sym;) extern void printstring; (char[256] s;) extern void write; (int v; int p;) extern void selectinput; (int n;) extern void selectoutput; (int n;) extern void openinput; (int n; char[32] fd;) extern void openoutput; (int n; char[32] fd;) extern void closeinput; () extern void closeoutput; () extern void resetinput; () extern void resetoutput; () extern char[9] time { ind obj}; () extern char[10] date { ind obj}; () extern int cputime { ind obj}; () extern int comreg; (int n;) extern void read; (int typecode, void *x;) extern void print; (real val; int before; int after;) extern void printfl; (real val; int places;) extern void space; () extern void spaces; (int n;) extern void newline; () extern void newlines; (int n;) struct /*FILEFM*/ %format filefm; (int unit; int owner; int n1; int n2;) struct /*EVENTFM*/ %format eventfm; (int event; int sub; int extra; char[64] message; int pc; int x;) extern struct /*EVENTFM*/ /* spec */ event; int outstream; INIT 1 static int in; INIT 1 static int mon; INIT 1 static int print1; INIT 1 static int print2; INIT 1 static int i; INIT 1 static int j; INIT 1 static int k; INIT 1 static int pp1; INIT 1 static int sym; INIT 1 static int code; INIT 1 static int text; INIT 1 static int num; INIT 1 static int int typecode, void *mainfp; INIT 1 BOUNDS { NOT IMPLEMENTED YET} static int *c; INIT 120 static int ci; INIT 1 static int ti; INIT 1 static int cmax; INIT 1 BOUNDS { NOT IMPLEMENTED YET} static int *stored; INIT 192 static int pos1; INIT 1 static int pos2; INIT 1 static int pos3; INIT 1 BOUNDS { NOT IMPLEMENTED YET} static char int *byte; INIT 30000 static int top; INIT 1 static int bot; INIT 1 static int lbeg; INIT 1 static int pp; INIT 1 static int fp; INIT 1 static int lend; INIT 1 static int fend; INIT 1 static int ms; INIT 1 static int ml; INIT 1 static int type; INIT 1 static int chain; INIT 1 static int pend; INIT 1 void prompt; (char[2] s;) int oldstream; int c; c = /* %prim */ %byte charno ("sąchar [2] s OLDSTREAMoldstreamint ", 1); if (c == 0) goto L_0001; oldstream = outstream; selectoutput (0) /* 7 */ ; printsymbol (c) /* 7 */ ; selectoutput (oldstream) /* 7 */ ; /* forward label */ L_0001: /* LOCATE label */ void loadpp; (int k;) % byte byte[pp] = k; /* %own */ pp = (pp + 1); void loadfp; (int k;) % byte byte[fp] = k; void leftstar; () for (;;) { /* backward label */ L_0002_check: /* LOCATE label */ if (pp != lbeg) goto L_0003; return; /* forward label */ L_0003: /* LOCATE label */ /* %own */ fp = (fp - 1); /* %own */ pp = (pp - 1); loadfp (%byte byte[pp]) /* 7 */ ; L_0002: /* continue address if it was a for loop, otherwise a bug to be fixed! */ } /* end loop */ void rightstar; () for (;;) { /* backward label */ L_0004_check: /* LOCATE label */ if (fp != lend) goto L_0005; return; /* forward label */ L_0005: /* LOCATE label */ loadpp (%byte byte[fp]) /* 7 */ ; /* %own */ fp = (fp + 1); L_0004: /* continue address if it was a for loop, otherwise a bug to be fixed! */ } /* end loop */ BOUNDS { NOT IMPLEMENTED YET} static int *symtype; INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 INIT 1 void readsym; () if (pend == 0) goto L_0006; /* %own */ sym = pend; /* %own */ pend = 0; goto L_0007 /* GOTO (is this always %continue or %exit?) */ ; /* forward label */ L_0006: /* LOCATE label */ for (;;) { /* backward label */ L_0008_check: /* LOCATE label */ if (pos3 == 0) goto L_0009; /* %own */ sym = stored[pos3]; /* %own */ pos3 = (pos3 + 1); if (sym == 10) goto L_000a; return; /* forward label */ L_000a: /* LOCATE label */ /* %own */ pos3 = pos2; /* %own */ pos2 = pos1; /* %own */ pos1 = 0; L_0008: /* continue address if it was a for loop, otherwise a bug to be fixed! */ } /* end loop */ /* forward label */ L_0009: /* LOCATE label */ /* %prim */ readsymbol (sym) /* 7 */ ; /* forward label */ L_0007: /* LOCATE label */ void readitem; () /* %own */ type = 1; for (;;) { /* backward label */ L_000b_check: /* LOCATE label */ for (;;) { /* backward label */ L_000c_check: /* LOCATE label */ readsym (); if (sym != 32) goto L_000d; L_000c: /* continue address if it was a for loop, otherwise a bug to be fixed! */ } /* end loop */ /* forward label */ L_000d: /* LOCATE label */ if (sym >= 32) goto L_000e; return; /* forward label */ L_000e: /* LOCATE label */ if (sym < 96) goto L_000f; /* %own */ sym = (sym - 32); /* forward label */ L_000f: /* LOCATE label */ /* %own */ type = symtype[sym]; if ((15 & type) == 0) goto L_0010; return; /* forward label */ L_0010: /* LOCATE label */ if (type == 32) goto L_0011; goto L_0012 /* GOTO (is this always %continue or %exit?) */ ; /* forward label */ L_0011: /* LOCATE label */ /* %own */ pos1 = pos2; /* %own */ pos2 = pos3; /* %own */ pos3 = (((sym - 88) << 6) + 1); L_000b: /* continue address if it was a for loop, otherwise a bug to be fixed! */ } /* end loop */ /* forward label */ L_0012: /* LOCATE label */ if (type != 0) goto L_0013; /* %own */ num = (sym - 48); for (;;) { /* backward label */ L_0014_check: /* LOCATE label */ /* %prim */ readsymbol (pend) /* 7 */ ; JUMPIFD > L_0015 if (pend <= 57) goto L_0016; /* forward label */ L_0015: /* LOCATE label */ goto L_0017 /* GOTO (is this always %continue or %exit?) */ ; /* forward label */ L_0016: /* LOCATE label */ /* %own */ num = (((((num << 2) + num) << 1) - 48) + pend); L_0014: /* continue address if it was a for loop, otherwise a bug to be fixed! */ } /* end loop */ /* forward label */ L_0017: /* LOCATE label */ goto L_0018 /* GOTO (is this always %continue or %exit?) */ ; /* forward label */ L_0013: /* LOCATE label */ /* %own */ type = 0; /* %own */ num = 0; if (sym != 42) goto L_0019; return; /* forward label */ L_0019: /* LOCATE label */ /* %own */ num = (-5000 + 1); if (sym != 63) goto L_001a; return; /* forward label */ L_001a: /* LOCATE label */ /* %own */ num = -5000; /* forward label */ L_0018: /* LOCATE label */ void unchain; () for (;;) { /* backward label */ L_001b_check: /* LOCATE label */ /* %own */ text = chain; if (text != 0) goto L_001c; return; /* forward label */ L_001c: /* LOCATE label */ /* %own */ chain = c[(text + 1)]; c[(text + 1)] = ci; if (c[text] == 88) goto L_001d; L_001b: /* continue address if it was a for loop, otherwise a bug to be fixed! */ } /* end loop */ /* forward label */ L_001d: /* LOCATE label */ void stack; (int v;) c[ci] = v; /* %own */ ci = (ci + 1); void makespace; () int k; int p1; int p2; if (((*mainfp - pp) - 240) <= 0) goto L_001e; return; /* forward label */ L_001e: /* LOCATE label */ selectoutput (1) /* 7 */ ; p1 = top; p2 = ((p1 + lbeg) >> 1); if (code != 67) goto L_001f; p2 = lbeg; /* forward label */ L_001f: /* LOCATE label */ if (p2 != top) goto L_0020; assert (FALSE); exit (0); /* forward label */ L_0020: /* LOCATE label */ for (;;) { /* backward label */ L_0021_check: /* LOCATE label */ k = %byte byte[p1]; printsymbol (k) /* 7 */ ; p1 = (p1 + 1); if (k != 10) goto L_0022; if ((p1 - p2) >= 0) goto L_0023; /* forward label */ L_0022: /* LOCATE label */ L_0021: /* continue address if it was a for loop, otherwise a bug to be fixed! */ } /* end loop */ /* forward label */ L_0023: /* LOCATE label */ selectoutput (0) /* 7 */ ; /* %own */ lbeg = ((top + lbeg) - p1); p2 = pp; /* %own */ pp = top; for (;;) { /* backward label */ L_0024_check: /* LOCATE label */ if (p1 != p2) goto L_0025; return; /* forward label */ L_0025: /* LOCATE label */ loadpp (%byte byte[p1]) /* 7 */ ; p1 = (p1 + 1); L_0024: /* continue address if it was a for loop, otherwise a bug to be fixed! */ } /* end loop */ void readline; () int k; if (fp == fend) goto L_0026; /* %own */ lend = fp; for (;;) { /* backward label */ L_0027_check: /* LOCATE label */ if (%byte byte[lend] == 10) goto L_0028; /* %own */ lend = (lend + 1); L_0027: /* continue address if it was a for loop, otherwise a bug to be fixed! */ } /* end loop */ /* forward label */ L_0028: /* LOCATE label */ return; /* forward label */ L_0026: /* LOCATE label */ /* %own */ ms = 0; /* %own */ print1 = 0; /* %own */ print2 = 0; selectinput (in) /* 7 */ ; /* %own */ fp = ((bot - 122) + 1); for (;;) { /* backward label */ L_0029_check: /* LOCATE label */ if (fp == bot) goto L_002a; /* %prim */ readsymbol (k) /* 7 */ ; goto L_002b /* GOTO (is this always %continue or %exit?) */ ; /* forward label */ L_002a: /* LOCATE label */ k = 10; /* forward label */ L_002b: /* LOCATE label */ if (k >= 0) goto L_002c; goto L_002d /* JUMP (user) */ ; /* forward label */ L_002c: /* LOCATE label */ loadfp (k) /* 7 */ ; /* %own */ fp = (fp + 1); if (k == 10) goto L_002e; L_0029: /* continue address if it was a for loop, otherwise a bug to be fixed! */ } /* end loop */ /* forward label */ L_002e: /* LOCATE label */ /* %own */ fend = fp; /* %own */ lend = (fend - 1); /* %own */ fp = ((bot - 122) + 1); selectinput (0) /* 7 */ ; return; /* user label */ L_002d: /* LABEL (user) */ /* %own */ fp = bot; /* %own */ lend = fp; /* %own */ fend = lend; loadfp (10) /* 7 */ ; selectinput (0) /* 7 */ ; void switchinputs; () static int mfp; INIT 1 static int mlend; INIT 1 static int mend; INIT 1 static int sfp; INIT 1 static int send; INIT 1 if (in != 1) goto L_002f; leftstar (); /* %own */ in = 2; /* %own */ mfp = fp; /* %own */ mlend = lend; /* %own */ mend = fend; %own /* %name */ mainfp = &%own mfp; /* %own */ bot = (bot + 122); /* %own */ fp = sfp; /* %own */ fend = send; readline (); goto L_0030 /* GOTO (is this always %continue or %exit?) */ ; /* forward label */ L_002f: /* LOCATE label */ /* %own */ pp = lbeg; /* %own */ in = 1; /* %own */ bot = (bot - 122); /* %own */ sfp = fp; /* %own */ send = fend; /* %own */ fp = mfp; /* %own */ lend = mlend; /* %own */ fend = mend; %own /* %name */ mainfp = &%own fp; /* forward label */ L_0030: /* LOCATE label */ void printline; () int p; /* %own */ print1 = lend; /* %own */ print2 = (fp + pp); p = lbeg; for (;;) { /* backward label */ L_0031_check: /* LOCATE label */ if (p != pp) goto L_0032; if (p == lbeg) goto L_0033; if (num != 0) goto L_0033; printsymbol (94) /* 7 */ ; /* forward label */ L_0033: /* LOCATE label */ p = fp; /* forward label */ L_0032: /* LOCATE label */ if (p != lend) goto L_0034; goto L_0035 /* GOTO (is this always %continue or %exit?) */ ; /* forward label */ L_0034: /* LOCATE label */ printsymbol (%byte byte[p]) /* 7 */ ; p = (p + 1); L_0031: /* continue address if it was a for loop, otherwise a bug to be fixed! */ } /* end loop */ /* forward label */ L_0035: /* LOCATE label */ if (p != fend) goto L_0036; printstring ("**END**") /* 7 */ ; /* forward label */ L_0036: /* LOCATE label */ newline (); int matched { ind obj}; () int i; int j; int k; int l; int t1; int fp1; int lim; lim = ((\127) & c[(ci - 3)]); t1 = c[text]; /* user label */ L_0037: /* LABEL (user) */ /* %own */ pp1 = pp; fp1 = fp; if (fp != ms) goto L_0038; if (code == 70) goto L_0039; if (code == 85) goto L_0039; /* forward label */ L_0038: /* LOCATE label */ goto L_003a /* JUMP (user) */ ; /* forward label */ L_0039: /* LOCATE label */ k = %byte byte[fp]; /* user label */ L_003b: /* LABEL (user) */ loadpp (k) /* 7 */ ; /* %own */ fp = (fp + 1); /* user label */ L_003a: /* LABEL (user) */ if (fp != lend) goto L_003c; goto L_003d /* JUMP (user) */ ; /* forward label */ L_003c: /* LOCATE label */ k = %byte byte[fp]; if (k == t1) goto L_003e; goto L_003b /* JUMP (user) */ ; /* forward label */ L_003e: /* LOCATE label */ i = fp; j = text; /* user label */ L_003f: /* LABEL (user) */ i = (i + 1); j = (j - 1); l = c[j]; if (%byte byte[i] != l) goto L_0040; goto L_003f /* JUMP (user) */ ; /* forward label */ L_0040: /* LOCATE label */ if (l == 0) goto L_0041; goto L_003b /* JUMP (user) */ ; /* forward label */ L_0041: /* LOCATE label */ /* %own */ ms = fp; /* %own */ ml = i; return (1); /* user label */ L_003d: /* LABEL (user) */ lim = (lim - 128); if (lim == 0) goto L_0042; if (fp == fend) goto L_0042; if (code == 85) goto L_0043; loadpp (10) /* 7 */ ; /* %own */ lbeg = pp; goto L_0044 /* GOTO (is this always %continue or %exit?) */ ; /* forward label */ L_0043: /* LOCATE label */ /* %own */ pp = pp1; /* forward label */ L_0044: /* LOCATE label */ /* %own */ fp = (fp + 1); makespace (); readline (); goto L_0037 /* JUMP (user) */ ; /* forward label */ L_0042: /* LOCATE label */ /* %own */ pp = pp1; /* %own */ fp = fp1; return (0); int main { ind obj}; () BOUNDS { NOT IMPLEMENTED YET} %switch t; BOUNDS { NOT IMPLEMENTED YET} %switch s; selectinput (0) /* 7 */ ; /* %own */ pp = (top - 1); loadpp (10) /* 7 */ ; /* %own */ lbeg = pp; %own /* %name */ mainfp = &%own fp; stored[1] = 10; stored[65] = 10; stored[129] = 10; selectoutput (0) /* 7 */ ; printstring ("EDIT ") /*7*/; readline (); /* user label */ L_0045: /* LABEL (user) */ prompt (">") /* 7 */ ; readitem (); if (sym >= 0) goto L_0046; goto L_0047 /* JUMP (user) */ ; /* forward label */ L_0046: /* LOCATE label */ if (type != 1) goto L_0048; goto L_0045 /* JUMP (user) */ ; /* forward label */ L_0048: /* LOCATE label */ /* %own */ ci = 1; /* %own */ ti = 120; /* %own */ chain = 0; if (type != 0) goto L_0049; if (cmax == 0) goto L_0049; c[(cmax + 2)] = num; readitem (); if (type == 1) goto L_004a; goto L_004b /* JUMP (user) */ ; /* forward label */ L_004a: /* LOCATE label */ goto L_004c /* JUMP (user) */ ; /* forward label */ L_0049: /* LOCATE label */ if (sym != 37) goto L_004d; readsym (); if (sym < 96) goto L_004e; /* %own */ sym = (sym - 32); /* forward label */ L_004e: /* LOCATE label */ /* %own */ code = sym; if (code > 32) goto L_004f; goto L_0037 /* JUMP (user) */ ; /* forward label */ L_004f: /* LOCATE label */ readitem ();->SJUMP (104) /* forward label */ L_004d: /* LOCATE label */ /* user label */ L_003a: /* LABEL (user) */ /* %own */ i = (15 & type); if (i >= 4) goto L_0050; goto L_004b /* JUMP (user) */ ; /* forward label */ L_0050: /* LOCATE label */ /* %own */ code = sym; /* %own */ text = 0; /* %own */ num = 1; readitem ();->SJUMP (104) SLABEL_104 (2): if (sym == 61) goto L_0051; goto L_003b /* JUMP (user) */ ; /* forward label */ L_0051: /* LOCATE label */ /* %own */ i = ((code - 88) << 6); for (;;) { /* backward label */ L_0052_check: /* LOCATE label */ readsym (); /* %own */ i = (i + 1); stored[i] = sym; if (sym != 10) goto L_0053; goto L_0045 /* JUMP (user) */ ; /* forward label */ L_0053: /* LOCATE label */ L_0052: /* continue address if it was a for loop, otherwise a bug to be fixed! */ } /* end loop */ SLABEL_104 (3): /* %own */ mon = (77 - code); goto L_0045 /* JUMP (user) */ ; SLABEL_104 (4): if (type == 0) goto L_0054; /* %own */ num = 0; /* forward label */ L_0054: /* LOCATE label */ SLABEL_104 (5): /* %own */ code = ((num << 7) + code); /* %own */ num = 1; if (type != 0) goto L_0055; readitem (); /* forward label */ L_0055: /* LOCATE label */ SLABEL_104 (6): if (type == 3) goto L_0056; goto L_003d /* JUMP (user) */ ; /* forward label */ L_0056: /* LOCATE label */ /* %own */ text = ti; /* %own */ i = sym; /* user label */ L_003f: /* LABEL (user) */ readsym (); if (sym == 10) goto L_0057; if (sym == i) goto L_0058; if (ti > ci) goto L_0059; goto L_005a /* JUMP (user) */ ; /* forward label */ L_0059: /* LOCATE label */ c[ti] = sym; /* %own */ ti = (ti - 1); goto L_003f /* JUMP (user) */ ; /* forward label */ L_0058: /* LOCATE label */ goto L_005b /* GOTO (is this always %continue or %exit?) */ ; /* forward label */ L_0057: /* LOCATE label */ /* %own */ pend = sym; if (code == 83) goto L_005c; if (code == 73) goto L_005c; goto L_003d /* JUMP (user) */ ; /* forward label */ L_005c: /* LOCATE label */ /* forward label */ L_005b: /* LOCATE label */ if (ti != text) goto L_005d; if (code == 83) goto L_005d; goto L_003d /* JUMP (user) */ ; /* forward label */ L_005d: /* LOCATE label */ c[ti] = 0; /* %own */ ti = (ti - 1); goto L_005e /* JUMP (user) */ ; SLABEL_104 (8): if (sym == 45) goto L_005f; goto L_0060 /* JUMP (user) */ ; /* forward label */ L_005f: /* LOCATE label */ /* %own */ code = (code + 10); /* user label */ L_005e: /* LABEL (user) */ readitem (); goto L_0061 /* JUMP (user) */ ; SLABEL_104 (9): unchain (); if (text != 0) goto L_0062; goto L_0063 /* JUMP (user) */ ; /* forward label */ L_0062: /* LOCATE label */ /* %own */ code = 90; c[(text + 2)] = num; /* %own */ text = (text + 3); SLABEL_104 (10): /* user label */ L_0060: /* LABEL (user) */ if (type != 3) goto L_0064; goto L_003b /* JUMP (user) */ ; /* forward label */ L_0064: /* LOCATE label */ /* user label */ L_0061: /* LABEL (user) */ if (type != 0) goto L_0065; readitem (); /* forward label */ L_0065: /* LOCATE label */ goto L_0066 /* JUMP (user) */ ; SLABEL_104 (11): /* %own */ code = 88; goto L_0067 /* JUMP (user) */ ; SLABEL_104 (12): /* %own */ code = 89; if (type != 1) goto L_0068; readitem (); /* forward label */ L_0068: /* LOCATE label */ /* user label */ L_0067: /* LABEL (user) */ /* %own */ text = chain; /* %own */ chain = ci; /* %own */ num = 0; /* user label */ L_0066: /* LABEL (user) */ stack (code) /* 7 */ ; stack (text) /* 7 */ ; stack (num) /* 7 */ ; if ((ci + 4) < ti) goto L_0069; goto L_005a /* JUMP (user) */ ; /* forward label */ L_0069: /* LOCATE label */ if (type == 1) goto L_006a; goto L_003a /* JUMP (user) */ ; /* forward label */ L_006a: /* LOCATE label */ unchain (); if (text == 0) goto L_006b; goto L_0063 /* JUMP (user) */ ; /* forward label */ L_006b: /* LOCATE label */ /* %own */ cmax = ci; stack (90) /* 7 */ ; stack (1) /* 7 */ ; stack (1) /* 7 */ ; stack (0) /* 7 */ ; goto L_004c /* JUMP (user) */ ; /* user label */ L_003b: /* LABEL (user) */ space (); printsymbol (code) /* 7 */ ; /* user label */ L_004b: /* LABEL (user) */ /* %own */ code = sym; goto L_0037 /* JUMP (user) */ ; /* user label */ L_0063: /* LABEL (user) */ printstring (" ()") /* 7 */ ; goto L_006c /* JUMP (user) */ ; /* user label */ L_003d: /* LABEL (user) */ printstring (" TEXT FOR") /* 7 */ ; SLABEL_104 (0): /* user label */ L_0037: /* LABEL (user) */ space (); printsymbol ((127 & code)) /* 7 */ ; goto L_006c /* JUMP (user) */ ; /* user label */ L_005a: /* LABEL (user) */ printstring (" SIZE") /* 7 */ ; /* user label */ L_006c: /* LABEL (user) */ printsymbol (63) /* 7 */ ; newline (); if (ci == 1) goto L_006d; /* %own */ cmax = 0; /* forward label */ L_006d: /* LOCATE label */ /* user label */ L_006e: /* LABEL (user) */ if (sym >= 32) goto L_006f; goto L_0045 /* JUMP (user) */ ; /* forward label */ L_006f: /* LOCATE label */ readsym (); goto L_006e /* JUMP (user) */ ; /* user label */ L_004c: /* LABEL (user) */ /* %own */ ci = 1; /* user label */ L_0070: /* LABEL (user) */ /* %own */ code = (127 & c[ci]); if (code != 0) goto L_0071; goto L_0072 /* JUMP (user) */ ; /* forward label */ L_0071: /* LOCATE label */ /* %own */ text = c[(ci + 1)]; /* %own */ num = c[(ci + 2)]; /* %own */ ci = (ci + 3); /* user label */ L_0073: /* LABEL (user) */ /* %own */ num = (num - 1); ->SJUMP (105) /* user label */ L_0074: /* LABEL (user) */ if (num == 0) goto L_0075; if (num == -5000) goto L_0075; goto L_0073 /* JUMP (user) */ ; /* forward label */ L_0075: /* LOCATE label */ goto L_0070 /* JUMP (user) */ ; SLABEL_105 (92): /* user label */ L_0076: /* LABEL (user) */ if (num >= 0) goto L_0077; goto L_0070 /* JUMP (user) */ ; /* forward label */ L_0077: /* LOCATE label */ if (c[ci] != 92) goto L_0078; /* %own */ ci = (ci + 3); goto L_0070 /* JUMP (user) */ ; /* forward label */ L_0078: /* LOCATE label */ /* user label */ L_0079: /* LABEL (user) */ /* %own */ i = c[ci]; if (i != 88) goto L_007a; /* %own */ ci = c[(ci + 1)]; /* forward label */ L_007a: /* LOCATE label */ /* %own */ ci = (ci + 3); if (i <= 88) goto L_007b; /* %own */ num = (c[(ci - 1)] - 1); goto L_0076 /* JUMP (user) */ ; /* forward label */ L_007b: /* LOCATE label */ if (i == 0) goto L_007c; goto L_0079 /* JUMP (user) */ ; /* forward label */ L_007c: /* LOCATE label */ printstring ("FAILURE: ") /* 7 */ ; if (code == 79) goto L_007d; if (code != 87) goto L_007e; /* forward label */ L_007d: /* LOCATE label */ printsymbol ((code - 10)) /* 7 */ ; /* %own */ code = 45; /* forward label */ L_007e: /* LOCATE label */ printsymbol (code) /* 7 */ ; if (text == 0) goto L_007f; printsymbol (39) /* 7 */ ; for (;;) { /* backward label */ L_0080_check: /* LOCATE label */ if (c[text] == 0) goto L_0081; printsymbol (c[text]) /* 7 */ ; /* %own */ text = (text - 1); L_0080: /* continue address if it was a for loop, otherwise a bug to be fixed! */ } /* end loop */ /* forward label */ L_0081: /* LOCATE label */ printsymbol (39) /* 7 */ ; /* forward label */ L_007f: /* LOCATE label */ newline (); /* %own */ print1 = 0; /* user label */ L_0072: /* LABEL (user) */ if (sym == 10) goto L_0082; goto L_0045 /* JUMP (user) */ ; /* forward label */ L_0082: /* LOCATE label */ if (mon < 0) goto L_0083; if (print1 != lend) goto L_0084; /* forward label */ L_0083: /* LOCATE label */ if (mon <= 0) goto L_0085; if (print2 != (fp + pp)) goto L_0084; /* forward label */ L_0085: /* LOCATE label */ goto L_0045 /* JUMP (user) */ ; /* forward label */ L_0084: /* LOCATE label */ /* %own */ num = 0; printline (); goto L_0045 /* JUMP (user) */ ; SLABEL_105 (88): c[(text + 2)] = (num + 1); goto L_0070 /* JUMP (user) */ ; SLABEL_105 (90): if (num == 0) goto L_0086; if (num != -5000) goto L_0087; /* forward label */ L_0086: /* LOCATE label */ goto L_0070 /* JUMP (user) */ ; /* forward label */ L_0087: /* LOCATE label */ c[(ci - 1)] = num; SLABEL_105 (89): /* %own */ ci = text; goto L_0070 /* JUMP (user) */ ; SLABEL_105 (82): if (fp != lend) goto L_0088; goto L_0076 /* JUMP (user) */ ; /* forward label */ L_0088: /* LOCATE label */ loadpp (%byte byte[fp]) /* 7 */ ; /* %own */ fp = (fp + 1); goto L_0074 /* JUMP (user) */ ; SLABEL_105 (76): if (in == 2) goto L_0089; if (pp != lbeg) goto L_008a; /* forward label */ L_0089: /* LOCATE label */ goto L_0076 /* JUMP (user) */ ; /* forward label */ L_008a: /* LOCATE label */ /* %own */ fp = (fp - 1); /* %own */ pp = (pp - 1); loadfp (%byte byte[pp]) /* 7 */ ; /* %own */ ms = 0; goto L_0074 /* JUMP (user) */ ; SLABEL_105 (69): if (fp != lend) goto L_008b; goto L_0076 /* JUMP (user) */ ; /* forward label */ L_008b: /* LOCATE label */ /* %own */ fp = (fp + 1); goto L_0074 /* JUMP (user) */ ; SLABEL_105 (79): if (pp != lbeg) goto L_008c; goto L_0076 /* JUMP (user) */ ; /* forward label */ L_008c: /* LOCATE label */ /* %own */ pp = (pp - 1); goto L_0074 /* JUMP (user) */ ; SLABEL_105 (86): /* %own */ i = (fp - 1); /* %own */ j = (text + 1); /* user label */ L_008d: /* LABEL (user) */ /* %own */ i = (i + 1); /* %own */ j = (j - 1); /* %own */ k = c[j]; if (%byte byte[i] != k) goto L_008e; goto L_008d /* JUMP (user) */ ; /* forward label */ L_008e: /* LOCATE label */ if (k == 0) goto L_008f; goto L_0076 /* JUMP (user) */ ; /* forward label */ L_008f: /* LOCATE label */ /* %own */ ms = fp; /* %own */ ml = i; goto L_0074 /* JUMP (user) */ ; SLABEL_105 (70): matched (); if (loadfp (%byte byte[pp]) != 0) goto L_0090; goto L_0076 /* JUMP (user) */ ; /* forward label */ L_0090: /* LOCATE label */ goto L_0074 /* JUMP (user) */ ; SLABEL_105 (85): matched (); if (loadpp (%byte byte[fp]) != 0) goto L_0091; goto L_0076 /* JUMP (user) */ ; /* forward label */ L_0091: /* LOCATE label */ /* %own */ pp = pp1; goto L_0074 /* JUMP (user) */ ; SLABEL_105 (68): matched (); if (printsymbol (39) != 0) goto L_0092; goto L_0076 /* JUMP (user) */ ; /* forward label */ L_0092: /* LOCATE label */ /* %own */ fp = ml; goto L_0074 /* JUMP (user) */ ; SLABEL_105 (84): matched (); if (printsymbol (c[text]) != 0) goto L_0093; goto L_0076 /* JUMP (user) */ ; /* forward label */ L_0093: /* LOCATE label */ SLABEL_105 (83): if (fp != ms) goto L_0094; /* %own */ fp = ml; /* forward label */ L_0094: /* LOCATE label */ SLABEL_105 (73): makespace (); /* %own */ i = text; /* user label */ L_0095: /* LABEL (user) */ if (c[i] != 0) goto L_0096; goto L_0074 /* JUMP (user) */ ; /* forward label */ L_0096: /* LOCATE label */ loadpp (c[i]) /* 7 */ ; /* %own */ i = (i - 1); goto L_0095 /* JUMP (user) */ ; SLABEL_105 (71): prompt (":") /* 7 */ ; /* %prim */ readsymbol (i) /* 7 */ ; if (i != 58) goto L_0097; goto L_0076 /* JUMP (user) */ ; /* forward label */ L_0097: /* LOCATE label */ leftstar (); for (;;) { /* backward label */ L_0098_check: /* LOCATE label */ if (i == 10) goto L_0099; loadpp (i) /* 7 */ ; /* %prim */ readsymbol (i) /* 7 */ ; L_0098: /* continue address if it was a for loop, otherwise a bug to be fixed! */ } /* end loop */ /* forward label */ L_0099: /* LOCATE label */ SLABEL_105 (66): makespace (); loadpp (10) /* 7 */ ; /* %own */ lbeg = pp; goto L_0074 /* JUMP (user) */ ; SLABEL_105 (80): printline (); if (num != 0) goto L_009a; goto L_0070 /* JUMP (user) */ ; /* forward label */ L_009a: /* LOCATE label */ SLABEL_105 (77): rightstar (); if (fp != fend) goto L_009b; goto L_0076 /* JUMP (user) */ ; /* forward label */ L_009b: /* LOCATE label */ loadpp (10) /* 7 */ ; /* %own */ lbeg = pp; /* user label */ L_009c: /* LABEL (user) */ /* %own */ fp = (fp + 1); makespace (); readline (); goto L_0074 /* JUMP (user) */ ; SLABEL_105 (75): /* %own */ pp = lbeg; /* %own */ fp = lend; /* user label */ L_009d: /* LABEL (user) */ if (fp != fend) goto L_009e; goto L_0076 /* JUMP (user) */ ; /* forward label */ L_009e: /* LOCATE label */ goto L_009c /* JUMP (user) */ ; SLABEL_105 (74): rightstar (); goto L_009d /* JUMP (user) */ ; SLABEL_105 (87): if (in != 2) goto L_009f; goto L_0076 /* JUMP (user) */ ; /* forward label */ L_009f: /* LOCATE label */ makespace (); if (lbeg != top) goto L_00a0; goto L_0076 /* JUMP (user) */ ; /* forward label */ L_00a0: /* LOCATE label */ /* %own */ lend = (((fp - pp) + lbeg) - 1); /* user label */ L_00a1: /* LABEL (user) */ /* %own */ k = %byte byte[(pp - 1)]; if (k != 10) goto L_00a2; if (pp == lbeg) goto L_00a2; goto L_00a3 /* JUMP (user) */ ; /* forward label */ L_00a2: /* LOCATE label */ /* %own */ fp = (fp - 1); /* %own */ pp = (pp - 1); loadfp (k) /* 7 */ ; goto L_00a1 /* JUMP (user) */ ; /* user label */ L_00a3: /* LABEL (user) */ /* %own */ lbeg = pp; /* %own */ ms = 0; goto L_0074 /* JUMP (user) */ ; SLABEL_104 (1): if (code != 67) goto L_00a4; goto L_0047 /* JUMP (user) */ ; /* forward label */ L_00a4: /* LOCATE label */ switchinputs (); goto L_0072 /* JUMP (user) */ ; /* user label */ L_0047: /* LABEL (user) */ /* %own */ code = 67; if (in != 2) goto L_00a5; switchinputs (); /* forward label */ L_00a5: /* LOCATE label */ for (;;) { /* backward label */ L_00a6_check: /* LOCATE label */ rightstar (); if (fp != fend) goto L_00a7; goto L_00a8 /* GOTO (is this always %continue or %exit?) */ ; /* forward label */ L_00a7: /* LOCATE label */ loadpp (10) /* 7 */ ; /* %own */ lbeg = pp; /* %own */ fp = (fp + 1); makespace (); readline (); L_00a6: /* continue address if it was a for loop, otherwise a bug to be fixed! */ } /* end loop */ /* forward label */ L_00a8: /* LOCATE label */ selectoutput (1) /* 7 */ ; for (;;) { /* backward label */ L_00a9_check: /* LOCATE label */ if (top == pp) goto L_00aa; printsymbol (%byte byte[top]) /* 7 */ ; /* %own */ top = (top + 1); L_00a9: /* continue address if it was a for loop, otherwise a bug to be fixed! */ } /* end loop */ /* forward label */ L_00aa: /* LOCATE label */ selectoutput (0) /* 7 */ ; if (code == 67) goto L_00ab; assert (FALSE); /* forward label */ L_00ab: /* LOCATE label */ return (0);