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

@ -215,7 +215,7 @@ namespace xo {
/** Walkthrough parsing input equivalent to:
*
* lambda ;
* lambda (n : i64;
*
**/
@ -243,11 +243,10 @@ namespace xo {
REQUIRE(result.is_incomplete());
}
#ifdef NOT_YET
{
auto & result = parser.on_token(Token::then_token());
auto & result = parser.on_token(Token::symbol_token("n"));
log && log("after then token:");
log && log("after symbol(n) token:");
log && log(xtag("parser", &parser));
log && log(xtag("result", result));
@ -256,6 +255,31 @@ namespace xo {
REQUIRE(result.is_incomplete());
}
{
auto & result = parser.on_token(Token::colon_token());
log && log("after colon token:");
log && log(xtag("parser", &parser));
log && log(xtag("result", result));
REQUIRE(parser.has_incomplete_expr() == true);
REQUIRE(!result.is_error());
REQUIRE(result.is_incomplete());
}
{
auto & result = parser.on_token(Token::symbol_token("i64"));
log && log("after symbol(i64) token:");
log && log(xtag("parser", &parser));
log && log(xtag("result", result));
REQUIRE(parser.has_incomplete_expr() == true);
REQUIRE(!result.is_error());
REQUIRE(result.is_incomplete());
}
#ifdef NOT_YET
{
auto & result = parser.on_token(Token::i64_token("777"));