From ec1e45d2ed5a9cb604dea1a12819de1fb73ff5cb Mon Sep 17 00:00:00 2001 From: Roland Conybeare Date: Tue, 27 Aug 2024 16:18:22 -0400 Subject: [PATCH] xo-reader: bugfix: + missing exprstatetype.let1expr --- include/xo/reader/exprstate.hpp | 5 +++++ src/reader/exprstate.cpp | 2 ++ src/reader/let1_xs.cpp | 6 +++++- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/include/xo/reader/exprstate.hpp b/include/xo/reader/exprstate.hpp index b22bf85f..5af05f86 100644 --- a/include/xo/reader/exprstate.hpp +++ b/include/xo/reader/exprstate.hpp @@ -38,6 +38,11 @@ namespace xo { **/ sequenceexpr, + /** handle let1 (single local variable) + * see @ref let1_xs + **/ + let1expr, + expect_rhs_expression, expect_symbol, expect_type, diff --git a/src/reader/exprstate.cpp b/src/reader/exprstate.cpp index dfb490ea..aa32b763 100644 --- a/src/reader/exprstate.cpp +++ b/src/reader/exprstate.cpp @@ -35,6 +35,8 @@ namespace xo { return "parenexpr"; case exprstatetype::sequenceexpr: return "sequenceexpr"; + case exprstatetype::let1expr: + return "let1expr"; case exprstatetype::expect_rhs_expression: return "expect_rhs_expression"; case exprstatetype::expect_symbol: diff --git a/src/reader/let1_xs.cpp b/src/reader/let1_xs.cpp index f248d1dd..e9c17651 100644 --- a/src/reader/let1_xs.cpp +++ b/src/reader/let1_xs.cpp @@ -49,7 +49,8 @@ namespace xo { let1_xs::let1_xs(std::string lhs_name, rp rhs) - : lhs_name_{std::move(lhs_name)}, + : exprstate(), + lhs_name_{std::move(lhs_name)}, rhs_{std::move(rhs)} {} @@ -57,6 +58,9 @@ namespace xo { let1_xs::on_expr(ref::brw expr, parserstatemachine * p_psm) { + constexpr bool c_debug_flag = true; + scope log(XO_DEBUG(c_debug_flag)); + ref::brw def_expr = DefineExpr::from(expr); if (def_expr) {