diff --git a/include/xo/interpreter2/VirtualSchematikaMachine.hpp b/include/xo/interpreter2/VirtualSchematikaMachine.hpp index e8e58dbc..066b7ffd 100644 --- a/include/xo/interpreter2/VirtualSchematikaMachine.hpp +++ b/include/xo/interpreter2/VirtualSchematikaMachine.hpp @@ -63,6 +63,12 @@ namespace xo { **/ void _do_eval_apply_op(); + /** evaluate an if-else expression + * Require: + * - expression in @ref expr_ + **/ + void _do_eval_if_else_op(); + private: /* * Some registers are preserved by evaluation: diff --git a/src/interpreter2/VirtualSchematikaMachine.cpp b/src/interpreter2/VirtualSchematikaMachine.cpp index b2789c26..11a60c64 100644 --- a/src/interpreter2/VirtualSchematikaMachine.cpp +++ b/src/interpreter2/VirtualSchematikaMachine.cpp @@ -54,6 +54,9 @@ namespace xo { case exprtype::apply: _do_eval_apply_op(); break; + case exprtype::ifexpr: + _do_eval_if_else_op(); + break; } } @@ -87,6 +90,13 @@ namespace xo { // not implemented assert(false); } + + void + VirtualSchematikaMachine::_do_eval_if_else_op() + { + // not implemented + assert(false); + } } /*namespace scm*/ } /*namespace xo*/