xo-reader2 stack: streamline + mem sizing + bugfixes

This commit is contained in:
Roland Conybeare 2026-02-15 16:16:02 -05:00
commit 9ce05973f4
8 changed files with 210 additions and 136 deletions

View file

@ -6,6 +6,7 @@
#pragma once
#include <xo/arena/CircularBufferConfig.hpp>
#include <xo/arena/ArenaHashMapConfig.hpp>
#include <xo/arena/ArenaConfig.hpp>
namespace xo {
@ -14,6 +15,7 @@ namespace xo {
/** @brief Configuration for SchematikaReader
**/
struct ReaderConfig {
using ArenaHashMapConfig = xo::map::ArenaHashMapConfig;
using CircularBufferConfig = xo::mm::CircularBufferConfig;
using ArenaConfig = xo::mm::ArenaConfig;
using size_t = std::size_t;
@ -34,6 +36,19 @@ namespace xo {
.store_header_flag_ = false,
.header_{},
.debug_flag_ = false };
/** configuration for hash map for global symbol table
*
* reminder: ownership chain
* SchematikaReader
* ->SchematikaParser
* ->ParserStateMachine
* ->DGlobalSymtab
**/
ArenaHashMapConfig symtab_config_ { .name_ = "global-symtab",
.hint_max_capacity_ = 64*1024,
.debug_flag_ = false };
/** debug flag for schematika parser **/
bool parser_debug_flag_ = false;