-- file: TangleProcArray.mesa -- Last Edited by: Ramshaw, October 27, 1983 5:27 pm -- Written by hand by Lyle Ramshaw -- implements the two largest arrays of Tangle as procArrays to avoid tickling a Mesa -- compiler bug. DIRECTORY PascalBasic, PascalWizardFiles, TanglePrivate; TangleProcArray: DEFINITIONS = BEGIN OPEN PascalBasic, PascalWizardFiles, TanglePrivate; ByteMemA: LONG POINTER TO ARRAY PascalInteger[0..MaxBytes] OF AsciiCode; ByteMemB: LONG POINTER TO ARRAY PascalInteger[0..MaxBytes] OF AsciiCode; TokMemA: LONG POINTER TO ARRAY PascalInteger[0..MaxToks] OF EightBits; TokMemB: LONG POINTER TO ARRAY PascalInteger[0..MaxToks] OF EightBits; TokMemC: LONG POINTER TO ARRAY PascalInteger[0..MaxToks] OF EightBits; ByteMem: PROCEDURE [First: PascalInteger[0..1], Second: PascalInteger[0..MaxBytes]] RETURNS [LONG POINTER TO AsciiCode]= INLINE {SELECT First FROM =0 => RETURN[@ByteMemA[Second]]; =1 => RETURN[@ByteMemB[Second]]; ENDCASE => ERROR}; TokMem: PUBLIC PROCEDURE [First: PascalInteger[0..2], Second: PascalInteger[0..MaxToks]] RETURNS [LONG POINTER TO EightBits]= INLINE {SELECT First FROM =0 => RETURN[@TokMemA[Second]]; =1 => RETURN[@TokMemB[Second]]; =2 => RETURN[@TokMemC[Second]]; ENDCASE => ERROR}; END.