aboutsummaryrefslogtreecommitdiff
path: root/eval.h
blob: 0ccdee64ff8ad931a0596779b23cbfab7b45c8b7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#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