aboutsummaryrefslogblamecommitdiff
path: root/eval.h
blob: bf4b8017a93abca4c6c15ab266d7e87da39a193d (plain) (tree)
1
2
3
4
5
6
7
8
9
10



                  
                                   


                                     

                 

                                                                               

                    
                                                                   


      
#ifndef EVAL_H
#define EVAL_H
#include "model.h"

const int EVAL_STACK_SIZE = 262144;
/** @class Evaluator 
 * A runtime platform of interpreting
 */
class Evaluator {
    private:
        Environment *envt;              /**< Store the current environment */
        void add_builtin_routines();    /**< Add builtin routines to the env */
    public:
        Evaluator();
        EvalObj *run_expr(Pair *prog);  /**< Interpret a program */
};

#endif