xo-reader2: + intern_string() forwarding methods in parser/reader

This commit is contained in:
Roland Conybeare 2026-02-28 13:24:06 +11:00
commit df2c13f395
4 changed files with 20 additions and 0 deletions

View file

@ -220,6 +220,10 @@ namespace xo {
**/
void begin_batch_session();
/** intern string @p str in global string table
**/
const DUniqueString * intern_string(std::string_view str);
/** include next token @p tk and increment parser state.
*
* @param tk next input token

View file

@ -78,6 +78,10 @@ namespace xo {
**/
void begin_batch_session();
/** intern string @p str in global string table
**/
const DUniqueString * intern_string(std::string_view str);
/** consume input @p input_cstr **/
const ReaderResult & read_expr(span_type input_span, bool eof);

View file

@ -81,6 +81,12 @@ namespace xo {
DToplevelSeqSsm::establish_batch(psm_.parser_alloc(), &psm_);
}
const DUniqueString *
SchematikaParser::intern_string(std::string_view str)
{
return psm_.intern_string(str);
}
const ParserResult &
SchematikaParser::on_token(const token_type & tk)
{

View file

@ -58,6 +58,12 @@ namespace xo {
// TODO:
// Schematika::end_interactive_session()
const DUniqueString *
SchematikaReader::intern_string(std::string_view str)
{
return parser_.intern_string(str);
}
const ReaderResult &
SchematikaReader::read_expr(span_type input_ext, bool eof)
{