-- file: PLtoTF1Impl.mesa -- Pascal-to-Mesa translator output, translated at October 23, 1985 11:00:04 am PDT DIRECTORY PascalBasic, PascalWizardFiles, PLtoTFPrivate, PLtoTFExternals; PLtoTF1Impl: PROGRAM IMPORTS PascalBasic, PascalWizardFiles, PLtoTFPrivate, PLtoTFExternals EXPORTS PLtoTFPrivate = PUBLIC BEGIN OPEN PascalBasic, PascalWizardFiles, PLtoTFPrivate, PLtoTFExternals; --:136-- Initialize: PROCEDURE = BEGIN--19:--K:PascalInteger[0..127];--:19----40:--H:PascalInteger[0..100];--:40 --69:--D:HeaderIndex;--:69----73:--C:Byte;--:73 {PascalWriteLongString[file: @Output, item: "This is PLtoTF 2.3 for Cedar 6.0"]; PascalWriteLn[file: @Output]};--6: FileReset[@PlFile,Alfa['p, 'l, ' , ' , ' , ' , ' , ' , ' , ' ]];--:6----16: ByteFileRewrite[@TfmFile,Alfa['t, 'f, 'm, ' , ' , ' , ' , ' , ' , ' ]];--:16----20: FOR i:INT IN [ INT[0 ].. INT[127 ]] DO K _ i; Xord^[PascalCHR[K]]_127 ENDLOOP;Xord^[' ]_32;Xord^['!]_33; Xord^['"]_34;Xord^['#]_35;Xord^['$]_36;Xord^['%]_37;Xord^['&]_38; Xord^['']_39;Xord^['(]_40;Xord^[')]_41;Xord^['*]_42;Xord^['+]_43; Xord^[',]_44;Xord^['-]_45;Xord^['.]_46;Xord^['/]_47;Xord^['0]_48; Xord^['1]_49;Xord^['2]_50;Xord^['3]_51;Xord^['4]_52;Xord^['5]_53; Xord^['6]_54;Xord^['7]_55;Xord^['8]_56;Xord^['9]_57;Xord^[':]_58; Xord^[';]_59;Xord^['<]_60;Xord^['=]_61;Xord^['>]_62;Xord^['?]_63; Xord^['@]_64;Xord^['A]_65;Xord^['B]_66;Xord^['C]_67;Xord^['D]_68; Xord^['E]_69;Xord^['F]_70;Xord^['G]_71;Xord^['H]_72;Xord^['I]_73; Xord^['J]_74;Xord^['K]_75;Xord^['L]_76;Xord^['M]_77;Xord^['N]_78; Xord^['O]_79;Xord^['P]_80;Xord^['Q]_81;Xord^['R]_82;Xord^['S]_83; Xord^['T]_84;Xord^['U]_85;Xord^['V]_86;Xord^['W]_87;Xord^['X]_88; Xord^['Y]_89;Xord^['Z]_90;Xord^['[]_91;Xord^['\\]_92;Xord^[']]_93; Xord^['^]_94;Xord^['_]_95;Xord^['`]_96;Xord^['a]_97;Xord^['b]_98; Xord^['c]_99;Xord^['d]_100;Xord^['e]_101;Xord^['f]_102; Xord^['g]_103;Xord^['h]_104;Xord^['i]_105;Xord^['j]_106; Xord^['k]_107;Xord^['l]_108;Xord^['m]_109;Xord^['n]_110; Xord^['o]_111;Xord^['p]_112;Xord^['q]_113;Xord^['r]_114; Xord^['s]_115;Xord^['t]_116;Xord^['u]_117;Xord^['v]_118; Xord^['w]_119;Xord^['x]_120;Xord^['y]_121;Xord^['z]_122; Xord^['{]_123;Xord^['|]_124;Xord^['}]_125;Xord^['~]_126;--:20----22: Line_0;GoodIndent_0;Indent_0;Level_0;--:22----24:--Limit_0;Loc_0; LeftLn_TRUE;RightLn_TRUE;InputHasEnded_FALSE;--:24----26: CharsOnLine_0;--:26----37:--StartPtr_1;Start^[1]_0;DictPtr_0;--:37 --41:--FOR i:INT IN [ INT[0 ].. INT[100 ]] DO H _ i; Hash^[H]_0 ENDLOOP;--:41----70:--CheckSumSpecified_FALSE; FOR i:INT IN [ INT[0 ].. INT[18*4-1 ]] DO D _ i; HeaderBytes^[D]_0 ENDLOOP;HeaderBytes^[8]_11; HeaderBytes^[9]_85;HeaderBytes^[10]_78;HeaderBytes^[11]_83; HeaderBytes^[12]_80;HeaderBytes^[13]_69;HeaderBytes^[14]_67; HeaderBytes^[15]_73;HeaderBytes^[16]_70;HeaderBytes^[17]_73; HeaderBytes^[18]_69;HeaderBytes^[19]_68; FOR i:INT IN [ INT[48 ].. INT[59 ]] DO D _ i; HeaderBytes^[D]_HeaderBytes^[D-40] ENDLOOP; DesignSize_10*1048576;DesignUnits_1048576; SevenBitSafeFlag_FALSE;HeaderPtr_18*4;Nl_0;UnusedLabel_FALSE; Nk_0;Ne_0;Np_0;--:70----74:--FOR i:INT IN [ INT[0 ].. INT[255 ]] DO C _ i; CharWd^[C]_0; CharHt^[C]_0;CharDp^[C]_0;CharIc^[C]_0;CharTag^[C]_0; CharRemainder^[C]_0; ENDLOOP;Memory^[0]_2147483647;Memory^[1]_0;Link^[1]_0; Memory^[2]_0;Link^[2]_0;Memory^[3]_0;Link^[3]_0;Memory^[4]_0;Link^[4]_0; MemPtr_4;--:74-- END;--:2----27:-- ShowErrorContext: PROCEDURE = BEGIN K:PascalInteger[0..BufSize]; {PascalWriteLongString[file: @Output, item: " (line "]; PascalWriteInteger[file: @Output, item: Line, fieldMinLength: 1]; PascalWriteLongString[file: @Output, item: ")."]; PascalWriteLn[file: @Output]}; IF NOT LeftLn THEN PascalWriteLongString[file: @Output, item: "..."];FOR i:INT IN [ INT[1 ].. INT[Loc ]] DO K _ i; PascalWriteChar[file: @Output, item: Buffer^[K]] ENDLOOP; {PascalWriteLongString[file: @Output, item: " "]; PascalWriteLn[file: @Output]};IF NOT LeftLn THEN PascalWriteLongString[file: @Output, item: " "]; FOR i:INT IN [ INT[1 ].. INT[Loc ]] DO K _ i; PascalWriteLongString[file: @Output, item: " "] ENDLOOP;FOR i:INT IN [ INT[Loc+1 ].. INT[Limit ]] DO K _ i; PascalWriteChar[file: @Output, item: Buffer^[K]] ENDLOOP; IF RightLn THEN {PascalWriteLongString[file: @Output, item: " "]; PascalWriteLn[file: @Output]} ELSE {PascalWriteLongString[file: @Output, item: "..."]; PascalWriteLn[file: @Output]};CharsOnLine_0; END; --:27----28:-- FillBuffer: PROCEDURE = BEGIN LeftLn_RightLn;Limit_0;Loc_0; IF LeftLn THEN BEGIN IF Line>0 THEN PascalReadLn[file: @PlFile];Line_Line+1; END; IF PascalTextEOF[file: @PlFile] THEN BEGIN Limit_1;Buffer^[1]_');RightLn_FALSE; InputHasEnded_TRUE; END ELSE BEGIN WHILE( INT[Limit]