diff options
author | Teddy <ted.sybil@gmail.com> | 2013-08-07 22:32:07 +0800 |
---|---|---|
committer | Teddy <ted.sybil@gmail.com> | 2013-08-07 22:32:07 +0800 |
commit | 5e6dee2f0935d7cbc21ce6990b805077c7928f5f (patch) | |
tree | d5e83342161a21f18d177ab65d1fd205ab0be48b /builtin.h | |
parent | b6a279fafe43f502ab5647a705b8880f8961b404 (diff) |
added support for `eval`
Diffstat (limited to 'builtin.h')
-rw-r--r-- | builtin.h | 15 |
1 files changed, 15 insertions, 0 deletions
@@ -216,6 +216,21 @@ class SpecialOptQuote: public SpecialOptObj { string ext_repr(); }; +/** @class SpecialOptEval + * The implementation of `eval` operator + */ +class SpecialOptEval: public SpecialOptObj { + private: + unsigned char state; /**< 0 for prepared, 1 for pre_called */ + public: + SpecialOptEval(); + void prepare(Cons *pc); + Cons *call(ArgList *args, Environment * &envt, + Continuation * &cont, FrameObj ** &top_ptr); + + string ext_repr(); +}; + #define BUILTIN_PROC_DEF(func)\ EvalObj *(func)(ArgList *args, const string &name) |