From c8f166acc84b6052752630cea142d64f1c6d11b6 Mon Sep 17 00:00:00 2001 From: Roland Conybeare Date: Mon, 19 Aug 2024 16:19:23 -0400 Subject: [PATCH] xo-reader: streamline exprseq_xs.start() using psm --- include/xo/reader/exprseq_xs.hpp | 2 +- src/reader/exprseq_xs.cpp | 4 ++-- src/reader/parser.cpp | 6 +++++- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/include/xo/reader/exprseq_xs.hpp b/include/xo/reader/exprseq_xs.hpp index e1808a15..05d0a6e3 100644 --- a/include/xo/reader/exprseq_xs.hpp +++ b/include/xo/reader/exprseq_xs.hpp @@ -18,7 +18,7 @@ namespace xo { public: exprseq_xs(); - static void start(exprstatestack * p_stack); + static void start(parserstatemachine * p_psm); public: // ----- token input methods ----- diff --git a/src/reader/exprseq_xs.cpp b/src/reader/exprseq_xs.cpp index 0db1a394..b934c2ef 100644 --- a/src/reader/exprseq_xs.cpp +++ b/src/reader/exprseq_xs.cpp @@ -15,9 +15,9 @@ namespace xo { } void - exprseq_xs::start(exprstatestack * p_stack) + exprseq_xs::start(parserstatemachine * p_psm) { - p_stack->push_exprstate(exprseq_xs::make()); + p_psm->push_exprstate(exprseq_xs::make()); } exprseq_xs::exprseq_xs() diff --git a/src/reader/parser.cpp b/src/reader/parser.cpp index 9c9d373e..9301f1df 100644 --- a/src/reader/parser.cpp +++ b/src/reader/parser.cpp @@ -31,7 +31,11 @@ namespace xo { void parser::begin_translation_unit() { - exprseq_xs::start(&xs_stack_); + /* note: not using emit expr here */ + parserstatemachine psm(&xs_stack_, + nullptr /*p_emit_expr*/); + + exprseq_xs::start(&psm); } rp