xo-reader2: use DUniqueString* to report parsed formal

This commit is contained in:
Roland Conybeare 2026-01-29 12:24:46 -05:00
commit 1c2352c008
50 changed files with 377 additions and 65 deletions

View file

@ -192,18 +192,6 @@ namespace xo {
#ifdef NOT_YET
void
lambda_xs::on_lambda_token(const token_type & tk,
parserstatemachine * p_psm)
{
if (lmxs_type_ == lambdastatetype::lm_0) {
this->lmxs_type_ = lambdastatetype::lm_1;
expect_formal_arglist_xs::start(p_psm);
} else {
exprstate::on_lambda_token(tk, p_psm);
}
}
void
lambda_xs::on_formal_arglist(const std::vector<rp<Variable>> & argl,
parserstatemachine * p_psm)
@ -351,13 +339,14 @@ namespace xo {
}
void
DLambdaSsm::on_parsed_expression_with_semicolon(obj<AExpression> expr,
ParserStateMachine * p_psm)
DLambdaSsm::on_parsed_formal(const DUniqueString * param_name,
TypeDescr param_type,
ParserStateMachine * p_psm)
{
p_psm->illegal_parsed_expression
("DLambdaSsm::on_parsed_expression_with_semicolon",
expr,
this->get_expect_str());
p_psm->illegal_parsed_formal("DLambdaSsm::on_parsed_formal",
param_name,
param_type,
this->get_expect_str());
}
void
@ -369,6 +358,16 @@ namespace xo {
this->get_expect_str());
}
void
DLambdaSsm::on_parsed_expression_with_semicolon(obj<AExpression> expr,
ParserStateMachine * p_psm)
{
p_psm->illegal_parsed_expression
("DLambdaSsm::on_parsed_expression_with_semicolon",
expr,
this->get_expect_str());
}
#ifdef NOT_YET
void
lambda_xs::on_expr(bp<Expression> expr,