xo-reader2: lambda ssm progress. incremental [WIP]

This commit is contained in:
Roland Conybeare 2026-01-29 10:16:52 -05:00
commit 2a149d371c
3 changed files with 48 additions and 7 deletions

View file

@ -146,6 +146,12 @@ namespace xo {
DExpectFormalArgSsm::on_parsed_symbol(std::string_view sym,
ParserStateMachine * p_psm)
{
if (fstate_ == formalstatetype::formal_0) {
this->fstate_ = formalstatetype::formal_1;
this->name_ = p_psm->intern_string(sym);
return;
}
p_psm->illegal_input_on_symbol("DExpectFormalArgSsm::on_parsed_symbol",
sym,
this->get_expect_str());
@ -230,9 +236,18 @@ namespace xo {
bool
DExpectFormalArgSsm::pretty(const ppindentinfo & ppii) const {
return ppii.pps()->pretty_struct
(ppii,
"DExpectFormalArgSsm");
if (name_) {
return ppii.pps()->pretty_struct
(ppii,
"DExpectFormalArgSsm",
refrtag("fstate", fstate_),
refrtag("name", std::string_view(*name_)));
} else {
return ppii.pps()->pretty_struct
(ppii,
"DExpectFormalArgSsm",
refrtag("fstate", fstate_));
}
}
} /*namespace scm*/