From adeef936c492748e1b482be48c0834aab5c92547 Mon Sep 17 00:00:00 2001 From: Roland Conybeare Date: Fri, 23 Jan 2026 16:48:24 -0500 Subject: [PATCH] xo-reader2: accept i64 token in top-level interactive session --- xo-reader2/src/reader2/DExprSeqState.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/xo-reader2/src/reader2/DExprSeqState.cpp b/xo-reader2/src/reader2/DExprSeqState.cpp index 6f196963..86c98d84 100644 --- a/xo-reader2/src/reader2/DExprSeqState.cpp +++ b/xo-reader2/src/reader2/DExprSeqState.cpp @@ -12,6 +12,8 @@ #include #include #include +#include +#include #include #include @@ -223,6 +225,26 @@ namespace xo { DExprSeqState::on_i64_token(const Token & tk, ParserStateMachine * p_psm) { + switch (seqtype_) { + case exprseqtype::toplevel_interactive: + { + auto i64o = DFloat::box(p_psm->expr_alloc(), + tk.i64_value()); + auto * dconst = DConstant::make(p_psm->expr_alloc(), i64o); + auto expr = with_facet::mkobj(dconst); + + DProgressSsm::start(p_psm->parser_alloc(), + expr, + p_psm); + return; + } + case exprseqtype::toplevel_batch: + break; + case exprseqtype::N: + assert(false); // unreachable + break; + } + p_psm->illegal_input_on_token("DExprSeqState::on_i64_token", tk, this->get_expect_str());