-- BBInterp.mesa
-- Russ Atkinson, August 6, 1982 5:26 pm
DIRECTORY
BBEval USING [EvalHead],
PPTree USING [Link],
PrintTV USING [NullPutClosure, PutClosure],
Rope USING [ROPE],
RTBasic USING [TV];
BBInterp: CEDAR DEFINITIONS = BEGIN OPEN BBEval, PrintTV, Rope, RTBasic;
Tree: TYPE = PPTree.Link;
ParseExpr: PROC [expr: ROPE, errout: PutClosure ← NullPutClosure] RETURNS [Tree];
-- returns a tree for the given expression
-- error output (if any) will go to errout
EvalExpr: PROC
[tree: Tree, head: EvalHead]
RETURNS [rtns: TV, numRtns: NAT];
-- evaluate the expression using the given parse tree and context info
-- this routine will allow errors in user procedures to pass through
END.