-- file: WeaveParse1.mesa
-- Pascal-to-Mesa translator output, translated at September 23, 1986 1:27:38 pm PDT


DIRECTORY
  PascalBasic,
  PascalWizardFiles,
  WeaveProcs,
  WeaveVars;

WeaveParse1: PROGRAM IMPORTS PascalWizardFiles, WeaveProcs, WeaveVars EXPORTS WeaveProcs = PUBLIC
BEGIN OPEN PascalBasic, PascalWizardFiles, WeaveProcs, WeaveVars;
 EasyCases: PROCEDURE
 = 
BEGIN SELECT NextControl FROM 6 =>BEGIN TokMem↑[TokPtr]←92;
TokPtr←TokPtr+1;TokMem↑[TokPtr]←105;TokPtr←TokPtr+1;
TokMem↑[TokPtr]←110;TokPtr←TokPtr+1;ScrapPtr←ScrapPtr+1;
Cat↑[ScrapPtr]←2;Trans↑[ScrapPtr]←TextPtr;TextPtr←TextPtr+1;
TokStart↑[TextPtr]←TokPtr; END;32 =>BEGIN TokMem↑[TokPtr]←92;
TokPtr←TokPtr+1;TokMem↑[TokPtr]←116;TokPtr←TokPtr+1;
TokMem↑[TokPtr]←111;TokPtr←TokPtr+1;ScrapPtr←ScrapPtr+1;
Cat↑[ScrapPtr]←2;Trans↑[ScrapPtr]←TextPtr;TextPtr←TextPtr+1;
TokStart↑[TextPtr]←TokPtr; END;
35,36,37,94,95 =>BEGIN TokMem↑[TokPtr]←92;TokPtr←TokPtr+1;
TokMem↑[TokPtr]←NextControl;TokPtr←TokPtr+1;
ScrapPtr←ScrapPtr+1;Cat↑[ScrapPtr]←2;Trans↑[ScrapPtr]←TextPtr;
TextPtr←TextPtr+1;TokStart↑[TextPtr]←TokPtr; END;
0,124,131,132,133 => NULL;40,91 =>BEGIN TokMem↑[TokPtr]←NextControl;
TokPtr←TokPtr+1;ScrapPtr←ScrapPtr+1;Cat↑[ScrapPtr]←4;
Trans↑[ScrapPtr]←TextPtr;TextPtr←TextPtr+1;
TokStart↑[TextPtr]←TokPtr; END;
41,93 =>BEGIN TokMem↑[TokPtr]←NextControl;TokPtr←TokPtr+1;
ScrapPtr←ScrapPtr+1;Cat↑[ScrapPtr]←6;Trans↑[ScrapPtr]←TextPtr;
TextPtr←TextPtr+1;TokStart↑[TextPtr]←TokPtr; END;
42 =>BEGIN TokMem↑[TokPtr]←92;TokPtr←TokPtr+1;TokMem↑[TokPtr]←97;
TokPtr←TokPtr+1;TokMem↑[TokPtr]←115;TokPtr←TokPtr+1;
TokMem↑[TokPtr]←116;TokPtr←TokPtr+1;ScrapPtr←ScrapPtr+1;
Cat↑[ScrapPtr]←2;Trans↑[ScrapPtr]←TextPtr;TextPtr←TextPtr+1;
TokStart↑[TextPtr]←TokPtr; END;44 =>BEGIN TokMem↑[TokPtr]←44;
TokPtr←TokPtr+1;TokMem↑[TokPtr]←138;TokPtr←TokPtr+1;
TokMem↑[TokPtr]←57;TokPtr←TokPtr+1;ScrapPtr←ScrapPtr+1;
Cat↑[ScrapPtr]←2;Trans↑[ScrapPtr]←TextPtr;TextPtr←TextPtr+1;
TokStart↑[TextPtr]←TokPtr; END;
46,48,49,50,51,52,53,54,55,56,57 =>BEGIN TokMem↑[TokPtr]←NextControl;
TokPtr←TokPtr+1;ScrapPtr←ScrapPtr+1;Cat↑[ScrapPtr]←1;
Trans↑[ScrapPtr]←TextPtr;TextPtr←TextPtr+1;
TokStart↑[TextPtr]←TokPtr; END;59 =>BEGIN TokMem↑[TokPtr]←59;
TokPtr←TokPtr+1;ScrapPtr←ScrapPtr+1;Cat↑[ScrapPtr]←9;
Trans↑[ScrapPtr]←TextPtr;TextPtr←TextPtr+1;
TokStart↑[TextPtr]←TokPtr; END;58 =>BEGIN TokMem↑[TokPtr]←58;
TokPtr←TokPtr+1;ScrapPtr←ScrapPtr+1;Cat↑[ScrapPtr]←14;
Trans↑[ScrapPtr]←TextPtr;TextPtr←TextPtr+1;
TokStart↑[TextPtr]←TokPtr; END;--189:--26 =>BEGIN TokMem↑[TokPtr]←92;
TokPtr←TokPtr+1;TokMem↑[TokPtr]←73;TokPtr←TokPtr+1;
ScrapPtr←ScrapPtr+1;Cat↑[ScrapPtr]←2;Trans↑[ScrapPtr]←TextPtr;
TextPtr←TextPtr+1;TokStart↑[TextPtr]←TokPtr; END;
28 =>BEGIN TokMem↑[TokPtr]←92;TokPtr←TokPtr+1;TokMem↑[TokPtr]←76;
TokPtr←TokPtr+1;ScrapPtr←ScrapPtr+1;Cat↑[ScrapPtr]←2;
Trans↑[ScrapPtr]←TextPtr;TextPtr←TextPtr+1;
TokStart↑[TextPtr]←TokPtr; END;29 =>BEGIN TokMem↑[TokPtr]←92;
TokPtr←TokPtr+1;TokMem↑[TokPtr]←71;TokPtr←TokPtr+1;
ScrapPtr←ScrapPtr+1;Cat↑[ScrapPtr]←2;Trans↑[ScrapPtr]←TextPtr;
TextPtr←TextPtr+1;TokStart↑[TextPtr]←TokPtr; END;
30 =>BEGIN TokMem↑[TokPtr]←92;TokPtr←TokPtr+1;TokMem↑[TokPtr]←83;
TokPtr←TokPtr+1;ScrapPtr←ScrapPtr+1;Cat↑[ScrapPtr]←2;
Trans↑[ScrapPtr]←TextPtr;TextPtr←TextPtr+1;
TokStart↑[TextPtr]←TokPtr; END;4 =>BEGIN TokMem↑[TokPtr]←92;
TokPtr←TokPtr+1;TokMem↑[TokPtr]←87;TokPtr←TokPtr+1;
ScrapPtr←ScrapPtr+1;Cat↑[ScrapPtr]←2;Trans↑[ScrapPtr]←TextPtr;
TextPtr←TextPtr+1;TokStart↑[TextPtr]←TokPtr; END;
31 =>BEGIN TokMem↑[TokPtr]←92;TokPtr←TokPtr+1;TokMem↑[TokPtr]←86;
TokPtr←TokPtr+1;ScrapPtr←ScrapPtr+1;Cat↑[ScrapPtr]←2;
Trans↑[ScrapPtr]←TextPtr;TextPtr←TextPtr+1;
TokStart↑[TextPtr]←TokPtr; END;5 =>BEGIN TokMem↑[TokPtr]←92;
TokPtr←TokPtr+1;TokMem↑[TokPtr]←82;TokPtr←TokPtr+1;
ScrapPtr←ScrapPtr+1;Cat↑[ScrapPtr]←2;Trans↑[ScrapPtr]←TextPtr;
TextPtr←TextPtr+1;TokStart↑[TextPtr]←TokPtr; END;
24 =>BEGIN TokMem↑[TokPtr]←92;TokPtr←TokPtr+1;TokMem↑[TokPtr]←75;
TokPtr←TokPtr+1;ScrapPtr←ScrapPtr+1;Cat↑[ScrapPtr]←2;
Trans↑[ScrapPtr]←TextPtr;TextPtr←TextPtr+1;
TokStart↑[TextPtr]←TokPtr; END;--:189--128 =>BEGIN TokMem↑[TokPtr]←92;
TokPtr←TokPtr+1;TokMem↑[TokPtr]←69;TokPtr←TokPtr+1;
TokMem↑[TokPtr]←123;TokPtr←TokPtr+1;ScrapPtr←ScrapPtr+1;
Cat↑[ScrapPtr]←15;Trans↑[ScrapPtr]←TextPtr;TextPtr←TextPtr+1;
TokStart↑[TextPtr]←TokPtr; END;9 =>BEGIN TokMem↑[TokPtr]←92;
TokPtr←TokPtr+1;TokMem↑[TokPtr]←66;TokPtr←TokPtr+1;
ScrapPtr←ScrapPtr+1;Cat↑[ScrapPtr]←2;Trans↑[ScrapPtr]←TextPtr;
TextPtr←TextPtr+1;TokStart↑[TextPtr]←TokPtr; END;
10 =>BEGIN TokMem↑[TokPtr]←92;TokPtr←TokPtr+1;TokMem↑[TokPtr]←84;
TokPtr←TokPtr+1;ScrapPtr←ScrapPtr+1;Cat↑[ScrapPtr]←2;
Trans↑[ScrapPtr]←TextPtr;TextPtr←TextPtr+1;
TokStart↑[TextPtr]←TokPtr; END;12 =>AppOctal[];13 =>AppHex[];
135 =>BEGIN TokMem↑[TokPtr]←92;TokPtr←TokPtr+1;TokMem↑[TokPtr]←41;
TokPtr←TokPtr+1;ScrapPtr←ScrapPtr+1;Cat↑[ScrapPtr]←1;
Trans↑[ScrapPtr]←TextPtr;TextPtr←TextPtr+1;
TokStart↑[TextPtr]←TokPtr; END;3 =>BEGIN TokMem↑[TokPtr]←92;
TokPtr←TokPtr+1;TokMem↑[TokPtr]←93;TokPtr←TokPtr+1;
ScrapPtr←ScrapPtr+1;Cat↑[ScrapPtr]←1;Trans↑[ScrapPtr]←TextPtr;
TextPtr←TextPtr+1;TokStart↑[TextPtr]←TokPtr; END;
137 =>BEGIN TokMem↑[TokPtr]←92;TokPtr←TokPtr+1;TokMem↑[TokPtr]←44;
TokPtr←TokPtr+1;ScrapPtr←ScrapPtr+1;Cat↑[ScrapPtr]←2;
Trans↑[ScrapPtr]←TextPtr;TextPtr←TextPtr+1;
TokStart↑[TextPtr]←TokPtr; END;138 =>BEGIN TokMem↑[TokPtr]←138;
TokPtr←TokPtr+1;TokMem↑[TokPtr]←48;TokPtr←TokPtr+1;
ScrapPtr←ScrapPtr+1;Cat↑[ScrapPtr]←1;Trans↑[ScrapPtr]←TextPtr;
TextPtr←TextPtr+1;TokStart↑[TextPtr]←TokPtr; END;
139 =>BEGIN TokMem↑[TokPtr]←141;TokPtr←TokPtr+1;AppComment[]; END;
140 =>BEGIN TokMem↑[TokPtr]←142;TokPtr←TokPtr+1;AppComment[]; END;
141 =>BEGIN TokMem↑[TokPtr]←134;TokPtr←TokPtr+1;TokMem↑[TokPtr]←92;
TokPtr←TokPtr+1;TokMem↑[TokPtr]←32;TokPtr←TokPtr+1;
BEGIN TokMem↑[TokPtr]←134;TokPtr←TokPtr+1;AppComment[]; END; END;
142 =>BEGIN ScrapPtr←ScrapPtr+1;Cat↑[ScrapPtr]←9;Trans↑[ScrapPtr]←0;
 END;136 =>BEGIN TokMem↑[TokPtr]←92;TokPtr←TokPtr+1;
