xo-reader: simplify exprseq_xs::on_symbol_token()
This commit is contained in:
parent
6473ab6e26
commit
30cfe0c918
3 changed files with 17 additions and 8 deletions
|
|
@ -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*/
|
||||
|
|
|
|||
|
|
@ -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*/
|
||||
|
||||
|
|
|
|||
|
|
@ -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*/,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue