-- file: TexFinalizeImpl.mesa -- Pascal-to-Mesa translator output, translated at September 27, 1985 10:21:38 am PDT DIRECTORY PascalBasic, PascalWizardFiles, TexTypes, TexSysdep, TexSysdepInline, TexInteraction, TexMemory, TexSymbols, TexScan, TexDvi, TexOps, TexParagraph, TexBuildPage, TexRest; TexFinalizeImpl: PROGRAM IMPORTS PascalBasic, PascalWizardFiles, TexTypes, TexSysdep, TexSysdepInline, TexInteraction, TexMemory, TexSymbols, TexScan, TexDvi, TexOps, TexParagraph, TexBuildPage, TexRest EXPORTS TexRest = PUBLIC BEGIN OPEN PascalBasic, PascalWizardFiles, TexTypes, TexSysdep, TexSysdepInline, TexInteraction, TexMemory, TexSymbols, TexScan, TexDvi, TexOps, TexParagraph, TexBuildPage, TexRest; StoreFmtFile: PROCEDURE = BEGIN J, K, L:PascalInteger;P, Q:Halfword;X:PascalInteger;W:FourQuarters;--1304: IF SavePtr#0 THEN BEGIN BEGIN IF Interaction=3 THEN NULL;PrintNl[134]; Print[1109]; END;BEGIN HelpPtr_1;HelpLine^[0]_1110; END; BEGIN IF Interaction=3 THEN Interaction_2;Error[]; IF INT[Interaction]>0 THEN DebugHelp[];History_3;JumpOut[]; END; END--:1304--; --1328:--Selector_21;Print[1121];Print[JobName];PrintChar[32]; PrintInt[ Eqtb^[4790].Int MOD 100];PrintChar[46]; PrintInt[Eqtb^[4789].Int];PrintChar[46];PrintInt[Eqtb^[4788].Int]; PrintChar[41];IF Interaction=0 THEN Selector_18 ELSE Selector_19; BEGIN IF INT[PoolPtr+1]>PoolSize THEN Overflow[129,PoolSize-InitPoolPtr] ; END;FormatIdent_MakeString[];PackJobName[1122]; WHILE NOT WOpenOut[@FmtFile]DO PromptFileName[1123,1122] ENDLOOP ; PrintNl[1124];Print[WMakeNameString[@FmtFile]]; BEGIN StrPtr_StrPtr-1;PoolPtr_StrStart^[StrPtr]; END; PrintNl[FormatIdent]--:1328--;--1307:--BEGIN FmtFile.element.Int_94919885; PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END;BEGIN FmtFile.element.Int_0;PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END; BEGIN FmtFile.element.Int_65000;PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END;BEGIN FmtFile.element.Int_5476; PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END;BEGIN FmtFile.element.Int_2129;PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END; BEGIN FmtFile.element.Int_307;PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END--:1307--;--1309: BEGIN FmtFile.element.Int_PoolPtr;PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END; BEGIN FmtFile.element.Int_StrPtr;PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END; FOR i:INT IN [ INT[0 ].. INT[StrPtr ]] DO K _ i; FmtFile.element.Int_StrStart^[K];PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; ENDLOOP;K_0;WHILE K+4 NULL};J_J+1;L_J; WHILE J<4766 DO BEGIN IF(Eqtb^[J].Hh.Rh#Eqtb^[J+1].Hh.Rh)OR (Eqtb^[J].Hh.B0 #Eqtb^[J+1].Hh.B0)OR (Eqtb^[J].Hh.B1#Eqtb^[J+1].Hh.B1) THEN GOTO Label31;J_J+1; END ENDLOOP ;EXITS Label31 => NULL};BEGIN FmtFile.element.Int_L-K;PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END; WHILE K NULL};J_J+1;L_J; WHILE J<5476 DO BEGIN IF Eqtb^[J].Int#Eqtb^[J+1].Int THEN GOTO Label32;J_J+1; END ENDLOOP ;EXITS Label32 => NULL};BEGIN FmtFile.element.Int_L-K;PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END; WHILE K5476--:1316-- THEN EXIT; ENDLOOP;BEGIN FmtFile.element.Int_ParLoc;PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END; BEGIN FmtFile.element.Int_WriteLoc;PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END;--1318: BEGIN FmtFile.element.Int_HashUsed;PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END; CsCount_ INT[2757]-HashUsed; FOR i:INT IN [ INT[258 ].. INT[HashUsed ]] DO P _ i; IF Hash^[P].Rh#0 THEN BEGIN BEGIN FmtFile.element. Int_P;PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END;BEGIN FmtFile.element.Hh_Hash^[P];PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END; CsCount_CsCount+1; END ENDLOOP; FOR i:INT IN [ INT[HashUsed+1 ].. INT[3024 ]] DO P _ i; FmtFile.element.Hh_Hash^[P];PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; ENDLOOP;BEGIN FmtFile.element.Int_CsCount;PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END;PrintLn[]; PrintInt[CsCount];Print[1113]--:1318----:1313--;--1320: BEGIN FmtFile.element.Int_FmemPtr;PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END; FOR i:INT IN [ INT[0 ].. INT[FmemPtr-1 ]] DO K _ i; FmtFile.element_FontInfo^[K];PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; ENDLOOP;BEGIN FmtFile.element.Int_FontPtr;PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END; FOR i:INT IN [ INT[0 ].. INT[FontPtr ]] DO --1322:--K _ i; BEGIN FmtFile.element.Qqqq_FontCheck^[K]; PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END;BEGIN FmtFile.element.Int_FontSize^[K];PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END; BEGIN FmtFile.element.Int_FontDsize^[K];PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END; BEGIN FmtFile.element.Int_FontParams^[K];PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END; BEGIN FmtFile.element.Int_HyphenChar^[K];PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END; BEGIN FmtFile.element.Int_SkewChar^[K];PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END; BEGIN FmtFile.element.Int_FontFamily^[K];PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END; BEGIN FmtFile.element.Int_FontFace^[K];PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END; BEGIN FmtFile.element.Int_FontName^[K];PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END; BEGIN FmtFile.element.Int_FontArea^[K];PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END; BEGIN FmtFile.element.Int_FontBc^[K];PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END; BEGIN FmtFile.element.Int_FontEc^[K];PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END; BEGIN FmtFile.element.Int_CharBase^[K];PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END; BEGIN FmtFile.element.Int_WidthBase^[K];PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END; BEGIN FmtFile.element.Int_HeightBase^[K];PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END; BEGIN FmtFile.element.Int_DepthBase^[K];PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END; BEGIN FmtFile.element.Int_ItalicBase^[K];PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END; BEGIN FmtFile.element.Int_LigKernBase^[K];PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END; BEGIN FmtFile.element.Int_KernBase^[K];PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END; BEGIN FmtFile.element.Int_ExtenBase^[K];PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END; BEGIN FmtFile.element.Int_ParamBase^[K];PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END; BEGIN FmtFile.element.Int_FontGlue^[K];PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END;PrintNl[1116]; PrintEsc[Hash^[2768+K].Rh];PrintChar[61]; PrintFileName[FontName^[K],FontArea^[K],210]; IF FontSize^[K]#FontDsize^[K] THEN BEGIN Print[601]; PrintScaled[FontSize^[K]];Print[265]; END;--:1322-- ENDLOOP;PrintLn[]; PrintInt[FmemPtr-7];Print[1114];PrintInt[FontPtr-0];Print[1115]; IF FontPtr#1 THEN PrintChar[115]--:1320--;--1324: BEGIN FmtFile.element.Int_HyphCount;PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END; FOR i:INT IN [ INT[0 ].. INT[307 ]] DO K _ i; IF HyphWord^[K]#0 THEN BEGIN BEGIN FmtFile.element.Int_K; PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END;BEGIN FmtFile.element.Int_HyphWord^[K];PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END; BEGIN FmtFile.element.Int_HyphList^[K];PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END; END ENDLOOP; BEGIN FmtFile.element.Int_TrieMax;PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END; FOR i:INT IN [ INT[0 ].. INT[TrieMax ]] DO K _ i; FmtFile.element.Hh_Trie^[K];PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; ENDLOOP; BEGIN FmtFile.element.Int_TrieOpPtr;PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END; FOR i:INT IN [ INT[1 ].. INT[TrieOpPtr ]] DO K _ i; BEGIN FmtFile.element.Int_HyfDistance^[K]; PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END;BEGIN FmtFile.element.Int_HyfNum^[K];PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END; BEGIN FmtFile.element.Int_HyfNext^[K];PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END; ENDLOOP;PrintLn[]; PrintInt[HyphCount];Print[1117];IF HyphCount#1 THEN PrintChar[115]; PrintNl[1118];PrintInt[TrieMax];Print[1119];PrintInt[TrieOpPtr]; Print[1120];IF TrieOpPtr#1 THEN PrintChar[115]--:1324--;--1326: BEGIN FmtFile.element.Int_Interaction;PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END; BEGIN FmtFile.element.Int_FormatIdent;PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END; BEGIN FmtFile.element.Int_69069;PascalPUT[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element]; END;Eqtb^[4798].Int_0--:1326--; --1329:--WClose[@FmtFile]--:1329--; END;--:1302----1348:----1349: CloseFilesAndTerminate: PROCEDURE = BEGIN K:PascalInteger;--1367: --642: FOR i:INT IN [ INT[0 ].. INT[15 ]] DO K _ i; IF WriteOpen^[K] THEN AClose[@WriteFile^[K]]--:1367-- ENDLOOP; FOR i:INT IN [ INT[1 ].. INT[InOpen ]] DO K _ i; AClose[@InputFile^[K]];PrintChar[41]; ENDLOOP; IF Eqtb^[4798].Int>0 THEN--1334: IF INT[JobName]>0 THEN BEGIN {PascalWriteLongString[file: @LogFile, item: " "]; PascalWriteLn[file: @LogFile]}; {PascalWriteLongString[file: @LogFile, item: "Here is how much of TeX's memory"]; PascalWriteLongString[file: @LogFile, item: " you used:"]; PascalWriteLn[file: @LogFile]}; {PascalWriteLongString[file: @LogFile, item: " "]; PascalWriteInteger[file: @LogFile, item: StrPtr-InitStrPtr, fieldMinLength: 1]; PascalWriteLongString[file: @LogFile, item: " string"]}; IF StrPtr#InitStrPtr+1 THEN PascalWriteLongString[file: @LogFile, item: "s"]; {PascalWriteLongString[file: @LogFile, item: " out of "]; PascalWriteInteger[file: @LogFile, item: MaxStrings-InitStrPtr, fieldMinLength: 1]; PascalWriteLn[file: @LogFile]}; {PascalWriteLongString[file: @LogFile, item: " "]; PascalWriteInteger[file: @LogFile, item: INT[PoolPtr]-InitPoolPtr, fieldMinLength: 1] ; PascalWriteLongString[file: @LogFile, item: " string characters out of "]; PascalWriteInteger[file: @LogFile, item: PoolSize-InitPoolPtr, fieldMinLength: 1]; PascalWriteLn[file: @LogFile]}; {PascalWriteLongString[file: @LogFile, item: " "]; PascalWriteInteger[file: @LogFile, item: INT[LoMemMax-MemMin]+MemEnd-HiMemMin+2, fieldMinLength: 1] ; PascalWriteLongString[file: @LogFile, item: " words of memory out of "]; PascalWriteInteger[file: @LogFile, item: MemEnd+1-MemMin, fieldMinLength: 1]; PascalWriteLn[file: @LogFile]}; {PascalWriteLongString[file: @LogFile, item: " "]; PascalWriteInteger[file: @LogFile, item: CsCount, fieldMinLength: 1] ; PascalWriteLongString[file: @LogFile, item: " multiletter control sequences out of "]; PascalWriteInteger[file: @LogFile, item: 2500, fieldMinLength: 1]; PascalWriteLn[file: @LogFile]}; {PascalWriteLongString[file: @LogFile, item: " "]; PascalWriteInteger[file: @LogFile, item: FmemPtr, fieldMinLength: 1]; PascalWriteLongString[file: @LogFile, item: " words of font info for "]; PascalWriteInteger[file: @LogFile, item: FontPtr-0, fieldMinLength: 1] ; PascalWriteLongString[file: @LogFile, item: " font"]};IF FontPtr#1 THEN PascalWriteLongString[file: @LogFile, item: "s"]; {PascalWriteLongString[file: @LogFile, item: ", out of "]; PascalWriteInteger[file: @LogFile, item: FontMemSize, fieldMinLength: 1]; PascalWriteLongString[file: @LogFile, item: " for "]; PascalWriteInteger[file: @LogFile, item: FontMax-0, fieldMinLength: 1]; PascalWriteLn[file: @LogFile]}; {PascalWriteLongString[file: @LogFile, item: " "]; PascalWriteInteger[file: @LogFile, item: HyphCount, fieldMinLength: 1]; PascalWriteLongString[file: @LogFile, item: " hyphenation exception"]}; IF HyphCount#1 THEN PascalWriteLongString[file: @LogFile, item: "s"]; {PascalWriteLongString[file: @LogFile, item: " out of "]; PascalWriteInteger[file: @LogFile, item: 307, fieldMinLength: 1]; PascalWriteLn[file: @LogFile]}; {PascalWriteLongString[file: @LogFile, item: " "]; PascalWriteInteger[file: @LogFile, item: MaxInStack, fieldMinLength: 1]; PascalWriteLongString[file: @LogFile, item: "i,"]; PascalWriteInteger[file: @LogFile, item: MaxNestStack, fieldMinLength: 1]; PascalWriteLongString[file: @LogFile, item: "n,"] ; PascalWriteInteger[file: @LogFile, item: MaxParamStack, fieldMinLength: 1]; PascalWriteLongString[file: @LogFile, item: "p,"]; PascalWriteInteger[file: @LogFile, item: MaxBufStack+1, fieldMinLength: 1]; PascalWriteLongString[file: @LogFile, item: "b,"]; PascalWriteInteger[file: @LogFile, item: MaxSaveStack+6, fieldMinLength: 1] ; PascalWriteLongString[file: @LogFile, item: "s stack positions out of "]; PascalWriteInteger[file: @LogFile, item: StackSize, fieldMinLength: 1]; PascalWriteLongString[file: @LogFile, item: "i,"]; PascalWriteInteger[file: @LogFile, item: NestSize, fieldMinLength: 1]; PascalWriteLongString[file: @LogFile, item: "n,"] ; PascalWriteInteger[file: @LogFile, item: ParamSize, fieldMinLength: 1]; PascalWriteLongString[file: @LogFile, item: "p,"]; PascalWriteInteger[file: @LogFile, item: BufSize, fieldMinLength: 1]; PascalWriteLongString[file: @LogFile, item: "b,"]; PascalWriteInteger[file: @LogFile, item: SaveSize, fieldMinLength: 1]; PascalWriteLongString[file: @LogFile, item: "s"]; PascalWriteLn[file: @LogFile]}; END--:1334--;IF TotalPages=0 THEN PrintNl[694] ELSE IF UsePressFormat THEN BEGIN PrintNl[695];Print[OutputFileName];Print[158];PrintInt[TotalPages]; Print[696];IF TotalPages#1 THEN PrintChar[115];Print[697]; PressCloseFile[]; END ELSE BEGIN BEGIN DviBuf^[DviPtr]_248; DviPtr_DviPtr+1;IF DviPtr=DviLimit THEN DviSwap[]; END; DviFour[LastBop];LastBop_DviOffset+DviPtr-5;DviFour[25400000]; DviFour[473628672];PrepareMag[];DviFour[Eqtb^[4784].Int]; DviFour[MaxV];DviFour[MaxH]; BEGIN DviBuf^[DviPtr]_ PascalDIVPower2[MaxPush ,8];DviPtr_DviPtr+1; IF DviPtr=DviLimit THEN DviSwap[]; END; BEGIN DviBuf^[DviPtr]_ PascalMODPower2Mask[MaxPush ,255];DviPtr_DviPtr+1; IF DviPtr=DviLimit THEN DviSwap[]; END; BEGIN DviBuf^[DviPtr]_ PascalDIVPower2[TotalPages ,8];DviPtr_DviPtr+1; IF DviPtr=DviLimit THEN DviSwap[]; END; BEGIN DviBuf^[DviPtr]_ PascalMODPower2Mask[TotalPages ,255];DviPtr_DviPtr+1; IF DviPtr=DviLimit THEN DviSwap[]; END;--643: WHILE INT[FontPtr]>0 DO BEGIN IF FontUsed^[FontPtr] THEN DviFontDef[ FontPtr];FontPtr_FontPtr-1; END--:643-- ENDLOOP ;BEGIN DviBuf^[DviPtr]_249; DviPtr_DviPtr+1;IF DviPtr=DviLimit THEN DviSwap[]; END; DviFour[LastBop];BEGIN DviBuf^[DviPtr]_2;DviPtr_DviPtr+1; IF DviPtr=DviLimit THEN DviSwap[]; END; K_4+( PascalMODPower2Mask[(DviBufSize-DviPtr),3]); WHILE K>0 DO BEGIN BEGIN DviBuf^[DviPtr]_223;DviPtr_DviPtr+1; IF DviPtr=DviLimit THEN DviSwap[]; END;K_K-1; END ENDLOOP ;--599: IF DviLimit=HalfBuf THEN WriteDvi[HalfBuf,DviBufSize-1]; IF INT[DviPtr]>0 THEN WriteDvi[0,DviPtr-1]--:599--;PrintNl[695]; Print[OutputFileName];Print[158];PrintInt[TotalPages];Print[696]; IF TotalPages#1 THEN PrintChar[115];Print[698]; PrintInt[DviOffset+DviPtr];Print[699];BClose[@DviFile]; END--:642--; IF INT[JobName]>0 THEN BEGIN PascalWriteLn[file: @LogFile];AClose[@LogFile]; Selector_Selector-2;IF Selector=17 THEN BEGIN PrintNl[1125]; Print[LogName];PrintChar[46];PrintChar[13]; END; END; END;--:1333----1335: FinalCleanup: PROCEDURE = BEGIN C:SmallNumber; C_CurChr; IF JobName=0 THEN OpenLogFile[];IF INT[CurLevel]>1 THEN BEGIN PrintNl[40]; PrintEsc[1126];Print[1127];PrintInt[CurLevel-1];PrintChar[41]; END; WHILE CondPtr#0 DO BEGIN PrintNl[40];PrintEsc[1126];Print[1128]; PrintCmdChr[104,CurIf];IF IfLine#0 THEN BEGIN Print[1129]; PrintInt[IfLine]; END;Print[1130];IfLine_Mem[CondPtr+1]^.Int; CurIf_Mem[CondPtr]^.Hh.B1;CondPtr_Mem[CondPtr]^.Hh.Rh; END ENDLOOP ; IF History#0 THEN IF((History=1)OR ( INT[Interaction]<3)) THEN IF Selector=19 THEN BEGIN Selector_17;PrintNl[1131];Selector_19; END; {IF C=1 THEN BEGIN StoreFmtFile[]; GOTO Label10;PrintNl[1132]; GOTO Label10; END; EXITS Label10 => NULL}; END;--:1335----1336:-- DebugHelp: PROCEDURE = BEGIN K, L, M, N:PascalInteger; {WHILE TRUE DO BEGIN PrintNl[1133];PascalTextBREAK[file: @TermOut];M_PascalReadInteger[file: @TermIn]; IF M<0 THEN GOTO Label10 ELSE IF M=0 THEN BEGIN { GOTO Label888; EXITS Label888 => NULL};M_0;--'BREAKPOINT' END ELSE BEGIN N_PascalReadInteger[file: @TermIn];SELECT M FROM--1339:--1 =>PrintWord[Mem[N]^]; 2 =>PrintInt[Mem[N]^.Hh.Lh];3 =>PrintInt[Mem[N]^.Hh.Rh]; 4 =>PrintWord[Eqtb^[N]];5 =>PrintWord[FontInfo^[N]]; 6 =>PrintWord[SaveStack^[N]];7 =>ShowBox[N];8 =>BEGIN BreadthMax_10000; DepthThreshold_ INT[PoolSize-PoolPtr]-10;ShowNodeList[N]; END; 9 =>ShowTokenList[N,0,1000];10 =>Print[N];11 =>CheckMem[N>0]; 12 =>SearchMem[N];13 =>BEGIN L_PascalReadInteger[file: @TermIn];PrintCmdChr[N,L]; END; 14 =>FOR i:INT IN [ INT[0 ].. INT[N ]] DO K _ i; Print[Buffer^[K]] ENDLOOP;15 =>BEGIN FontInShortDisplay_0; ShortDisplay[N]; END;16 =>Panicking_ NOT Panicking;--:1339 ENDCASE =>Print[63]; END; END ENDLOOP ;EXITS Label10 => NULL}; END;--:1338----:1330----1332: END.