TokMem↑[TokPtr]←74;TokPtr←TokPtr+1;ScrapPtr←ScrapPtr+1;
Cat↑[ScrapPtr]←2;Trans↑[ScrapPtr]←TextPtr;TextPtr←TextPtr+1;
TokStart↑[TextPtr]←TokPtr; END;
 ENDCASE =>BEGIN TokMem↑[TokPtr]←NextControl;TokPtr←TokPtr+1;
ScrapPtr←ScrapPtr+1;Cat↑[ScrapPtr]←2;Trans↑[ScrapPtr]←TextPtr;
TextPtr←TextPtr+1;TokStart↑[TextPtr]←TokPtr; END ; END;--:187
--193:-- SubCases: PROCEDURE[P: NamePointer]
 = 
BEGIN SELECT Ilk↑[P]FROM 0 =>BEGIN TokMem↑[TokPtr]←10240+P;
TokPtr←TokPtr+1;ScrapPtr←ScrapPtr+1;Cat↑[ScrapPtr]←1;
Trans↑[ScrapPtr]←TextPtr;TextPtr←TextPtr+1;
TokStart↑[TextPtr]←TokPtr; END;4 =>BEGIN TokMem↑[TokPtr]←20480+P;
TokPtr←TokPtr+1;ScrapPtr←ScrapPtr+1;Cat↑[ScrapPtr]←7;
Trans↑[ScrapPtr]←TextPtr;TextPtr←TextPtr+1;
TokStart↑[TextPtr]←TokPtr; END;7 =>BEGIN TokMem↑[TokPtr]←141;
TokPtr←TokPtr+1;TokMem↑[TokPtr]←139;TokPtr←TokPtr+1;
TokMem↑[TokPtr]←20480+P;TokPtr←TokPtr+1;ScrapPtr←ScrapPtr+1;
Cat↑[ScrapPtr]←3;Trans↑[ScrapPtr]←TextPtr;TextPtr←TextPtr+1;
TokStart↑[TextPtr]←TokPtr; END;8 =>BEGIN TokMem↑[TokPtr]←131;
TokPtr←TokPtr+1;TokMem↑[TokPtr]←20480+P;TokPtr←TokPtr+1;
TokMem↑[TokPtr]←125;TokPtr←TokPtr+1;ScrapPtr←ScrapPtr+1;
Cat↑[ScrapPtr]←2;Trans↑[ScrapPtr]←TextPtr;TextPtr←TextPtr+1;
TokStart↑[TextPtr]←TokPtr; END;9 =>BEGIN TokMem↑[TokPtr]←20480+P;
TokPtr←TokPtr+1;ScrapPtr←ScrapPtr+1;Cat↑[ScrapPtr]←8;
Trans↑[ScrapPtr]←TextPtr;TextPtr←TextPtr+1;
TokStart↑[TextPtr]←TokPtr; END;12 =>BEGIN TokMem↑[TokPtr]←141;
TokPtr←TokPtr+1;TokMem↑[TokPtr]←20480+P;TokPtr←TokPtr+1;
ScrapPtr←ScrapPtr+1;Cat↑[ScrapPtr]←7;Trans↑[ScrapPtr]←TextPtr;
TextPtr←TextPtr+1;TokStart↑[TextPtr]←TokPtr; END;
13 =>BEGIN TokMem↑[TokPtr]←20480+P;TokPtr←TokPtr+1;
ScrapPtr←ScrapPtr+1;Cat↑[ScrapPtr]←3;Trans↑[ScrapPtr]←TextPtr;
TextPtr←TextPtr+1;TokStart↑[TextPtr]←TokPtr; END;
16 =>BEGIN TokMem↑[TokPtr]←20480+P;TokPtr←TokPtr+1;
ScrapPtr←ScrapPtr+1;Cat↑[ScrapPtr]←1;Trans↑[ScrapPtr]←TextPtr;
TextPtr←TextPtr+1;TokStart↑[TextPtr]←TokPtr; END;
20 =>BEGIN TokMem↑[TokPtr]←132;TokPtr←TokPtr+1;
TokMem↑[TokPtr]←20480+P;TokPtr←TokPtr+1;TokMem↑[TokPtr]←125;
TokPtr←TokPtr+1;ScrapPtr←ScrapPtr+1;Cat↑[ScrapPtr]←2;
Trans↑[ScrapPtr]←TextPtr;TextPtr←TextPtr+1;
TokStart↑[TextPtr]←TokPtr; END; ENDCASE; END;--:193-- PascalParse: PROCEDURE
 = 
