-- 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 --