From 21310c20c0d52915a30272080609d52355d16d0e Mon Sep 17 00:00:00 2001 From: Roland Conybeare Date: Tue, 27 Jan 2026 10:09:26 -0500 Subject: [PATCH] xo-expression2: + DIfElseExpr + utest --- include/xo/interpreter2/VirtualSchematikaMachine.hpp | 6 ++++++ src/interpreter2/VirtualSchematikaMachine.cpp | 10 ++++++++++ 2 files changed, 16 insertions(+) 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*/