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