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


                  
                  
 
                                   
                    

                                     

                 

                                                                               

                    
                                                                   


      
#ifndef EVAL_H
#define EVAL_H
#include "model.h"
#include "types.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