-- file: TexBuildPage3Impl.mesa -- Pascal-to-Mesa translator output, translated at September 27, 1985 10:21:38 am PDT DIRECTORY PascalBasic, TexTypes, TexInteraction, TexMemory, TexSymbols, TexScan, TexDvi, TexOps, TexParagraph, TexBuildPage, TexMath, TexRest, TexSysdepInline; TexBuildPage3Impl: PROGRAM IMPORTS PascalBasic, TexTypes, TexInteraction, TexMemory, TexSymbols, TexScan, TexDvi, TexOps, TexParagraph, TexBuildPage, TexMath, TexRest, TexSysdepInline EXPORTS TexBuildPage = PUBLIC BEGIN OPEN PascalBasic, TexTypes, TexInteraction, TexMemory, TexSymbols, TexScan, TexDvi, TexOps, TexParagraph, TexBuildPage, TexMath, TexRest, TexSysdepInline; AppendGlue: PROCEDURE = BEGIN S:SmallNumber; S_CurChr;SELECT S FROM 0 =>CurVal_4;1 =>CurVal_8; 2 =>CurVal_12;3 =>CurVal_16;4 =>ScanGlue[2];5 =>ScanGlue[3]; ENDCASE; BEGIN Mem[CurList.TailField]^.Hh.Rh_NewGlue[CurVal]; CurList.TailField_Mem[CurList.TailField]^.Hh.Rh; END; IF INT[S]>=4 THEN BEGIN Mem[CurVal]^.Hh.Rh_ INT[Mem[CurVal]^.Hh.Rh]-1; IF INT[S]>4 THEN Mem[CurList.TailField]^.Hh.B1_99; END; END;--:1060----1061: AppendKern: PROCEDURE = BEGIN S:Quarterword; S_CurChr; ScanDimen[S=99,FALSE,FALSE]; BEGIN Mem[CurList.TailField]^.Hh.Rh_NewKern[CurVal]; CurList.TailField_Mem[CurList.TailField]^.Hh.Rh; END; Mem[CurList.TailField]^.Hh.B1_S; END;--:1061----1064:-- OffSave: PROCEDURE = BEGIN P:Halfword; IF CurGroup=0 THEN--1066: BEGIN BEGIN IF Interaction=3 THEN NULL;PrintNl[134];Print[636]; END; PrintCmdChr[CurCmd,CurChr];BEGIN HelpPtr_1;HelpLine^[0]_896; END; Error[]; END--:1066-- ELSE BEGIN BackInput[];P_GetAvail[];Mem[64997]^.Hh.Rh_P; BEGIN IF Interaction=3 THEN NULL;PrintNl[134];Print[486]; END;--1065: SELECT CurGroup FROM 14 =>BEGIN Mem[P]^.Hh.Lh_6856;PrintEsc[378]; END; 15 =>BEGIN Mem[P]^.Hh.Lh_804;PrintChar[36]; END; 16 =>BEGIN Mem[P]^.Hh.Lh_6857;Mem[P]^.Hh.Rh_GetAvail[];P_Mem[P]^.Hh.Rh; Mem[P]^.Hh.Lh_3118;PrintEsc[895]; END; ENDCASE =>BEGIN Mem[P]^.Hh.Lh_637; PrintChar[125]; END --:1065--;Print[487]; BeginTokenList[Mem[64997]^.Hh.Rh,4];BEGIN HelpPtr_5; HelpLine^[4]_890;HelpLine^[3]_891;HelpLine^[2]_892;HelpLine^[1]_893; HelpLine^[0]_894; END;Error[]; END; END;--:1064----1069: ExtraRightBrace: PROCEDURE = BEGIN BEGIN IF Interaction=3 THEN NULL; PrintNl[134];Print[901]; END;SELECT CurGroup FROM 14 =>PrintEsc[378]; 15 =>PrintChar[36];16 =>PrintEsc[735]; ENDCASE;BEGIN HelpPtr_5; HelpLine^[4]_902;HelpLine^[3]_903;HelpLine^[2]_904;HelpLine^[1]_905; HelpLine^[0]_906; END;Error[];AlignState_AlignState+1; END;--:1069 --1070:-- NormalParagraph: PROCEDURE = BEGIN IF Eqtb^[4786].Int#0 THEN EqWordDefine[4786,0]; IF Eqtb^[5218].Int#0 THEN EqWordDefine[5218,0]; IF Eqtb^[4808].Int#1 THEN EqWordDefine[4808,1]; IF Eqtb^[3556].Hh.Rh#0 THEN EqDefine[3556,117,0]; END;--:1070----1075: BoxEnd: PROCEDURE = BEGIN P:Halfword; IF SaveStack^[SavePtr+0].Int<1073741824 THEN--1076: BEGIN IF CurBox#0 THEN BEGIN Mem[CurBox+4]^.Int_SaveStack^[SavePtr+0 ].Int;IF ABS[CurList.ModeField]=1 THEN BEGIN AppendToVlist[CurBox]; IF AdjustTail#0 THEN BEGIN IF 64995#AdjustTail THEN BEGIN Mem[ CurList.TailField]^.Hh.Rh_Mem[64995]^.Hh.Rh; CurList.TailField_AdjustTail; END;AdjustTail_0; END; IF INT[CurList.ModeField]>0 THEN BuildPage[]; END ELSE BEGIN IF ABS[CurList.ModeField]=101 THEN CurList.AuxField_ 1000 ELSE BEGIN P_NewNoad[];Mem[P+1]^.Hh.Rh_2;Mem[P+1]^.Hh.Lh_CurBox; CurBox_P; END;Mem[CurList.TailField]^.Hh.Rh_CurBox; CurList.TailField_CurBox; END; END; END--:1076 ELSE IF SaveStack^[SavePtr+0].Int<1073742336 THEN--1077: IF SaveStack^[SavePtr+0].Int<1073742080 THEN EqDefine[ -1073738002+SaveStack^[SavePtr+0].Int,118,CurBox] ELSE GeqDefine[ -1073738258+SaveStack^[SavePtr+0].Int,118,CurBox]--:1077 ELSE IF CurBox#0 THEN IF SaveStack^[SavePtr+0].Int>1073742336 THEN-- -- 1078:--BEGIN--404:--DO GetXToken[]; IF(CurCmd#10)AND (CurCmd#0)--:404-- THEN EXIT; ENDLOOP; IF((CurCmd=26)AND (ABS[CurList.ModeField]#1))OR ((CurCmd=27)AND ( ABS[CurList.ModeField]=1))OR ((CurCmd=28)AND (ABS[CurList.ModeField]=201) ) THEN BEGIN AppendGlue[]; Mem[CurList.TailField]^.Hh.B1_SaveStack^[SavePtr+0].Int-(1073742237); Mem[CurList.TailField+1]^.Hh.Rh_CurBox; END ELSE BEGIN BEGIN IF Interaction=3 THEN NULL;PrintNl[134];Print[919]; END; BEGIN HelpPtr_3;HelpLine^[2]_920;HelpLine^[1]_921;HelpLine^[0]_922; END;BackError[];FlushNodeList[CurBox]; END; END--:1078 ELSE ShipOut[CurBox]; END;--:1075----1079:-- BeginBox: PROCEDURE = BEGIN P:Halfword;K:Halfword;N:EightBits; {SELECT CurChr FROM 0 =>BEGIN ScanEightBitInt[]; CurBox_Eqtb^[3822+CurVal].Hh.Rh;Eqtb^[3822+CurVal].Hh.Rh_0; END; 1 =>BEGIN ScanEightBitInt[]; CurBox_CopyNodeList[Eqtb^[3822+CurVal].Hh.Rh]; END;2 =>--1080: BEGIN CurBox_0;IF ABS[CurList.ModeField]=201 THEN BEGIN YouCant[]; BEGIN HelpPtr_1;HelpLine^[0]_923; END;Error[]; END ELSE IF(CurList.ModeField=1)AND (CurList.HeadField=CurList. TailField) THEN--1081:--BEGIN YouCant[];BEGIN HelpPtr_2; HelpLine^[1]_924;HelpLine^[0]_925; END;Error[]; END--:1081 ELSE BEGIN IF NOT ( INT[CurList.TailField]>=HiMemMin) THEN IF(Mem[CurList. TailField]^.Hh.B0=0)OR (Mem[CurList.TailField]^.Hh.B0=1) THEN BEGIN P_ CurList.HeadField;CurBox_CurList.TailField;Mem[CurBox+4]^.Int_0; WHILE Mem[P]^.Hh.Rh#CurList.TailField DO P_Mem[P]^.Hh.Rh ENDLOOP ; CurList.TailField_P;Mem[P]^.Hh.Rh_0; END; END; END--:1080--;3 =>--1082: BEGIN ScanEightBitInt[];N_CurVal; IF NOT ScanKeyword[700] THEN BEGIN BEGIN IF Interaction=3 THEN NULL; PrintNl[134];Print[926]; END;BEGIN HelpPtr_2;HelpLine^[1]_927; HelpLine^[0]_928; END;Error[]; END;ScanDimen[FALSE,FALSE,FALSE]; CurBox_Vsplit[N,CurVal]; END--:1082--; ENDCASE =>--1083:--BEGIN K_ INT[CurChr]-4; SavePtr_SavePtr+1;ScanSpec[]; IF K=101 THEN IF(SaveStack^[SavePtr-3].Int<1073741824)AND (ABS[CurList. ModeField]=1) THEN NewSaveLevel[3] ELSE NewSaveLevel[2] ELSE BEGIN IF K=1 THEN NewSaveLevel[4] ELSE BEGIN NewSaveLevel[5];K_1; END; NormalParagraph[]; END;PushNest[];CurList.ModeField_- INT[K]; IF K=1 THEN BEGIN CurList.AuxField_-65536000; IF Eqtb^[3562].Hh.Rh#0 THEN BeginTokenList[Eqtb^[3562].Hh.Rh,11]; END ELSE BEGIN CurList.AuxField_1000; IF Eqtb^[3561].Hh.Rh#0 THEN BeginTokenList[Eqtb^[3561].Hh.Rh,10]; END; GOTO Label10; END--:1083--;BoxEnd[];EXITS Label10 => NULL}; END;--:1079----1084:-- ScanBox: PROCEDURE = BEGIN--404:--DO GetXToken[]; IF(CurCmd#10)AND (CurCmd#0)--:404-- THEN EXIT; ENDLOOP; IF CurCmd=20 THEN BeginBox [] ELSE IF( SaveStack^[SavePtr+0].Int>=1073742337)AND ((CurCmd=36)OR (CurCmd=35)) THEN BEGIN CurBox_ ScanRuleSpec[];BoxEnd[]; END ELSE BEGIN BEGIN IF Interaction=3 THEN NULL; PrintNl[134];Print[929]; END;BEGIN HelpPtr_3;HelpLine^[2]_930; HelpLine^[1]_931;HelpLine^[0]_932; END;BackError[]; END; END;--:1084 --1086:-- Package: PROCEDURE[C: SmallNumber] = BEGIN H:Scaled;P:Halfword; D:Scaled; D_Eqtb^[5208].Int;Unsave[];SavePtr_SavePtr-3; IF CurList.ModeField=-101 THEN CurBox_Hpack[Mem[CurList.HeadField]^ .Hh.Rh,SaveStack^[SavePtr+2].Int,SaveStack^[SavePtr+1].Int] ELSE BEGIN CurBox_Vpackage[Mem[CurList.HeadField]^.Hh.Rh,SaveStack^[SavePtr+2]. Int,SaveStack^[SavePtr+1].Int,D];IF C=4 THEN--1087:--BEGIN H_0; P_Mem[CurBox+5]^.Hh.Rh; IF P#0 THEN IF INT[Mem[P]^.Hh.B0]<=2 THEN H_Mem[P+3]^.Int; Mem[CurBox+2]^.Int_Mem[CurBox+2]^.Int-H+Mem[CurBox+3]^.Int; Mem[CurBox+3]^.Int_H; END--:1087--; END;PopNest[];BoxEnd[]; END;--:1086----1091: NewGraf: PROCEDURE[Indented: PascalBoolean] = BEGIN CurList.PgField_0; IF(CurList.ModeField=1)OR (CurList.HeadField#CurList.TailField) THEN BEGIN Mem[CurList.TailField]^.Hh.Rh_NewParamGlue[2]; CurList.TailField_Mem[CurList.TailField]^.Hh.Rh; END;PushNest[]; CurList.ModeField_101;CurList.AuxField_1000; IF Indented THEN BEGIN CurList.TailField_NewNullBox[]; Mem[CurList.HeadField]^.Hh.Rh_CurList.TailField; Mem[CurList.TailField+1]^.Int_Eqtb^[5201].Int; END; IF Eqtb^[3558].Hh.Rh#0 THEN BeginTokenList[Eqtb^[3558].Hh.Rh,7]; IF NestPtr=1 THEN BuildPage[]; END;--:1091----1093: IndentInHmode: PROCEDURE = BEGIN P, Q:Halfword; IF INT[CurChr]>0 THEN BEGIN P_NewNullBox[]; Mem[P+1]^.Int_Eqtb^[5201].Int; IF ABS[CurList.ModeField]=101 THEN CurList.AuxField_1000 ELSE BEGIN Q_NewNoad[];Mem[Q+1]^.Hh.Rh_2;Mem[Q+1]^.Hh.Lh_P;P_Q; END; BEGIN Mem[CurList.TailField]^.Hh.Rh_P; CurList.TailField_Mem[CurList.TailField]^.Hh.Rh; END; END; END;--:1093 --1095:-- HeadForVmode: PROCEDURE = BEGIN IF INT[CurList.ModeField]<0 THEN IF CurCmd#36 THEN OffSave [] ELSE BEGIN BEGIN IF Interaction=3 THEN NULL;PrintNl[134];Print[544]; END; PrintEsc[383];Print[935];BEGIN HelpPtr_2;HelpLine^[1]_936; HelpLine^[0]_937; END;Error[]; END ELSE BEGIN BackInput[]; CurTok_ParToken;BackInput[];CurInput.IndexField_4; END; END;--:1095 --1096:-- EndGraf: PROCEDURE = BEGIN IF CurList.ModeField=101 THEN BEGIN IF CurList.HeadField=CurList.TailField THEN PopNest [] ELSE LineBreak[Eqtb^[4773].Int]; NormalParagraph[];ErrorCount_0; END; END;--:1096----1099: BeginInsertOrAdjust: PROCEDURE = BEGIN IF CurCmd=38 THEN CurVal_255 ELSE BEGIN ScanEightBitInt[]; IF CurVal=255 THEN BEGIN BEGIN IF Interaction=3 THEN NULL;PrintNl[134]; Print[938]; END;PrintEsc[202];PrintInt[255];BEGIN HelpPtr_1; HelpLine^[0]_939; END;Error[];CurVal_0; END; END; SaveStack^[SavePtr+0].Int_CurVal;SavePtr_SavePtr+1; NewSaveLevel[11];ScanLeftBrace[];NormalParagraph[];PushNest[]; CurList.ModeField_-1;CurList.AuxField_-65536000; END;--:1099----1101: MakeMark: PROCEDURE = BEGIN P:Halfword; P_ScanToks[FALSE,TRUE]; P_GetNode[2];Mem[P]^.Hh.B0_4;Mem[P]^.Hh.B1_0;Mem[P+1]^.Int_DefRef; Mem[CurList.TailField]^.Hh.Rh_P;CurList.TailField_P; END;--:1101 --1103:-- AppendPenalty: PROCEDURE = BEGIN ScanInt[]; BEGIN Mem[CurList.TailField]^.Hh.Rh_NewPenalty[CurVal]; CurList.TailField_Mem[CurList.TailField]^.Hh.Rh; END; IF CurList.ModeField=1 THEN BuildPage[]; END;--:1103----1105: Unpackage: PROCEDURE = BEGIN P:Halfword;C:PascalInteger[0..1]; C_CurChr;ScanEightBitInt[]; P_Eqtb^[3822+CurVal].Hh.Rh;{IF P=0 THEN GOTO Label10; IF(ABS[CurList.ModeField]=201)OR ((ABS[CurList.ModeField]=1)AND (Mem[P ]^.Hh.B0#1))OR ((ABS[CurList.ModeField]=101)AND (Mem[P]^.Hh.B0#0)) THEN BEGIN BEGIN IF Interaction=3 THEN NULL;PrintNl[134];Print[950]; END; BEGIN HelpPtr_3;HelpLine^[2]_951;HelpLine^[1]_952;HelpLine^[0]_953; END;Error[]; GOTO Label10; END; IF C=1 THEN Mem[CurList.TailField]^.Hh.Rh_CopyNodeList[Mem[P+5]^.Hh. Rh] ELSE BEGIN Mem[CurList.TailField]^.Hh.Rh_Mem[P+5]^.Hh.Rh; Eqtb^[3822+CurVal].Hh.Rh_0;FreeNode[P,7]; END; WHILE Mem[CurList.TailField]^.Hh.Rh#0 DO CurList.TailField_Mem[ CurList.TailField]^.Hh.Rh ENDLOOP ;EXITS Label10 => NULL}; END;--:1110----1113: AppendItalicCorrection: PROCEDURE = BEGIN P:Halfword; F:InternalFontNumber; {IF CurList.TailField#CurList.HeadField THEN BEGIN IF( INT[CurList .TailField]>=HiMemMin) THEN P_CurList.TailField ELSE IF Mem[CurList .TailField]^.Hh.B0=6 THEN P_CurList.TailField+1 ELSE GOTO Label10; F_Mem[P]^.Hh.B0; BEGIN Mem[CurList.TailField]^.Hh.Rh_NewKern[FontInfo^[ ItalicBase^[F]+PascalDIVPower2[(FontInfo^[CharBase^[F]+Mem[P]^.Hh.B1].Qqqq.B2),2]].Int]; CurList.TailField_Mem[CurList.TailField]^.Hh.Rh; END; Mem[CurList.TailField]^.Hh.B1_1; END;EXITS Label10 => NULL}; END;--:1113----1117: AppendDiscretionary: PROCEDURE = BEGIN C:PascalInteger; BEGIN Mem[CurList.TailField]^.Hh.Rh_NewDisc[]; CurList.TailField_Mem[CurList.TailField]^.Hh.Rh; END; IF CurChr=1 THEN BEGIN C_HyphenChar^[Eqtb^[4078].Hh.Rh]; IF C>=0 THEN IF C<256 THEN Mem[CurList.TailField+1]^.Hh.Lh_ NewCharacter[Eqtb^[4078].Hh.Rh,C]; END ELSE BEGIN SavePtr_SavePtr+1; SaveStack^[SavePtr-1].Int_0;ScanLeftBrace[];NewSaveLevel[10]; PushNest[];CurList.ModeField_-101;CurList.AuxField_1000; END; END; --:1117----1119:-- BuildDiscretionary: PROCEDURE = BEGIN P, Q:Halfword;N:PascalInteger; Unsave[];--1121:--Q_CurList.HeadField; P_Mem[Q]^.Hh.Rh;N_0; {WHILE P#0 DO BEGIN IF NOT ( INT[P]>=HiMemMin) THEN IF INT[Mem[P]^.Hh.B0]>2 THEN IF Mem[P]^.Hh.B0#11 THEN IF Mem[P]^.Hh.B0#6 THEN BEGIN BEGIN IF Interaction =3 THEN NULL;PrintNl[134];Print[960]; END;BEGIN HelpPtr_1; HelpLine^[0]_961; END;Error[];BeginDiagnostic[];PrintNl[962];ShowBox[P]; EndDiagnostic[TRUE];FlushNodeList[P];Mem[Q]^.Hh.Rh_0; GOTO Label30; END; Q_P;P_Mem[Q]^.Hh.Rh;N_N+1; END ENDLOOP ;EXITS Label30 => NULL};--:1121--P_Mem[CurList.HeadField]^.Hh.Rh;PopNest[]; {SELECT SaveStack^[SavePtr-1].Int FROM 0 =>Mem[CurList.TailField+1]^.Hh.Lh_P ;1 =>Mem[CurList.TailField+1]^.Hh.Rh_P;2 =>--1120: BEGIN IF(N>0)AND (ABS[CurList.ModeField]=201) THEN BEGIN BEGIN IF Interaction=3 THEN NULL;PrintNl[134];Print[954]; END;PrintEsc[220]; BEGIN HelpPtr_2;HelpLine^[1]_955;HelpLine^[0]_956; END; FlushNodeList[P];N_0;Error[]; END ELSE Mem[CurList.TailField]^.Hh.Rh_P; IF N<128 THEN Mem[CurList.TailField]^.Hh.B1_N ELSE BEGIN BEGIN IF Interaction=3 THEN NULL;PrintNl[134];Print[957]; END;BEGIN HelpPtr_2; HelpLine^[1]_958;HelpLine^[0]_959; END;Error[]; END; IF N>0 THEN CurList.TailField_Q;SavePtr_SavePtr-1; GOTO Label10; END--:1120--; ENDCASE;SaveStack^[SavePtr-1].Int_SaveStack^[SavePtr-1].Int+1; ScanLeftBrace[];NewSaveLevel[10];PushNest[];CurList.ModeField_-101; CurList.AuxField_1000;EXITS Label10 => NULL}; END;--:1119----1123:-- MakeAccent: PROCEDURE = BEGIN S, T:PascalReal;P, Q, R:Halfword;F:InternalFontNumber;A, H, X, W, Delta:Scaled; I:FourQuarters; ScanCharNum[];F_Eqtb^[4078].Hh.Rh; P_NewCharacter[F,CurVal]; IF P#0 THEN BEGIN X_FontInfo^[5+ParamBase^[F]].Int; S_PascalFLOAT[FontInfo^[1+ParamBase^[F]].Int]/65536.0; A_FontInfo^[WidthBase^[F]+FontInfo^[CharBase^[F]+Mem[P]^.Hh.B1].Qqqq.B0] .Int;DoAssignments[];--1124:--Q_0;F_Eqtb^[4078].Hh.Rh; IF(CurCmd=11)OR (CurCmd=12)OR (CurCmd=67) THEN Q_NewCharacter[F, CurChr] ELSE IF CurCmd=16 THEN BEGIN ScanCharNum[]; Q_NewCharacter[F,CurVal]; END ELSE BackInput--:1124--[]; IF Q#0 THEN--1125:--BEGIN T_PascalFLOAT[FontInfo^[1+ParamBase^[F]].Int]/65536.0; I_FontInfo^[CharBase^[F]+Mem[Q]^.Hh.B1].Qqqq; W_FontInfo^[WidthBase^[F]+I.B0].Int; H_FontInfo^[ HeightBase^[F]+PascalDIVPower2[(I.B1),4]].Int; IF H#X THEN BEGIN P_Hpack[P,0,1];Mem[P+4]^.Int_X-H; END; Delta_PascalROUND[PascalFLOAT[(W-A)]/2.0+PascalFLOAT[H]*T-PascalFLOAT[X]*S];R_NewKern[Delta];Mem[R]^.Hh.B1_1; Mem[CurList.TailField]^.Hh.Rh_R;Mem[R]^.Hh.Rh_P; CurList.TailField_NewKern[-A-Delta]; Mem[CurList.TailField]^.Hh.B1_1;Mem[P]^.Hh.Rh_CurList.TailField; P_Q; END--:1125--;Mem[CurList.TailField]^.Hh.Rh_P; CurList.TailField_P;CurList.AuxField_1000; END; END;--:1123----1127: HandleRightBrace: PROCEDURE = BEGIN P, Q:Halfword;D:Scaled;F:PascalInteger; SELECT CurGroup FROM 1 =>Unsave[];0 =>BEGIN BEGIN IF Interaction=3 THEN NULL; PrintNl[134];Print[897]; END;BEGIN HelpPtr_2;HelpLine^[1]_898; HelpLine^[0]_899; END;Error[]; END;14,15,16 =>ExtraRightBrace[];--1085: 2 =>Package[0];3 =>BEGIN AdjustTail_64995;Package[0]; END;4 =>BEGIN EndGraf[]; Package[0]; END;5 =>BEGIN EndGraf[];Package[4]; END;--:1085----1100: 11 =>BEGIN EndGraf[];Q_Eqtb^[3036].Hh.Rh;Mem[Q]^.Hh.Rh_Mem[Q]^.Hh.Rh+1; D_Eqtb^[5207].Int;F_Eqtb^[4809].Int;Unsave[];SavePtr_SavePtr-1; P_Vpackage[Mem[CurList.HeadField]^.Hh.Rh,0,1,1073741823];PopNest[]; IF SaveStack^[SavePtr+0].Int<255 THEN BEGIN BEGIN Mem[CurList. TailField]^.Hh.Rh_GetNode[5]; CurList.TailField_Mem[CurList.TailField]^.Hh.Rh; END; Mem[CurList.TailField]^.Hh.B0_3; Mem[CurList.TailField]^.Hh.B1_SaveStack^[SavePtr+0].Int; Mem[CurList.TailField+3]^.Int_Mem[P+3]^.Int+Mem[P+2]^.Int; Mem[CurList.TailField+4]^.Hh.Lh_Mem[P+5]^.Hh.Rh; Mem[CurList.TailField+4]^.Hh.Rh_Q;Mem[CurList.TailField+2]^.Int_D; Mem[CurList.TailField+1]^.Int_F; END ELSE BEGIN BEGIN Mem[CurList.TailField]^.Hh.Rh_GetNode[2]; CurList.TailField_Mem[CurList.TailField]^.Hh.Rh; END; Mem[CurList.TailField]^.Hh.B0_5;Mem[CurList.TailField]^.Hh.B1_0; Mem[CurList.TailField+1]^.Int_Mem[P+5]^.Hh.Rh;DeleteGlueRef[Q]; END; FreeNode[P,7];IF NestPtr=0 THEN BuildPage[]; END;8 =>--1026: BEGIN IF CurInput.LocField#0 THEN--1027: BEGIN BEGIN IF Interaction=3 THEN NULL;PrintNl[134];Print[863]; END; BEGIN HelpPtr_2;HelpLine^[1]_864;HelpLine^[0]_865; END;Error[]; DO GetToken[]; IF CurInput.LocField=0 THEN EXIT; ENDLOOP; END--:1027--;EndTokenList[]; EndGraf[];Unsave[];OutputActive_FALSE;InsertPenalties_0;--1028: IF Eqtb^[4077].Hh.Rh#0 THEN BEGIN BEGIN IF Interaction=3 THEN NULL; PrintNl[134];Print[866]; END;PrintEsc[277];PrintInt[255]; BEGIN HelpPtr_3;HelpLine^[2]_867;HelpLine^[1]_868;HelpLine^[0]_869; END;BoxError[255]; END--:1028--; IF CurList.TailField#CurList.HeadField THEN BEGIN Mem[PageTail]^.Hh .Rh_Mem[CurList.HeadField]^.Hh.Rh;PageTail_CurList.TailField; END; IF Mem[64998]^.Hh.Rh#0 THEN BEGIN IF Mem[64999]^.Hh.Rh=0 THEN Nest^[0]. TailField_PageTail;Mem[PageTail]^.Hh.Rh_Mem[64999]^.Hh.Rh; Mem[64999]^.Hh.Rh_Mem[64998]^.Hh.Rh;Mem[64998]^.Hh.Rh_0;PageTail_64998; END;PopNest[];BuildPage[]; END--:1026--;--:1100----1118:--10 =>BuildDiscretionary[]; --:1118----1132:--6 =>BEGIN BackInput[];CurTok_6855; BEGIN IF Interaction=3 THEN NULL;PrintNl[134];Print[486]; END;PrintEsc[757]; Print[487];BEGIN HelpPtr_1;HelpLine^[0]_978; END;InsError[]; END;--:1132 --1133:--7 =>BEGIN EndGraf[];Unsave[];AlignPeek[]; END;--:1133----1168: 12 =>BEGIN EndGraf[];Unsave[];SavePtr_SavePtr-2; P_Vpackage[Mem[CurList.HeadField]^.Hh.Rh,SaveStack^[SavePtr+1].Int, SaveStack^[SavePtr+0].Int,1073741823];PopNest[]; BEGIN Mem[CurList.TailField]^.Hh.Rh_NewNoad[]; CurList.TailField_Mem[CurList.TailField]^.Hh.Rh; END; Mem[CurList.TailField]^.Hh.B0_29;Mem[CurList.TailField+1]^.Hh.Rh_2; Mem[CurList.TailField+1]^.Hh.Lh_P; END;--:1168----1173:--13 =>BuildChoices[]; --:1173----1186:--9 =>BEGIN Unsave[];SavePtr_SavePtr-1; Mem[SaveStack^[SavePtr+0].Int]^.Hh.Rh_3;P_FinMlist[0]; Mem[SaveStack^[SavePtr+0].Int]^.Hh.Lh_P; IF P#0 THEN IF Mem[P]^.Hh.Rh=0 THEN IF Mem[P]^.Hh.B0=16 THEN BEGIN IF Mem [P+3]^.Hh.Rh=0 THEN IF Mem[P+2]^.Hh.Rh=0 THEN BEGIN Mem[SaveStack^ [SavePtr+0].Int]^.Hh_Mem[P+1]^.Hh;FreeNode[P,4]; END; END ELSE IF Mem[P]^.Hh.B0=28 THEN IF SaveStack^[SavePtr+0].Int=CurList. TailField+1 THEN IF Mem[CurList.TailField]^.Hh.B0=16 THEN--1187: BEGIN Q_CurList.HeadField; WHILE Mem[Q]^.Hh.Rh#CurList.TailField DO Q_Mem[Q]^.Hh.Rh ENDLOOP ; Mem[Q]^.Hh.Rh_P;FreeNode[CurList.TailField,4];CurList.TailField_P; END--:1187--; END;--:1186-- ENDCASE =>Confusion[900]; END;--:1068 END.