-- file: ExceptionTableDefs.Mesa
-- edited by Levin, April 17, 1980 10:29 AM


ExceptionTableDefs: DEFINITIONS = PUBLIC

BEGIN

-- The following data structures are shared between IntExceptions and MakeExceptions
-- (the stand-alone program that builds the exceptions tables).

ExceptionTableProper: TYPE =
RECORD[
length: CARDINAL,
entries: ARRAY [0..0) OF ExceptionTableEntry
];

ExceptionTableEntry: TYPE =
RECORD[
SELECT OVERLAID * FROM
input => [input: InputEntryPtr],
output => [offset: Offset],
ENDCASE
];

Exception: TYPE = CARDINAL; -- hack: should come from exD

InputEntry: TYPE =
RECORD[
exception: Exception,
stringStart: Offset
];

InputEntryPtr: TYPE = POINTER TO InputEntry;

Offset: TYPE = CARDINAL;

endMarker: CHARACTER = 345C;

ExceptionTable: PROGRAM;

END. -- of ExceptionTableDefs --