From 3bae8cbb579969e746fdbe0f9065077e6432e7c2 Mon Sep 17 00:00:00 2001 From: Roland Conybeare Date: Mon, 26 Jan 2026 22:40:56 -0500 Subject: [PATCH] xo-reader2: + DProgressSsm.on_parser_expression_with_semicolon --- xo-reader2/src/reader2/DProgressSsm.cpp | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/xo-reader2/src/reader2/DProgressSsm.cpp b/xo-reader2/src/reader2/DProgressSsm.cpp index e085f8cf..bd48e58c 100644 --- a/xo-reader2/src/reader2/DProgressSsm.cpp +++ b/xo-reader2/src/reader2/DProgressSsm.cpp @@ -527,9 +527,25 @@ namespace xo { DProgressSsm::on_parsed_expression_with_semicolon(obj expr, ParserStateMachine * p_psm) { - p_psm->illegal_parsed_expression("DProgressSsm::on_parsed_expression_with_semicolon", - expr, - this->get_expect_str()); + scope log(XO_DEBUG(p_psm->debug_flag()), + xtag("expr", expr)); + + if (op_type_ == optype::invalid) { + p_psm->illegal_parsed_expression + ("DProgressSsm::on_parsed_expression_with_semicolon", + expr, + this->get_expect_str()); + return; + } + + this->rhs_ = expr; + + obj expr2 = this->assemble_expr(p_psm); + + if (expr2) { + p_psm->pop_ssm(); + p_psm->on_parsed_expression_with_semicolon(expr2); + } } #ifdef NOT_YET