-- file: TangleSend.mesa -- Pascal-to-Mesa translator output, translated at September 23, 1986 11:39:50 am PDT DIRECTORY PascalBasic, PascalWizardFiles, TanglePrivate, TangleProcArray; TangleSend: PROGRAM IMPORTS PascalBasic, PascalWizardFiles, TanglePrivate, TangleProcArray EXPORTS TanglePrivate = PUBLIC BEGIN OPEN PascalBasic, PascalWizardFiles, TanglePrivate, TangleProcArray; --:107----113:-- SendTheOutput: PROCEDURE = BEGIN CurChar:EightBits;K:PascalInteger[0..LineLength];J:PascalInteger[0..MaxBytes];W:PascalInteger[0..1]; N:PascalInteger; WHILE INT[StackPtr]>0 DO BEGIN CurChar_GetOutput[]; DO {--Label21:--{{SELECT CurChar FROM 0 => NULL;--116: 65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88, 89,90 =>BEGIN OutContrib^[1]_CurChar;SendOut[2,1]; END; 97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115 ,116,117,118,119,120,121,122 =>BEGIN OutContrib^[1]_CurChar-32; SendOut[2,1]; END;130 =>BEGIN K_0;J_ByteStart^[CurVal]; W_ PascalMODPower2Mask[CurVal ,1]; WHILE( INT[K]=97 THEN OutContrib^[K]_OutContrib^[K]-32; END ENDLOOP ; SendOut[2,K]; END;--:116----119:--48,49,50,51,52,53,54,55,56,57 =>BEGIN N_0; DO CurChar_CurChar-48; IF N>=214748364 THEN BEGIN PascalWriteLn[file: @TermOut]; PascalWriteLongString[file: @TermOut, item: "! Constant too big"];Error[]; END ELSE N_10*N+CurChar; CurChar_GetOutput[]; IF( INT[CurChar]>57)OR ( INT[CurChar]<48) THEN EXIT; ENDLOOP;SendVal[N];K_0; IF CurChar=101 THEN CurChar_69; IF CurChar=69 THEN GOTO Label2 ELSE GOTO Label21; END; 125 =>SendVal[PoolCheckSum];12 =>BEGIN N_0;CurChar_48; DO CurChar_CurChar-48; IF N>=268435456 THEN BEGIN PascalWriteLn[file: @TermOut]; PascalWriteLongString[file: @TermOut, item: "! Constant too big"];Error[]; END ELSE N_8*N+CurChar; CurChar_GetOutput[]; IF( INT[CurChar]>55)OR ( INT[CurChar]<48) THEN EXIT; ENDLOOP;SendVal[N]; GOTO Label21; END;13 =>BEGIN N_0;CurChar_48; DO IF INT[CurChar]>=65 THEN CurChar_CurChar-55 ELSE CurChar_ CurChar-48;IF N>=134217728 THEN BEGIN PascalWriteLn[file: @TermOut]; PascalWriteLongString[file: @TermOut, item: "! Constant too big"];Error[]; END ELSE N_16*N+CurChar; CurChar_GetOutput[]; IF( INT[CurChar]>70)OR ( INT[CurChar]<48)OR (( INT[CurChar]>57)AND ( INT[CurChar]<65)) THEN EXIT; ENDLOOP; SendVal[N]; GOTO Label21; END;128 =>SendVal[CurVal];46 =>BEGIN K_1; OutContrib^[1]_46;CurChar_GetOutput[]; IF CurChar=46 THEN BEGIN OutContrib^[2]_46;SendOut[1,2]; END ELSE IF( INT[CurChar]>=48)AND ( INT[CurChar]<=57) THEN GOTO Label2 ELSE BEGIN SendOut[0,46]; GOTO Label21; END; END;--:119--43,45 =>SendSign[44-CurChar];--114: 4 =>BEGIN OutContrib^[1]_65;OutContrib^[2]_78;OutContrib^[3]_68; SendOut[2,3]; END;5 =>BEGIN OutContrib^[1]_78;OutContrib^[2]_79; OutContrib^[3]_84;SendOut[2,3]; END;6 =>BEGIN OutContrib^[1]_73; OutContrib^[2]_78;SendOut[2,2]; END;31 =>BEGIN OutContrib^[1]_79; OutContrib^[2]_82;SendOut[2,2]; END;24 =>BEGIN OutContrib^[1]_58; OutContrib^[2]_61;SendOut[1,2]; END;26 =>BEGIN OutContrib^[1]_60; OutContrib^[2]_62;SendOut[1,2]; END;28 =>BEGIN OutContrib^[1]_60; OutContrib^[2]_61;SendOut[1,2]; END;29 =>BEGIN OutContrib^[1]_62; OutContrib^[2]_61;SendOut[1,2]; END;30 =>BEGIN OutContrib^[1]_61; OutContrib^[2]_61;SendOut[1,2]; END;32 =>BEGIN OutContrib^[1]_46; OutContrib^[2]_46;SendOut[1,2]; END;--:114--39 =>--117:--BEGIN K_1; OutContrib^[1]_39;DO IF INT[K]SendOut[0,CurChar];--121: 9 =>BEGIN IF BraceLevel=0 THEN SendOut[0,123] ELSE SendOut[0,91]; BraceLevel_BraceLevel+1; END; 10 =>IF INT[BraceLevel]>0 THEN BEGIN BraceLevel_BraceLevel-1; IF BraceLevel=0 THEN SendOut[0,125] ELSE SendOut[0,93]; END ELSE BEGIN PascalWriteLn[file: @TermOut];PascalWriteLongString[file: @TermOut, item: "! Extra @}"];Error[]; END; 129 =>BEGIN IF BraceLevel=0 THEN SendOut[0,123] ELSE SendOut[0,91]; IF CurVal<0 THEN BEGIN SendOut[0,58];SendVal[-CurVal]; END ELSE BEGIN SendVal[CurVal];SendOut[0,58]; END; IF BraceLevel=0 THEN SendOut[0,125] ELSE SendOut[0,93]; END;--:121 127 =>BEGIN SendOut[3,0];OutState_6; END;2 =>--118:--BEGIN K_0; DO IF INT[K]--122:--BEGIN SendOut[1,0]; WHILE INT[OutPtr]>0 DO BEGIN IF INT[OutPtr]<=LineLength THEN BreakPtr_OutPtr ;FlushBuffer[]; END ENDLOOP ;OutState_0; END--:122--; ENDCASE =>BEGIN PascalWriteLn[file: @TermOut]; {PascalWriteLongString[file: @TermOut, item: "! Can't output ASCII code "]; PascalWriteInteger[file: @TermOut, item: CurChar, fieldMinLength: 1]};Error[]; END ; GOTO Label22;EXITS Label2 => NULL};--120:--DO IF INT[K]57)) THEN EXIT; ENDLOOP; IF K=LineLength THEN BEGIN PascalWriteLn[file: @TermOut]; PascalWriteLongString[file: @TermOut, item: "! Fraction too long"];Error[]; END;SendOut[3,K]; GOTO Label21--:120--;EXITS Label22 => NULL};EXIT; EXITS Label21 => NULL} ENDLOOP; END ENDLOOP ; END;--:113----127:-- END.