BEGIN  J:PascalInteger[0..LongBufSize];P:NamePointer;
 {WHILE  INT[NextControl]<143 DO BEGIN--186:----188:
IF( INT[ScrapPtr+4]>MaxScraps)OR ( INT[TokPtr+6]>MaxToks)OR ( INT[TextPtr+4]>MaxTexts)
 THEN BEGIN--IF SCRAP←PTR>MAX←SCR←PTR THEN MAX←SCR←PTR:=SCRAP←PTR;
-- IF TOK←PTR>MAX←TOK←PTR THEN MAX←TOK←PTR:=TOK←PTR;
-- IF TEXT←PTR>MAX←TXT←PTR THEN MAX←TXT←PTR:=TEXT←PTR;
BEGIN PascalWriteLn[file: @TermOut];
{PascalWriteLongString[file: @TermOut, item: "! Sorry, "]; PascalWriteLongString[file: @TermOut, item: "scrap/token/text"]; PascalWriteLongString[file: @TermOut, item: " capacity exceeded"]};
Error[];History←3;JumpOut[]; END; END--:188--;
DO {--Label21:--SELECT NextControl FROM 129,2 =>--190:--BEGIN TokMem↑[TokPtr]←92;
TokPtr←TokPtr+1;IF NextControl=2  THEN BEGIN TokMem↑[TokPtr]←61;
TokPtr←TokPtr+1; END  ELSE BEGIN TokMem↑[TokPtr]←46;
TokPtr←TokPtr+1; END;TokMem↑[TokPtr]←123;TokPtr←TokPtr+1;
J←IdFirst;
WHILE  INT[J]<IdLoc DO BEGIN SELECT Buffer↑[J]FROM 32,92,35,37,36,94,39,96,123,125
,126,38,95 =>BEGIN TokMem↑[TokPtr]←92;TokPtr←TokPtr+1; END;
64 =>IF Buffer↑[J+1]=64  THEN J←J+1  ELSE BEGIN IF  NOT PhaseOne  THEN BEGIN
PascalWriteLn[file: @TermOut];
PascalWriteLongString[file: @TermOut, item: "! Double @ should be used in strings"];Error[]; END; END;
 ENDCASE => NULL;BEGIN IF  INT[TokPtr+2]>MaxToks  THEN BEGIN PascalWriteLn[file: @TermOut];
{PascalWriteLongString[file: @TermOut, item: "! Sorry, "]; PascalWriteLongString[file: @TermOut, item: "token"]; PascalWriteLongString[file: @TermOut, item: " capacity exceeded"]};Error[];
History←3;JumpOut[]; END;TokMem↑[TokPtr]←Buffer↑[J];TokPtr←TokPtr+1;
 END;J←J+1; END ENDLOOP ;BEGIN TokMem↑[TokPtr]←125;TokPtr←TokPtr+1;
ScrapPtr←ScrapPtr+1;Cat↑[ScrapPtr]←1;Trans↑[ScrapPtr]←TextPtr;
TextPtr←TextPtr+1;TokStart↑[TextPtr]←TokPtr; END; END--:190--;
130 =>--192:--BEGIN P←IdLookup[0];
SELECT Ilk↑[P]FROM 0,4,7,8,9,12,13,16,20 =>SubCases[P];--194:
5 =>BEGIN BEGIN TokMem↑[TokPtr]←141;TokPtr←TokPtr+1;
TokMem↑[TokPtr]←20480+P;TokPtr←TokPtr+1;TokMem↑[TokPtr]←135;
TokPtr←TokPtr+1;ScrapPtr←ScrapPtr+1;Cat↑[ScrapPtr]←5;
Trans↑[ScrapPtr]←TextPtr;TextPtr←TextPtr+1;
TokStart↑[TextPtr]←TokPtr; END;BEGIN ScrapPtr←ScrapPtr+1;
Cat↑[ScrapPtr]←3;Trans↑[ScrapPtr]←0; END; END;
6 =>BEGIN BEGIN ScrapPtr←ScrapPtr+1;Cat↑[ScrapPtr]←21;
Trans↑[ScrapPtr]←0; END;BEGIN TokMem↑[TokPtr]←141;TokPtr←TokPtr+1;
TokMem↑[TokPtr]←20480+P;TokPtr←TokPtr+1;ScrapPtr←ScrapPtr+1;
Cat↑[ScrapPtr]←7;Trans↑[ScrapPtr]←TextPtr;TextPtr←TextPtr+1;
TokStart↑[TextPtr]←TokPtr; END; END;10 =>BEGIN--195:
IF( INT[ScrapPtr]<ScrapBase)OR ((Cat↑[ScrapPtr]#10)AND (Cat↑[ScrapPtr]#9))
 THEN BEGIN ScrapPtr←ScrapPtr+1;Cat↑[ScrapPtr]←10;
Trans↑[ScrapPtr]←0; END--:195--;BEGIN TokMem↑[TokPtr]←141;
TokPtr←TokPtr+1;TokMem↑[TokPtr]←139;TokPtr←TokPtr+1;
TokMem↑[TokPtr]←20480+P;TokPtr←TokPtr+1;ScrapPtr←ScrapPtr+1;
Cat↑[ScrapPtr]←20;Trans↑[ScrapPtr]←TextPtr;TextPtr←TextPtr+1;
TokStart↑[TextPtr]←TokPtr; END; END;11 =>BEGIN--195:
IF( INT[ScrapPtr]<ScrapBase)OR ((Cat↑[ScrapPtr]#10)AND (Cat↑[ScrapPtr]#9))
 THEN BEGIN ScrapPtr←ScrapPtr+1;Cat↑[ScrapPtr]←10;
Trans↑[ScrapPtr]←0; END--:195--;BEGIN TokMem↑[TokPtr]←141;
TokPtr←TokPtr+1;TokMem↑[TokPtr]←20480+P;TokPtr←TokPtr+1;
ScrapPtr←ScrapPtr+1;Cat↑[ScrapPtr]←6;Trans↑[ScrapPtr]←TextPtr;
TextPtr←TextPtr+1;TokStart↑[TextPtr]←TokPtr; END; END;
14 =>BEGIN BEGIN ScrapPtr←ScrapPtr+1;Cat↑[ScrapPtr]←12;
Trans↑[ScrapPtr]←0; END;BEGIN TokMem↑[TokPtr]←141;TokPtr←TokPtr+1;
TokMem↑[TokPtr]←20480+P;TokPtr←TokPtr+1;ScrapPtr←ScrapPtr+1;
Cat↑[ScrapPtr]←7;Trans↑[ScrapPtr]←TextPtr;TextPtr←TextPtr+1;
TokStart↑[TextPtr]←TokPtr; END; END;
23 =>BEGIN BEGIN TokMem↑[TokPtr]←141;TokPtr←TokPtr+1;
TokMem↑[TokPtr]←92;TokPtr←TokPtr+1;TokMem↑[TokPtr]←126;
TokPtr←TokPtr+1;ScrapPtr←ScrapPtr+1;Cat↑[ScrapPtr]←7;
Trans↑[ScrapPtr]←TextPtr;TextPtr←TextPtr+1;
TokStart↑[TextPtr]←TokPtr; END;BEGIN TokMem↑[TokPtr]←20480+P;
TokPtr←TokPtr+1;ScrapPtr←ScrapPtr+1;Cat↑[ScrapPtr]←8;
Trans↑[ScrapPtr]←TextPtr;TextPtr←TextPtr+1;
TokStart↑[TextPtr]←TokPtr; END; END;
17 =>BEGIN BEGIN TokMem↑[TokPtr]←141;TokPtr←TokPtr+1;
TokMem↑[TokPtr]←139;TokPtr←TokPtr+1;TokMem↑[TokPtr]←20480+P;
TokPtr←TokPtr+1;TokMem↑[TokPtr]←135;TokPtr←TokPtr+1;
ScrapPtr←ScrapPtr+1;Cat↑[ScrapPtr]←16;Trans↑[ScrapPtr]←TextPtr;
TextPtr←TextPtr+1;TokStart↑[TextPtr]←TokPtr; END;
BEGIN TokMem↑[TokPtr]←136;TokPtr←TokPtr+1;TokMem↑[TokPtr]←92;
TokPtr←TokPtr+1;TokMem↑[TokPtr]←32;TokPtr←TokPtr+1;
ScrapPtr←ScrapPtr+1;Cat↑[ScrapPtr]←3;Trans↑[ScrapPtr]←TextPtr;
TextPtr←TextPtr+1;TokStart↑[TextPtr]←TokPtr; END; END;
18 =>BEGIN BEGIN TokMem↑[TokPtr]←20480+P;TokPtr←TokPtr+1;
ScrapPtr←ScrapPtr+1;Cat↑[ScrapPtr]←18;Trans↑[ScrapPtr]←TextPtr;
TextPtr←TextPtr+1;TokStart↑[TextPtr]←TokPtr; END;
BEGIN ScrapPtr←ScrapPtr+1;Cat↑[ScrapPtr]←3;Trans↑[ScrapPtr]←0; END;
 END;19 =>BEGIN BEGIN TokMem↑[TokPtr]←141;TokPtr←TokPtr+1;
TokMem↑[TokPtr]←136;TokPtr←TokPtr+1;TokMem↑[TokPtr]←20480+P;
TokPtr←TokPtr+1;TokMem↑[TokPtr]←135;TokPtr←TokPtr+1;
ScrapPtr←ScrapPtr+1;Cat↑[ScrapPtr]←5;Trans↑[ScrapPtr]←TextPtr;
TextPtr←TextPtr+1;TokStart↑[TextPtr]←TokPtr; END;
BEGIN ScrapPtr←ScrapPtr+1;Cat↑[ScrapPtr]←3;Trans↑[ScrapPtr]←0; END;
 END;21 =>BEGIN--195:
IF( INT[ScrapPtr]<ScrapBase)OR ((Cat↑[ScrapPtr]#10)AND (Cat↑[ScrapPtr]#9))
 THEN BEGIN ScrapPtr←ScrapPtr+1;Cat↑[ScrapPtr]←10;
Trans↑[ScrapPtr]←0; END--:195--;BEGIN TokMem↑[TokPtr]←141;
TokPtr←TokPtr+1;TokMem↑[TokPtr]←139;TokPtr←TokPtr+1;
TokMem↑[TokPtr]←20480+P;TokPtr←TokPtr+1;ScrapPtr←ScrapPtr+1;
Cat↑[ScrapPtr]←6;Trans↑[ScrapPtr]←TextPtr;TextPtr←TextPtr+1;
TokStart↑[TextPtr]←TokPtr; END;BEGIN ScrapPtr←ScrapPtr+1;
Cat↑[ScrapPtr]←13;Trans↑[ScrapPtr]←0; END; END;
22 =>BEGIN BEGIN TokMem↑[TokPtr]←141;TokPtr←TokPtr+1;
TokMem↑[TokPtr]←139;TokPtr←TokPtr+1;TokMem↑[TokPtr]←20480+P;
TokPtr←TokPtr+1;TokMem↑[TokPtr]←135;TokPtr←TokPtr+1;
ScrapPtr←ScrapPtr+1;Cat↑[ScrapPtr]←19;Trans↑[ScrapPtr]←TextPtr;
TextPtr←TextPtr+1;TokStart↑[TextPtr]←TokPtr; END;
BEGIN ScrapPtr←ScrapPtr+1;Cat↑[ScrapPtr]←3;Trans↑[ScrapPtr]←0; END;
 END;--:194-- ENDCASE =>BEGIN NextControl← INT[Ilk↑[P]]-24; GOTO Label21; END ; END--:192
;134 =>--191:--BEGIN TokMem↑[TokPtr]←92;TokPtr←TokPtr+1;
TokMem↑[TokPtr]←104;TokPtr←TokPtr+1;TokMem↑[TokPtr]←98;
TokPtr←TokPtr+1;TokMem↑[TokPtr]←111;TokPtr←TokPtr+1;
TokMem↑[TokPtr]←120;TokPtr←TokPtr+1;TokMem↑[TokPtr]←123;
TokPtr←TokPtr+1;
FOR i:INT    IN [ INT[IdFirst ].. INT[IdLoc-1 ]] DO  J ← i;  IF  INT[TokPtr+2]>MaxToks  THEN BEGIN
PascalWriteLn[file: @TermOut];
{PascalWriteLongString[file: @TermOut, item: "! Sorry, "]; PascalWriteLongString[file: @TermOut, item: "token"]; PascalWriteLongString[file: @TermOut, item: " capacity exceeded"]};Error[];
History←3;JumpOut[]; END;TokMem↑[TokPtr]←Buffer↑[J];TokPtr←TokPtr+1;
 ENDLOOP;BEGIN TokMem↑[TokPtr]←125;TokPtr←TokPtr+1;
ScrapPtr←ScrapPtr+1;Cat↑[ScrapPtr]←1;Trans↑[ScrapPtr]←TextPtr;
TextPtr←TextPtr+1;TokStart↑[TextPtr]←TokPtr; END; END--:191--;
 ENDCASE =>EasyCases []--:186--;NextControl←GetNext[];
IF(NextControl=124)OR (NextControl=123) THEN  GOTO Label10;EXIT; EXITS Label21 => NULL} ENDLOOP; END ENDLOOP ;EXITS Label10 => NULL}; END;--:184
--198:-- PascalTranslate: PROCEDURE RETURNS[PascalTranslateResult: TextPointer] = 
BEGIN P:TextPointer;
SaveBase:PascalInteger[0..MaxScraps]; SaveBase←ScrapBase;
ScrapBase←ScrapPtr+1;PascalParse[];
IF NextControl#124  THEN BEGIN IF  NOT PhaseOne  THEN BEGIN 
PascalWriteLn[file: @TermOut];PascalWriteLongString[file: @TermOut, item: "! Missing \"|\" after Pascal text"];Error[]; END;
 END;BEGIN IF  INT[TokPtr+2]>MaxToks  THEN BEGIN PascalWriteLn[file: @TermOut];
{PascalWriteLongString[file: @TermOut, item: "! Sorry, "]; PascalWriteLongString[file: @TermOut, item: "token"]; PascalWriteLongString[file: @TermOut, item: " capacity exceeded"]};Error[];
History←3;JumpOut[]; END;TokMem↑[TokPtr]←135;TokPtr←TokPtr+1; END;
AppComment[];P←Translate[];
--IF SCRAP←PTR>MAX←SCR←PTR THEN MAX←SCR←PTR:=SCRAP←PTR;
ScrapPtr←ScrapBase-1;ScrapBase←SaveBase;PascalTranslateResult←P; END;
--:198----199:-- OuterParse: PROCEDURE = 
BEGIN Bal:EightBits;P, Q:TextPointer;
 WHILE  INT[NextControl]<143 DO IF NextControl#123  THEN PascalParse
[] ELSE BEGIN--200:
IF( INT[TokPtr+7]>MaxToks)OR ( INT[TextPtr+3]>MaxTexts)OR ( INT[ScrapPtr]>=MaxScraps)
 THEN BEGIN--IF SCRAP←PTR>MAX←SCR←PTR THEN MAX←SCR←PTR:=SCRAP←PTR;
-- IF TOK←PTR>MAX←TOK←PTR THEN MAX←TOK←PTR:=TOK←PTR;
-- IF TEXT←PTR>MAX←TXT←PTR THEN MAX←TXT←PTR:=TEXT←PTR;
BEGIN PascalWriteLn[file: @TermOut];
{PascalWriteLongString[file: @TermOut, item: "! Sorry, "]; PascalWriteLongString[file: @TermOut, item: "token/text/scrap"]; PascalWriteLongString[file: @TermOut, item: " capacity exceeded"]};
Error[];History←3;JumpOut[]; END; END--:200--;TokMem↑[TokPtr]←92;
TokPtr←TokPtr+1;TokMem↑[TokPtr]←67;TokPtr←TokPtr+1;
TokMem↑[TokPtr]←123;TokPtr←TokPtr+1;Bal←CopyComment[1];
NextControl←124;WHILE  INT[Bal]>0 DO BEGIN P←TextPtr;TextPtr←TextPtr+1;
TokStart↑[TextPtr]←TokPtr;Q←PascalTranslate[];
TokMem↑[TokPtr]←40960+P;TokPtr←TokPtr+1;TokMem↑[TokPtr]←51200+Q;
TokPtr←TokPtr+1;
IF NextControl=124  THEN Bal←CopyComment[Bal] ELSE Bal←0; END ENDLOOP ;
TokMem↑[TokPtr]←141;TokPtr←TokPtr+1;AppComment[]; END ENDLOOP ; END;--:199

END.