xo-interpreter2 stack: wrap TokenizerError as DRuntimeError

Also fix _read_eval_print() to report them!
This commit is contained in:
Roland Conybeare 2026-03-27 11:16:28 -04:00
commit ff471bbc72
4 changed files with 22 additions and 0 deletions

View file

@ -11,6 +11,7 @@ set(SELF_SRCS
xo_add_shared_library4(${SELF_LIB} ${PROJECT_NAME}Targets ${PROJECT_VERSION} 1 ${SELF_SRCS})
# deps must coordinate with xo-tokenizer/cmake/xo_tokenizer2Config.cmake.in
xo_dependency(${SELF_LIB} xo_stringtable2)
xo_dependency(${SELF_LIB} xo_arena)
xo_dependency(${SELF_LIB} indentlog)

View file

@ -54,6 +54,20 @@ namespace xo {
}
}
DString *
TokenizerError::report_to_string(obj<AAllocator> dest_mm) const
{
// FIXME:
// using heap here for scratch space.
// Would prefer to checkpoint + realloc.
std::stringstream ss;
this->report(ss);
return DString::from_str(dest_mm, ss.str());
}
} /*namespace scm*/
} /*namespace xo*/