-- this is the file EVALUATE.ADs 12:18PM 10/31/95 -- It contains the def of the package Evaluate, containing -- eval and apply (and auxiliary subprograms) and the driver -- procedure to use as a read-eval-print loop -- The type Exp (expression) is defined in package expr, get and -- put for expressions are defined in package expr.io. Evaluation -- environments, defined in package evalenv, are implemented as -- stacks of frames (each a symbol table). with text_io, expr, evalenv; use text_io, expr, evalenv; package evaluate is Input, Output : File_type; eval_called_on_endparen, eval_called_on_exit, EnvOverflow, unknown_primitive : exception; procedure Eval(Ex:in Exp; En:in out Env; ExpVal: in out Exp); procedure Apply(Opr: in Exp; Actuals: in ExpList; En: in out Env; ExpVal: in out Exp); procedure Driver; end evaluate;