-- file: WeaveProcs.mesa -- Pascal-to-Mesa translator output, translated at September 23, 1986 1:27:37 pm PDT DIRECTORY PascalBasic, PascalWizardFiles, WeaveVars; WeaveProcs: DEFINITIONS IMPORTS = BEGIN OPEN PascalBasic, PascalWizardFiles, WeaveVars; --:247----259: --TROUBLE_SHOOTING:BOOLEAN;DDT:SIXTEEN_BITS;DD:SIXTEEN_BITS; -- DEBUG_CYCLE:INTEGER;DEBUG_SKIPPED:INTEGER;TERM_IN:TEXT_FILE;----:259 --265:-- TtyRewrite: PROCEDURE[ F: LONG POINTER TO TextFile]; FileReset: PROCEDURE[ F: LONG POINTER TO TextFile,Ext: Alfa]; FileRewrite: PROCEDURE[ F: LONG POINTER TO TextFile,Ext: Alfa]; FileClose: PROCEDURE[ F: LONG POINTER TO TextFile]; FileGetPos: PROCEDURE[ F: LONG POINTER TO TextFile] RETURNS[FileGetPosResult: PascalInteger]; --:265----30: --PROCEDURE DEBUG_HELP;FORWARD;----:30----31:-- Error: PROCEDURE ; JumpOut: PROCEDURE; Initialize: PROCEDURE; OpenInput: PROCEDURE; InputLn: PROCEDURE[ F: LONG POINTER TO TextFile] RETURNS[InputLnResult: PascalBoolean]; PrintId: PROCEDURE[P: NamePointer]; NewXref: PROCEDURE[P: NamePointer]; NewModXref: PROCEDURE[P: NamePointer]; --:52----59:-- IdLookup: PROCEDURE[T: EightBits] RETURNS[IdLookupResult: NamePointer]; ModLookup: PROCEDURE[L: SixteenBits] RETURNS[ModLookupResult: NamePointer]; PrefixLookup: PROCEDURE[L: SixteenBits] RETURNS[PrefixLookupResult: NamePointer]; --:70----75:-- LinesDontMatch: PROCEDURE RETURNS[LinesDontMatchResult: PascalBoolean]; PrimeTheChangeBuffer: PROCEDURE; --80:-- CheckChange: PROCEDURE; ResetInput: PROCEDURE; GetLine: PROCEDURE ; ControlCode: PROCEDURE[C: AsciiCode] RETURNS[ControlCodeResult: EightBits] ; SkipLimbo: PROCEDURE; --:90----91:-- SkipTex: PROCEDURE RETURNS[SkipTexResult: EightBits]; SkipComment: PROCEDURE[Bal: EightBits] RETURNS[SkipCommentResult: EightBits]; GetNext: PROCEDURE RETURNS[GetNextResult: EightBits]; PascalXref: PROCEDURE; --113:-- OuterXref: PROCEDURE; --:113----120:-- ModCheck: PROCEDURE[P: NamePointer] ; FlushBuffer: PROCEDURE[B: EightBits,PerCent: PascalBoolean]; FinishLine: PROCEDURE; BreakOut: PROCEDURE ; OutMod: PROCEDURE[M: PascalInteger] ; OutName: PROCEDURE[P: NamePointer]; CopyLimbo: PROCEDURE; CopyTex: PROCEDURE RETURNS[CopyTexResult: EightBits] ; CopyComment: PROCEDURE[Bal: EightBits] RETURNS[CopyCommentResult: EightBits]; --141:----PROCEDURE PRINT_CAT(C:EIGHT_BITS); -- BEGIN CASE C OF 1:WRITE(TERM_OUT,'simp');2:WRITE(TERM_OUT,'math'); -- 3:WRITE(TERM_OUT,'intro');4:WRITE(TERM_OUT,'open'); -- 5:WRITE(TERM_OUT,'beginning');6:WRITE(TERM_OUT,'close'); -- 7:WRITE(TERM_OUT,'alpha');8:WRITE(TERM_OUT,'omega'); -- 9:WRITE(TERM_OUT,'semi');10:WRITE(TERM_OUT,'terminator'); -- 11:WRITE(TERM_OUT,'stmt');12:WRITE(TERM_OUT,'cond'); -- 13:WRITE(TERM_OUT,'clause');14:WRITE(TERM_OUT,'colon'); -- 15:WRITE(TERM_OUT,'exp');16:WRITE(TERM_OUT,'proc'); -- 17:WRITE(TERM_OUT,'casehead');18:WRITE(TERM_OUT,'recordhead'); -- 19:WRITE(TERM_OUT,'varhead');20:WRITE(TERM_OUT,'elsie'); -- 21:WRITE(TERM_OUT,'casey');22:WRITE(TERM_OUT,'module'); -- OTHERS:WRITE(TERM_OUT,'UNKNOWN')END;END;----:141----147: --PROCEDURE PRINT_TEXT(P:TEXT_POINTER);VAR J:0..MAX_TOKS;R:0..10239; -- BEGIN IF P>=TEXT_PTR THEN WRITE(TERM_OUT,'BAD')ELSE FOR J:=TOK_START[P] -- TO TOK_START[P+1]-1 DO BEGIN R:=TOK_MEM[J]MOD 10240; -- CASE TOK_MEM[J]DIV 10240 OF 1:BEGIN WRITE(TERM_OUT,'\\',XCHR[123]); -- PRINT_ID(R);WRITE(TERM_OUT,XCHR[125]);END; -- 2:BEGIN WRITE(TERM_OUT,'\&',XCHR[123]);PRINT_ID(R); -- WRITE(TERM_OUT,XCHR[125]);END;3:BEGIN WRITE(TERM_OUT,'<');PRINT_ID(R); -- WRITE(TERM_OUT,'>');END;4:WRITE(TERM_OUT,'[[',R:1,']]'); -- 5:WRITE(TERM_OUT,'|[[',R:1,']]|'); -- OTHERS:[148:]CASE R OF 131:WRITE(TERM_OUT,'\mathbin',XCHR[123]); -- 132:WRITE(TERM_OUT,'\mathrel',XCHR[123]); -- 133:WRITE(TERM_OUT,'\mathop',XCHR[123]);134:WRITE(TERM_OUT,'[ccancel]'); -- 135:WRITE(TERM_OUT,'[cancel]');136:WRITE(TERM_OUT,'[indent]'); -- 137:WRITE(TERM_OUT,'[outdent]');139:WRITE(TERM_OUT,'[backup]'); -- 138:WRITE(TERM_OUT,'[opt]');140:WRITE(TERM_OUT,'[break]'); -- 141:WRITE(TERM_OUT,'[force]');142:WRITE(TERM_OUT,'[fforce]'); -- 143:WRITE(TERM_OUT,'[quit]');OTHERS:WRITE(TERM_OUT,XCHR[R])END[:148]END; -- END;END;----:147----173:-- Red: PROCEDURE[J: SixteenBits,K: EightBits, C: EightBits,D: PascalInteger]; --175:-- Sq: PROCEDURE[J: SixteenBits,K: EightBits,C: EightBits,D: PascalInteger] ; --PROCEDURE PROD(N:EIGHT_BITS);VAR K:1..MAX_SCRAPS; -- BEGIN IF TRACING=2 THEN BEGIN BEGIN WRITELN(TERM_OUT); -- WRITE(TERM_OUT,N:1,':');END; -- FOR K:=SCRAP_BASE TO LO_PTR DO BEGIN IF K=PP THEN WRITE(TERM_OUT,'*') -- ELSE WRITE(TERM_OUT,' ');PRINT_CAT(CAT[K]);END; -- IF HI_PTR<=SCRAP_PTR THEN WRITE(TERM_OUT,'...');END;END;----:179----180: --151:-- FiveCases: PROCEDURE; AlphaCases: PROCEDURE; Translate: PROCEDURE RETURNS[TranslateResult: TextPointer]; --184:----196:-- AppComment: PROCEDURE; AppOctal: PROCEDURE ; AppHex: PROCEDURE ; EasyCases: PROCEDURE ; --193:-- SubCases: PROCEDURE[P: NamePointer] ; PascalParse: PROCEDURE ; --198:-- PascalTranslate: PROCEDURE RETURNS[PascalTranslateResult: TextPointer]; --:198----199:-- OuterParse: PROCEDURE; --205:-- PushLevel: PROCEDURE[P: TextPointer] ; GetOutput: PROCEDURE RETURNS[GetOutputResult: EightBits]; OutputPascal: PROCEDURE ; MakeOutput: PROCEDURE; FinishPascal: PROCEDURE; Footnote: PROCEDURE[Flag: SixteenBits]; Unbucket: PROCEDURE[D: EightBits]; --:250----257:-- ModPrint: PROCEDURE[P: NamePointer] ; PhaseI: PROCEDURE; PhaseIi: PROCEDURE ; PhaseIii: PROCEDURE ; Error9999: ERROR; END.