-- file BasicDefs.mesa
-- edited by Brotz and Hilton, September 23, 1982 2:09 PM

BasicDefs: DEFINITIONS =

BEGIN

-- Procedures


RegisterBuiltInFunction: PROCEDURE [name: STRING, proc: BuiltInFunction];


-- Types


BasicValue: TYPE = RECORD
[type: ValueType,
varPart: SELECT OVERLAID * FROM
integer => [integerValue: Numeric],
real => [realValue: REAL],
string => [stringValue: STRING],
ENDCASE];
BasicValuePtr: TYPE = POINTER TO BasicValue;

BuiltInFunction: TYPE = PROCEDURE [in1, in2: BasicValue]
RETURNS [out: BasicValue];

Numeric: TYPE = LONG INTEGER;

ValueType: TYPE = {integer, real, string};


END. -- of BasicDefs.mesa --