-- PackParseDefs.mesa -- Last edited by Lewis on 2-Apr-81 17:53:26 DIRECTORY ParseTable USING [ ActionEntry, Production, ProductionInfo, TableRef, TSymbol], Streams USING [Handle]; P1: DEFINITIONS = BEGIN OPEN ParseTable; Token: TYPE = RECORD [ class: TSymbol, -- the token class value: UNSPECIFIED, index: CARDINAL]; -- source line index -- implemented by PackScanner Atom: PROC RETURNS [Token]; ErrorContext: PROC [STRING, CARDINAL]; ResetScanIndex: PROC [CARDINAL]; ScanInit: PROC [ sourceStream, messageStream: Streams.Handle, table: ParseTable.TableRef]; ScanReset: PROC RETURNS [nTokens, nErrors: CARDINAL]; -- implemented by PackParser Parse: PROC [ sourceStream, messageStream: Streams.Handle, table: ParseTable.TableRef] RETURNS [complete: BOOLEAN, nTokens, nErrors: CARDINAL]; ParserID: PROC RETURNS [STRING]; InputLoc: PROC RETURNS [CARDINAL]; -- implemented by PackTreeBuild AssignDescriptors: PROC [ qd: DESCRIPTOR FOR ARRAY OF ActionEntry, vd: DESCRIPTOR FOR ARRAY OF UNSPECIFIED, ld: DESCRIPTOR FOR ARRAY OF CARDINAL, pp: LONG POINTER TO ARRAY Production OF ProductionInfo]; ProcessQueue: PROC [qI, top: CARDINAL]; TokenValue: PROC [TSymbol] RETURNS [UNSPECIFIED]; END.