-- 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]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]BEGIN--195: IF( INT[ScrapPtr]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]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.