diff --git a/idl/SyntaxStateMachine.json5 b/idl/SyntaxStateMachine.json5 index c12d3736..ad68d5bc 100644 --- a/idl/SyntaxStateMachine.json5 +++ b/idl/SyntaxStateMachine.json5 @@ -99,6 +99,15 @@ {type: "ParserStateMachine *", name: "p_psm"}, ], }, + { + name: "on_bool_token", + doc: ["update state machine for incoming bool-token @p tk"], + return_type: "void", + args: [ + {type: "const Token &", name: "tk"}, + {type: "ParserStateMachine *", name: "p_psm"}, + ], + }, { name: "on_semicolon_token", doc: ["update state machine for incoming semicolon-token @p tk"], diff --git a/include/xo/reader2/DDefineSsm.hpp b/include/xo/reader2/DDefineSsm.hpp index 1d94f3ad..912ccaf5 100644 --- a/include/xo/reader2/DDefineSsm.hpp +++ b/include/xo/reader2/DDefineSsm.hpp @@ -153,6 +153,12 @@ namespace xo { void on_f64_token(const Token & tk, ParserStateMachine * p_psm); + /** update state for this syntax on incoming bool token @p tk, + * overall parser state in @p p_psm + **/ + void on_bool_token(const Token & tk, + ParserStateMachine * p_psm); + /** update state for this syntax on incoming semicolon token @p tk, * overall parser state in @p p_psm **/ diff --git a/include/xo/reader2/DExpectExprSsm.hpp b/include/xo/reader2/DExpectExprSsm.hpp index 7bf48dea..8b37a901 100644 --- a/include/xo/reader2/DExpectExprSsm.hpp +++ b/include/xo/reader2/DExpectExprSsm.hpp @@ -89,6 +89,12 @@ namespace xo { void on_f64_token(const Token & tk, ParserStateMachine * p_psm); + /** update state for this syntax on incoming bool token @p tk, + * overall parser state in @p p_psm + **/ + void on_bool_token(const Token & tk, + ParserStateMachine * p_psm); + /** update state for this syntax on incoming semicolon token @p tk, * overall parser state in @p p_psm **/ diff --git a/include/xo/reader2/DExpectSymbolSsm.hpp b/include/xo/reader2/DExpectSymbolSsm.hpp index 1083b454..9ece9f51 100644 --- a/include/xo/reader2/DExpectSymbolSsm.hpp +++ b/include/xo/reader2/DExpectSymbolSsm.hpp @@ -123,6 +123,12 @@ namespace xo { void on_f64_token(const Token & tk, ParserStateMachine * p_psm); + /** update state for this syntax on incoming bool token @p tk, + * overall parser state in @p p_psm + **/ + void on_bool_token(const Token & tk, + ParserStateMachine * p_psm); + /** update state for this syntax on incoming semicolon token @p tk, * overall parser state in @p p_psm **/ diff --git a/include/xo/reader2/DExpectTypeSsm.hpp b/include/xo/reader2/DExpectTypeSsm.hpp index cf28fedf..b43b6eee 100644 --- a/include/xo/reader2/DExpectTypeSsm.hpp +++ b/include/xo/reader2/DExpectTypeSsm.hpp @@ -83,6 +83,12 @@ namespace xo { void on_f64_token(const Token & tk, ParserStateMachine * p_psm); + /** update state for this syntax on incoming bool token @p tk, + * overall parser state in @p p_psm + **/ + void on_bool_token(const Token & tk, + ParserStateMachine * p_psm); + /** update state for this syntax on incoming semicolon token @p tk, * overall parser state in @p p_psm **/ diff --git a/include/xo/reader2/DExprSeqState.hpp b/include/xo/reader2/DExprSeqState.hpp index eefcb15d..c9fe69e1 100644 --- a/include/xo/reader2/DExprSeqState.hpp +++ b/include/xo/reader2/DExprSeqState.hpp @@ -95,6 +95,11 @@ namespace xo { **/ void on_f64_token(const Token & tk, ParserStateMachine * p_psm); + /** update state for this syntax on incoming bool token @p tk, + * overall parser state in @p p_psm + **/ + void on_bool_token(const Token & tk, ParserStateMachine * p_psm); + /** update state for this syntax on incoming semicolon token @p tk, * overall parser state in @p p_psm **/ diff --git a/include/xo/reader2/DProgressSsm.hpp b/include/xo/reader2/DProgressSsm.hpp index 2b4121c3..2d0a4df2 100644 --- a/include/xo/reader2/DProgressSsm.hpp +++ b/include/xo/reader2/DProgressSsm.hpp @@ -143,6 +143,8 @@ namespace xo { ParserStateMachine * p_psm); void on_f64_token(const Token & tk, ParserStateMachine * p_psm); + void on_bool_token(const Token & tk, + ParserStateMachine * p_psm); void on_semicolon_token(const Token & tk, ParserStateMachine * p_psm); void on_parsed_symbol(std::string_view sym, diff --git a/include/xo/reader2/ParserStateMachine.hpp b/include/xo/reader2/ParserStateMachine.hpp index b838efe5..80690c29 100644 --- a/include/xo/reader2/ParserStateMachine.hpp +++ b/include/xo/reader2/ParserStateMachine.hpp @@ -141,6 +141,9 @@ namespace xo { /** operate state machine for incoming f64-token @p tk **/ void on_f64_token(const Token & tk); + /** operate state machine for incoming bool-token @p tk **/ + void on_bool_token(const Token & tk); + /** operate state machine for incoming semicolon-token @p tk **/ void on_semicolon_token(const Token & tk); diff --git a/include/xo/reader2/ssm/ASyntaxStateMachine.hpp b/include/xo/reader2/ssm/ASyntaxStateMachine.hpp index b68a1289..4e9bd99f 100644 --- a/include/xo/reader2/ssm/ASyntaxStateMachine.hpp +++ b/include/xo/reader2/ssm/ASyntaxStateMachine.hpp @@ -69,6 +69,8 @@ public: virtual void on_singleassign_token(Opaque data, const Token & tk, ParserStateMachine * p_psm) = 0; /** update state machine for incoming f64-token @p tk **/ virtual void on_f64_token(Opaque data, const Token & tk, ParserStateMachine * p_psm) = 0; + /** update state machine for incoming bool-token @p tk **/ + virtual void on_bool_token(Opaque data, const Token & tk, ParserStateMachine * p_psm) = 0; /** update state machine for incoming semicolon-token @p tk **/ virtual void on_semicolon_token(Opaque data, const Token & tk, ParserStateMachine * p_psm) = 0; /** update stat machine for incoming parsed symbol @p sym **/ diff --git a/include/xo/reader2/ssm/ISyntaxStateMachine_Any.hpp b/include/xo/reader2/ssm/ISyntaxStateMachine_Any.hpp index 52dc4059..5d339902 100644 --- a/include/xo/reader2/ssm/ISyntaxStateMachine_Any.hpp +++ b/include/xo/reader2/ssm/ISyntaxStateMachine_Any.hpp @@ -66,6 +66,7 @@ namespace scm { [[noreturn]] void on_colon_token(Opaque, const Token &, ParserStateMachine *) override; [[noreturn]] void on_singleassign_token(Opaque, const Token &, ParserStateMachine *) override; [[noreturn]] void on_f64_token(Opaque, const Token &, ParserStateMachine *) override; + [[noreturn]] void on_bool_token(Opaque, const Token &, ParserStateMachine *) override; [[noreturn]] void on_semicolon_token(Opaque, const Token &, ParserStateMachine *) override; [[noreturn]] void on_parsed_symbol(Opaque, std::string_view, ParserStateMachine *) override; [[noreturn]] void on_parsed_typedescr(Opaque, TypeDescr, ParserStateMachine *) override; diff --git a/include/xo/reader2/ssm/ISyntaxStateMachine_DDefineSsm.hpp b/include/xo/reader2/ssm/ISyntaxStateMachine_DDefineSsm.hpp index 3084631c..cdc01066 100644 --- a/include/xo/reader2/ssm/ISyntaxStateMachine_DDefineSsm.hpp +++ b/include/xo/reader2/ssm/ISyntaxStateMachine_DDefineSsm.hpp @@ -66,6 +66,8 @@ namespace xo { static void on_singleassign_token(DDefineSsm & self, const Token & tk, ParserStateMachine * p_psm); /** update state machine for incoming f64-token @p tk **/ static void on_f64_token(DDefineSsm & self, const Token & tk, ParserStateMachine * p_psm); + /** update state machine for incoming bool-token @p tk **/ + static void on_bool_token(DDefineSsm & self, const Token & tk, ParserStateMachine * p_psm); /** update state machine for incoming semicolon-token @p tk **/ static void on_semicolon_token(DDefineSsm & self, const Token & tk, ParserStateMachine * p_psm); /** update stat machine for incoming parsed symbol @p sym **/ diff --git a/include/xo/reader2/ssm/ISyntaxStateMachine_DExpectExprSsm.hpp b/include/xo/reader2/ssm/ISyntaxStateMachine_DExpectExprSsm.hpp index efebe9c7..8758347c 100644 --- a/include/xo/reader2/ssm/ISyntaxStateMachine_DExpectExprSsm.hpp +++ b/include/xo/reader2/ssm/ISyntaxStateMachine_DExpectExprSsm.hpp @@ -66,6 +66,8 @@ namespace xo { static void on_singleassign_token(DExpectExprSsm & self, const Token & tk, ParserStateMachine * p_psm); /** update state machine for incoming f64-token @p tk **/ static void on_f64_token(DExpectExprSsm & self, const Token & tk, ParserStateMachine * p_psm); + /** update state machine for incoming bool-token @p tk **/ + static void on_bool_token(DExpectExprSsm & self, const Token & tk, ParserStateMachine * p_psm); /** update state machine for incoming semicolon-token @p tk **/ static void on_semicolon_token(DExpectExprSsm & self, const Token & tk, ParserStateMachine * p_psm); /** update stat machine for incoming parsed symbol @p sym **/ diff --git a/include/xo/reader2/ssm/ISyntaxStateMachine_DExpectSymbolSsm.hpp b/include/xo/reader2/ssm/ISyntaxStateMachine_DExpectSymbolSsm.hpp index d870667a..95adca39 100644 --- a/include/xo/reader2/ssm/ISyntaxStateMachine_DExpectSymbolSsm.hpp +++ b/include/xo/reader2/ssm/ISyntaxStateMachine_DExpectSymbolSsm.hpp @@ -66,6 +66,8 @@ namespace xo { static void on_singleassign_token(DExpectSymbolSsm & self, const Token & tk, ParserStateMachine * p_psm); /** update state machine for incoming f64-token @p tk **/ static void on_f64_token(DExpectSymbolSsm & self, const Token & tk, ParserStateMachine * p_psm); + /** update state machine for incoming bool-token @p tk **/ + static void on_bool_token(DExpectSymbolSsm & self, const Token & tk, ParserStateMachine * p_psm); /** update state machine for incoming semicolon-token @p tk **/ static void on_semicolon_token(DExpectSymbolSsm & self, const Token & tk, ParserStateMachine * p_psm); /** update stat machine for incoming parsed symbol @p sym **/ diff --git a/include/xo/reader2/ssm/ISyntaxStateMachine_DExpectTypeSsm.hpp b/include/xo/reader2/ssm/ISyntaxStateMachine_DExpectTypeSsm.hpp index 23eb8af0..81d13c47 100644 --- a/include/xo/reader2/ssm/ISyntaxStateMachine_DExpectTypeSsm.hpp +++ b/include/xo/reader2/ssm/ISyntaxStateMachine_DExpectTypeSsm.hpp @@ -66,6 +66,8 @@ namespace xo { static void on_singleassign_token(DExpectTypeSsm & self, const Token & tk, ParserStateMachine * p_psm); /** update state machine for incoming f64-token @p tk **/ static void on_f64_token(DExpectTypeSsm & self, const Token & tk, ParserStateMachine * p_psm); + /** update state machine for incoming bool-token @p tk **/ + static void on_bool_token(DExpectTypeSsm & self, const Token & tk, ParserStateMachine * p_psm); /** update state machine for incoming semicolon-token @p tk **/ static void on_semicolon_token(DExpectTypeSsm & self, const Token & tk, ParserStateMachine * p_psm); /** update stat machine for incoming parsed symbol @p sym **/ diff --git a/include/xo/reader2/ssm/ISyntaxStateMachine_DExprSeqState.hpp b/include/xo/reader2/ssm/ISyntaxStateMachine_DExprSeqState.hpp index 020e7552..f95989ad 100644 --- a/include/xo/reader2/ssm/ISyntaxStateMachine_DExprSeqState.hpp +++ b/include/xo/reader2/ssm/ISyntaxStateMachine_DExprSeqState.hpp @@ -66,6 +66,8 @@ namespace xo { static void on_singleassign_token(DExprSeqState & self, const Token & tk, ParserStateMachine * p_psm); /** update state machine for incoming f64-token @p tk **/ static void on_f64_token(DExprSeqState & self, const Token & tk, ParserStateMachine * p_psm); + /** update state machine for incoming bool-token @p tk **/ + static void on_bool_token(DExprSeqState & self, const Token & tk, ParserStateMachine * p_psm); /** update state machine for incoming semicolon-token @p tk **/ static void on_semicolon_token(DExprSeqState & self, const Token & tk, ParserStateMachine * p_psm); /** update stat machine for incoming parsed symbol @p sym **/ diff --git a/include/xo/reader2/ssm/ISyntaxStateMachine_DProgressSsm.hpp b/include/xo/reader2/ssm/ISyntaxStateMachine_DProgressSsm.hpp index 1735b2b1..0362e433 100644 --- a/include/xo/reader2/ssm/ISyntaxStateMachine_DProgressSsm.hpp +++ b/include/xo/reader2/ssm/ISyntaxStateMachine_DProgressSsm.hpp @@ -66,6 +66,8 @@ namespace xo { static void on_singleassign_token(DProgressSsm & self, const Token & tk, ParserStateMachine * p_psm); /** update state machine for incoming f64-token @p tk **/ static void on_f64_token(DProgressSsm & self, const Token & tk, ParserStateMachine * p_psm); + /** update state machine for incoming bool-token @p tk **/ + static void on_bool_token(DProgressSsm & self, const Token & tk, ParserStateMachine * p_psm); /** update state machine for incoming semicolon-token @p tk **/ static void on_semicolon_token(DProgressSsm & self, const Token & tk, ParserStateMachine * p_psm); /** update stat machine for incoming parsed symbol @p sym **/ diff --git a/include/xo/reader2/ssm/ISyntaxStateMachine_Xfer.hpp b/include/xo/reader2/ssm/ISyntaxStateMachine_Xfer.hpp index da16f766..fbfd99b7 100644 --- a/include/xo/reader2/ssm/ISyntaxStateMachine_Xfer.hpp +++ b/include/xo/reader2/ssm/ISyntaxStateMachine_Xfer.hpp @@ -70,6 +70,9 @@ namespace scm { void on_f64_token(Opaque data, const Token & tk, ParserStateMachine * p_psm) override { return I::on_f64_token(_dcast(data), tk, p_psm); } + void on_bool_token(Opaque data, const Token & tk, ParserStateMachine * p_psm) override { + return I::on_bool_token(_dcast(data), tk, p_psm); + } void on_semicolon_token(Opaque data, const Token & tk, ParserStateMachine * p_psm) override { return I::on_semicolon_token(_dcast(data), tk, p_psm); } diff --git a/include/xo/reader2/ssm/RSyntaxStateMachine.hpp b/include/xo/reader2/ssm/RSyntaxStateMachine.hpp index cfa354b9..2741dc76 100644 --- a/include/xo/reader2/ssm/RSyntaxStateMachine.hpp +++ b/include/xo/reader2/ssm/RSyntaxStateMachine.hpp @@ -74,6 +74,9 @@ public: void on_f64_token(const Token & tk, ParserStateMachine * p_psm) { return O::iface()->on_f64_token(O::data(), tk, p_psm); } + void on_bool_token(const Token & tk, ParserStateMachine * p_psm) { + return O::iface()->on_bool_token(O::data(), tk, p_psm); + } void on_semicolon_token(const Token & tk, ParserStateMachine * p_psm) { return O::iface()->on_semicolon_token(O::data(), tk, p_psm); } diff --git a/src/reader2/DDefineSsm.cpp b/src/reader2/DDefineSsm.cpp index d110df35..063572d3 100644 --- a/src/reader2/DDefineSsm.cpp +++ b/src/reader2/DDefineSsm.cpp @@ -576,6 +576,15 @@ namespace xo { this->get_expect_str()); } + void + DDefineSsm::on_bool_token(const Token & tk, + ParserStateMachine * p_psm) + { + p_psm->illegal_input_on_token("DDefineSsm::on_bool_token", + tk, + this->get_expect_str()); + } + void DDefineSsm::on_semicolon_token(const Token & tk, ParserStateMachine * p_psm) diff --git a/src/reader2/DExpectExprSsm.cpp b/src/reader2/DExpectExprSsm.cpp index cea683c4..a6aff620 100644 --- a/src/reader2/DExpectExprSsm.cpp +++ b/src/reader2/DExpectExprSsm.cpp @@ -170,6 +170,15 @@ namespace xo { p_psm); } + void + DExpectExprSsm::on_bool_token(const Token & tk, + ParserStateMachine * p_psm) + { + p_psm->illegal_input_on_token("DExpectExprSsm::on_bool_token", + tk, + this->get_expect_str()); + } + void DExpectExprSsm::on_semicolon_token(const Token & tk, ParserStateMachine * p_psm) diff --git a/src/reader2/DExpectSymbolSsm.cpp b/src/reader2/DExpectSymbolSsm.cpp index e55d35be..4bb3c05a 100644 --- a/src/reader2/DExpectSymbolSsm.cpp +++ b/src/reader2/DExpectSymbolSsm.cpp @@ -158,6 +158,15 @@ namespace xo { this->get_expect_str()); } + void + DExpectSymbolSsm::on_bool_token(const Token & tk, + ParserStateMachine * p_psm) + { + p_psm->illegal_input_on_token("DExpectSymbolSsm::on_bool_token", + tk, + this->get_expect_str()); + } + void DExpectSymbolSsm::on_semicolon_token(const Token & tk, ParserStateMachine * p_psm) diff --git a/src/reader2/DExpectTypeSsm.cpp b/src/reader2/DExpectTypeSsm.cpp index e527dffa..643defb5 100644 --- a/src/reader2/DExpectTypeSsm.cpp +++ b/src/reader2/DExpectTypeSsm.cpp @@ -101,6 +101,15 @@ namespace xo { this->get_expect_str()); } + void + DExpectTypeSsm::on_bool_token(const Token & tk, + ParserStateMachine * p_psm) + { + p_psm->illegal_input_on_token("DExpectTypeSsm::on_bool_token", + tk, + this->get_expect_str()); + } + void DExpectTypeSsm::on_semicolon_token(const Token & tk, ParserStateMachine * p_psm) diff --git a/src/reader2/DExprSeqState.cpp b/src/reader2/DExprSeqState.cpp index 65ec004c..c6e53ba2 100644 --- a/src/reader2/DExprSeqState.cpp +++ b/src/reader2/DExprSeqState.cpp @@ -217,6 +217,15 @@ namespace xo { this->get_expect_str()); } + void + DExprSeqState::on_bool_token(const Token & tk, + ParserStateMachine * p_psm) + { + p_psm->illegal_input_on_token("DExprSeqState::on_bool_token", + tk, + this->get_expect_str()); + } + void DExprSeqState::on_semicolon_token(const Token & tk, ParserStateMachine * p_psm) diff --git a/src/reader2/DProgressSsm.cpp b/src/reader2/DProgressSsm.cpp index 5a9a81ec..00571edb 100644 --- a/src/reader2/DProgressSsm.cpp +++ b/src/reader2/DProgressSsm.cpp @@ -212,6 +212,15 @@ namespace xo { this->get_expect_str()); } + void + DProgressSsm::on_bool_token(const Token & tk, + ParserStateMachine * p_psm) + { + p_psm->illegal_input_on_token("DProgressSsm::on_bool_token", + tk, + this->get_expect_str()); + } + void DProgressSsm::on_semicolon_token(const Token & tk, ParserStateMachine * p_psm) diff --git a/src/reader2/ISyntaxStateMachine_Any.cpp b/src/reader2/ISyntaxStateMachine_Any.cpp index a789bce9..4637f4c0 100644 --- a/src/reader2/ISyntaxStateMachine_Any.cpp +++ b/src/reader2/ISyntaxStateMachine_Any.cpp @@ -70,6 +70,12 @@ ISyntaxStateMachine_Any::on_f64_token(Opaque, const Token &, ParserStateMachine _fatal(); } +auto +ISyntaxStateMachine_Any::on_bool_token(Opaque, const Token &, ParserStateMachine *) -> void +{ + _fatal(); +} + auto ISyntaxStateMachine_Any::on_semicolon_token(Opaque, const Token &, ParserStateMachine *) -> void { diff --git a/src/reader2/ISyntaxStateMachine_DDefineSsm.cpp b/src/reader2/ISyntaxStateMachine_DDefineSsm.cpp index 89589841..ed07a417 100644 --- a/src/reader2/ISyntaxStateMachine_DDefineSsm.cpp +++ b/src/reader2/ISyntaxStateMachine_DDefineSsm.cpp @@ -58,6 +58,11 @@ namespace xo { self.on_f64_token(tk, p_psm); } auto + ISyntaxStateMachine_DDefineSsm::on_bool_token(DDefineSsm & self, const Token & tk, ParserStateMachine * p_psm) -> void + { + self.on_bool_token(tk, p_psm); + } + auto ISyntaxStateMachine_DDefineSsm::on_semicolon_token(DDefineSsm & self, const Token & tk, ParserStateMachine * p_psm) -> void { self.on_semicolon_token(tk, p_psm); diff --git a/src/reader2/ISyntaxStateMachine_DExpectExprSsm.cpp b/src/reader2/ISyntaxStateMachine_DExpectExprSsm.cpp index 858ce1ab..7ad963c8 100644 --- a/src/reader2/ISyntaxStateMachine_DExpectExprSsm.cpp +++ b/src/reader2/ISyntaxStateMachine_DExpectExprSsm.cpp @@ -58,6 +58,11 @@ namespace xo { self.on_f64_token(tk, p_psm); } auto + ISyntaxStateMachine_DExpectExprSsm::on_bool_token(DExpectExprSsm & self, const Token & tk, ParserStateMachine * p_psm) -> void + { + self.on_bool_token(tk, p_psm); + } + auto ISyntaxStateMachine_DExpectExprSsm::on_semicolon_token(DExpectExprSsm & self, const Token & tk, ParserStateMachine * p_psm) -> void { self.on_semicolon_token(tk, p_psm); diff --git a/src/reader2/ISyntaxStateMachine_DExpectSymbolSsm.cpp b/src/reader2/ISyntaxStateMachine_DExpectSymbolSsm.cpp index 1982212c..0012daad 100644 --- a/src/reader2/ISyntaxStateMachine_DExpectSymbolSsm.cpp +++ b/src/reader2/ISyntaxStateMachine_DExpectSymbolSsm.cpp @@ -58,6 +58,11 @@ namespace xo { self.on_f64_token(tk, p_psm); } auto + ISyntaxStateMachine_DExpectSymbolSsm::on_bool_token(DExpectSymbolSsm & self, const Token & tk, ParserStateMachine * p_psm) -> void + { + self.on_bool_token(tk, p_psm); + } + auto ISyntaxStateMachine_DExpectSymbolSsm::on_semicolon_token(DExpectSymbolSsm & self, const Token & tk, ParserStateMachine * p_psm) -> void { self.on_semicolon_token(tk, p_psm); diff --git a/src/reader2/ISyntaxStateMachine_DExpectTypeSsm.cpp b/src/reader2/ISyntaxStateMachine_DExpectTypeSsm.cpp index eb66f8db..20d930b9 100644 --- a/src/reader2/ISyntaxStateMachine_DExpectTypeSsm.cpp +++ b/src/reader2/ISyntaxStateMachine_DExpectTypeSsm.cpp @@ -58,6 +58,11 @@ namespace xo { self.on_f64_token(tk, p_psm); } auto + ISyntaxStateMachine_DExpectTypeSsm::on_bool_token(DExpectTypeSsm & self, const Token & tk, ParserStateMachine * p_psm) -> void + { + self.on_bool_token(tk, p_psm); + } + auto ISyntaxStateMachine_DExpectTypeSsm::on_semicolon_token(DExpectTypeSsm & self, const Token & tk, ParserStateMachine * p_psm) -> void { self.on_semicolon_token(tk, p_psm); diff --git a/src/reader2/ISyntaxStateMachine_DExprSeqState.cpp b/src/reader2/ISyntaxStateMachine_DExprSeqState.cpp index cfd419b9..ddf20702 100644 --- a/src/reader2/ISyntaxStateMachine_DExprSeqState.cpp +++ b/src/reader2/ISyntaxStateMachine_DExprSeqState.cpp @@ -58,6 +58,11 @@ namespace xo { self.on_f64_token(tk, p_psm); } auto + ISyntaxStateMachine_DExprSeqState::on_bool_token(DExprSeqState & self, const Token & tk, ParserStateMachine * p_psm) -> void + { + self.on_bool_token(tk, p_psm); + } + auto ISyntaxStateMachine_DExprSeqState::on_semicolon_token(DExprSeqState & self, const Token & tk, ParserStateMachine * p_psm) -> void { self.on_semicolon_token(tk, p_psm); diff --git a/src/reader2/ISyntaxStateMachine_DProgressSsm.cpp b/src/reader2/ISyntaxStateMachine_DProgressSsm.cpp index 53c8706c..535ac2f6 100644 --- a/src/reader2/ISyntaxStateMachine_DProgressSsm.cpp +++ b/src/reader2/ISyntaxStateMachine_DProgressSsm.cpp @@ -58,6 +58,11 @@ namespace xo { self.on_f64_token(tk, p_psm); } auto + ISyntaxStateMachine_DProgressSsm::on_bool_token(DProgressSsm & self, const Token & tk, ParserStateMachine * p_psm) -> void + { + self.on_bool_token(tk, p_psm); + } + auto ISyntaxStateMachine_DProgressSsm::on_semicolon_token(DProgressSsm & self, const Token & tk, ParserStateMachine * p_psm) -> void { self.on_semicolon_token(tk, p_psm); diff --git a/src/reader2/ParserStateMachine.cpp b/src/reader2/ParserStateMachine.cpp index 80841fd8..3915aca7 100644 --- a/src/reader2/ParserStateMachine.cpp +++ b/src/reader2/ParserStateMachine.cpp @@ -187,13 +187,16 @@ namespace xo { this->on_f64_token(tk); break; + case tokentype::tk_bool: + this->on_bool_token(tk); + break; + case tokentype::tk_semicolon: this->on_semicolon_token(tk); break; // all the not-yet handled cases case tokentype::tk_invalid: - case tokentype::tk_bool: case tokentype::tk_i64: case tokentype::tk_string: case tokentype::tk_leftparen: @@ -280,6 +283,14 @@ namespace xo { stack_->top().on_f64_token(tk, this); } + void + ParserStateMachine::on_bool_token(const Token & tk) + { + scope log(XO_DEBUG(debug_flag_), xtag("tk", tk)); + + stack_->top().on_bool_token(tk, this); + } + void ParserStateMachine::on_semicolon_token(const Token & tk) {