xo-reader: simplify exprseq_xs::on_symbol_token()

This commit is contained in:
Roland Conybeare 2024-08-09 19:52:30 -04:00
commit 30cfe0c918
3 changed files with 17 additions and 8 deletions

View file

@ -25,6 +25,12 @@ namespace xo {
virtual void on_def_token(const token_type & tk,
exprstatestack * p_stack) override;
virtual void on_symbol_token(const token_type & tk,
exprstatestack * p_stack,
rp<Expression> * p_emit_expr) override;
// ----- victory methods -----
};
} /*namespace scm*/
} /*namespace xo*/

View file

@ -37,6 +37,16 @@ namespace xo {
* def sq(x : f64) -> f64 { (x * x) }
*/
}
void
exprseq_xs::on_symbol_token(const token_type & tk,
exprstatestack * /*p_stack*/,
rp<Expression> * /*p_emit_expr*/)
{
constexpr const char * c_self_name = "exprseq_xs::on_symbol_token";
this->illegal_input_error(c_self_name, tk);
}
} /*namespace scm*/
} /*namespace xo*/

View file

@ -315,13 +315,6 @@ namespace xo {
switch (this->exs_type_) {
case exprstatetype::expect_toplevel_expression_sequence:
throw std::runtime_error
(tostr(c_self_name,
": unexpected symbol-token at top-level",
" (expecting decl|def)",
xtag("symbol", tk)));
break;
case exprstatetype::defexpr:
case exprstatetype::parenexpr:
/* unreachable - redirects to define_xs */
@ -409,7 +402,7 @@ namespace xo {
assert(false);
return;
}
} /*on_symbol*/
}
void
exprstate::on_typedescr(TypeDescr /*td*/,