xo-reader: bugfix: + missing exprstatetype.let1expr

This commit is contained in:
Roland Conybeare 2024-08-27 16:18:22 -04:00
commit ec1e45d2ed
3 changed files with 12 additions and 1 deletions

View file

@ -38,6 +38,11 @@ namespace xo {
**/
sequenceexpr,
/** handle let1 (single local variable)
* see @ref let1_xs
**/
let1expr,
expect_rhs_expression,
expect_symbol,
expect_type,

View file

@ -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:

View file

@ -49,7 +49,8 @@ namespace xo {
let1_xs::let1_xs(std::string lhs_name,
rp<Expression> 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<Expression> expr,
parserstatemachine * p_psm)
{
constexpr bool c_debug_flag = true;
scope log(XO_DEBUG(c_debug_flag));
ref::brw<DefineExpr> def_expr = DefineExpr::from(expr);
if (def_expr) {