From 0bcd97685e124981ea4cfd92411cc57018307811 Mon Sep 17 00:00:00 2001 From: Roland Conybeare Date: Mon, 19 Jan 2026 21:25:30 -0500 Subject: [PATCH] xo-reader2 xo-expresion2: work on define-expressions [WIP] --- 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 8bbe6bb4..a149173e 100644 --- a/include/xo/interpreter2/VirtualSchematikaMachine.hpp +++ b/include/xo/interpreter2/VirtualSchematikaMachine.hpp @@ -45,6 +45,12 @@ namespace xo { **/ void _do_eval_constant_op(); + /** evaluate a define-expression + * Require: + * - expression in @ref expr_ + **/ + void _do_eval_define_op(); + /** evaluate a variable expression * Require: * - expression in @ref expr_ diff --git a/src/interpreter2/VirtualSchematikaMachine.cpp b/src/interpreter2/VirtualSchematikaMachine.cpp index bd29e968..f7131e0a 100644 --- a/src/interpreter2/VirtualSchematikaMachine.cpp +++ b/src/interpreter2/VirtualSchematikaMachine.cpp @@ -45,6 +45,9 @@ namespace xo { case exprtype::constant: _do_eval_constant_op(); break; + case exprtype::define: + _do_eval_define_op(); + break; case exprtype::variable: _do_eval_variable_op(); break; @@ -61,6 +64,13 @@ namespace xo { this->pc_ = this->cont_; } + void + VirtualSchematikaMachine::_do_eval_define_op() + { + // not implemented + assert(false); + } + void VirtualSchematikaMachine::_do_eval_variable_op() {