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