diff --git a/xo-object2/CMakeLists.txt b/xo-object2/CMakeLists.txt index 9c2671e0..ee93bf7e 100644 --- a/xo-object2/CMakeLists.txt +++ b/xo-object2/CMakeLists.txt @@ -160,6 +160,8 @@ xo_add_genfacetimpl( OUTPUT_CPP_DIR src/object2 ) +xo_add_genfacet_all(xo-object2-genfacet-all) + # ---------------------------------------------------------------- # must complete definition of expression lib before configuring examples diff --git a/xo-object2/include/xo/object2/Sequence.hpp b/xo-object2/include/xo/object2/Sequence.hpp index fc934084..7866f91b 100644 --- a/xo-object2/include/xo/object2/Sequence.hpp +++ b/xo-object2/include/xo/object2/Sequence.hpp @@ -2,7 +2,7 @@ * * Generated automagically from ingredients: * 1. code generator: - * [/Users/roland/proj/xo-umbrella2/xo-facet/codegen/genfacet] + * [/home/roland/proj/xo-umbrella2-claude1/xo-facet/codegen/genfacet] * arguments: * --input [idl/Sequence.json5] * 2. jinja2 template for facet .hpp file: diff --git a/xo-object2/include/xo/object2/list/IGCObject_DList.hpp b/xo-object2/include/xo/object2/list/IGCObject_DList.hpp index e87cdd96..19000df6 100644 --- a/xo-object2/include/xo/object2/list/IGCObject_DList.hpp +++ b/xo-object2/include/xo/object2/list/IGCObject_DList.hpp @@ -2,7 +2,7 @@ * * Generated automagically from ingredients: * 1. code generator: - * [/Users/roland/proj/xo-umbrella2/xo-facet/codegen/genfacet] + * [/home/roland/proj/xo-umbrella2-claude1/xo-facet/codegen/genfacet] * arguments: * --input [idl/IGCObject_DList.json5] * 2. jinja2 template for abstract facet .hpp file: diff --git a/xo-object2/include/xo/object2/list/IPrintable_DList.hpp b/xo-object2/include/xo/object2/list/IPrintable_DList.hpp index 4371fdfb..d068bda1 100644 --- a/xo-object2/include/xo/object2/list/IPrintable_DList.hpp +++ b/xo-object2/include/xo/object2/list/IPrintable_DList.hpp @@ -2,7 +2,7 @@ * * Generated automagically from ingredients: * 1. code generator: - * [/Users/roland/proj/xo-umbrella2/xo-facet/codegen/genfacet] + * [/home/roland/proj/xo-umbrella2-claude1/xo-facet/codegen/genfacet] * arguments: * --input [idl/IPrintable_DList.json5] * 2. jinja2 template for abstract facet .hpp file: diff --git a/xo-object2/include/xo/object2/list/ISequence_DList.hpp b/xo-object2/include/xo/object2/list/ISequence_DList.hpp index 81289db9..d7c44e3b 100644 --- a/xo-object2/include/xo/object2/list/ISequence_DList.hpp +++ b/xo-object2/include/xo/object2/list/ISequence_DList.hpp @@ -2,7 +2,7 @@ * * Generated automagically from ingredients: * 1. code generator: - * [/Users/roland/proj/xo-umbrella2/xo-facet/codegen/genfacet] + * [/home/roland/proj/xo-umbrella2-claude1/xo-facet/codegen/genfacet] * arguments: * --input [idl/ISequence_DList.json5] * 2. jinja2 template for abstract facet .hpp file: diff --git a/xo-object2/include/xo/object2/number/IGCObject_DFloat.hpp b/xo-object2/include/xo/object2/number/IGCObject_DFloat.hpp index c57c89ea..b27163c2 100644 --- a/xo-object2/include/xo/object2/number/IGCObject_DFloat.hpp +++ b/xo-object2/include/xo/object2/number/IGCObject_DFloat.hpp @@ -2,7 +2,7 @@ * * Generated automagically from ingredients: * 1. code generator: - * [/Users/roland/proj/xo-umbrella2/xo-facet/codegen/genfacet] + * [/home/roland/proj/xo-umbrella2-claude1/xo-facet/codegen/genfacet] * arguments: * --input [idl/IGCObject_DFloat.json5] * 2. jinja2 template for abstract facet .hpp file: diff --git a/xo-object2/include/xo/object2/number/IGCObject_DInteger.hpp b/xo-object2/include/xo/object2/number/IGCObject_DInteger.hpp index 10a5c685..6aa3c9fc 100644 --- a/xo-object2/include/xo/object2/number/IGCObject_DInteger.hpp +++ b/xo-object2/include/xo/object2/number/IGCObject_DInteger.hpp @@ -2,7 +2,7 @@ * * Generated automagically from ingredients: * 1. code generator: - * [/Users/roland/proj/xo-umbrella2/xo-facet/codegen/genfacet] + * [/home/roland/proj/xo-umbrella2-claude1/xo-facet/codegen/genfacet] * arguments: * --input [idl/IGCObject_DInteger.json5] * 2. jinja2 template for abstract facet .hpp file: diff --git a/xo-object2/include/xo/object2/number/IPrintable_DFloat.hpp b/xo-object2/include/xo/object2/number/IPrintable_DFloat.hpp index 17eab5d2..2bcaf1d2 100644 --- a/xo-object2/include/xo/object2/number/IPrintable_DFloat.hpp +++ b/xo-object2/include/xo/object2/number/IPrintable_DFloat.hpp @@ -2,7 +2,7 @@ * * Generated automagically from ingredients: * 1. code generator: - * [/Users/roland/proj/xo-umbrella2/xo-facet/codegen/genfacet] + * [/home/roland/proj/xo-umbrella2-claude1/xo-facet/codegen/genfacet] * arguments: * --input [idl/IPrintable_DFloat.json5] * 2. jinja2 template for abstract facet .hpp file: diff --git a/xo-object2/include/xo/object2/number/IPrintable_DInteger.hpp b/xo-object2/include/xo/object2/number/IPrintable_DInteger.hpp index 95a9e108..a13334d6 100644 --- a/xo-object2/include/xo/object2/number/IPrintable_DInteger.hpp +++ b/xo-object2/include/xo/object2/number/IPrintable_DInteger.hpp @@ -2,7 +2,7 @@ * * Generated automagically from ingredients: * 1. code generator: - * [/Users/roland/proj/xo-umbrella2/xo-facet/codegen/genfacet] + * [/home/roland/proj/xo-umbrella2-claude1/xo-facet/codegen/genfacet] * arguments: * --input [idl/IPrintable_DInteger.json5] * 2. jinja2 template for abstract facet .hpp file: diff --git a/xo-object2/include/xo/object2/sequence/ASequence.hpp b/xo-object2/include/xo/object2/sequence/ASequence.hpp index 99687473..5281e0ea 100644 --- a/xo-object2/include/xo/object2/sequence/ASequence.hpp +++ b/xo-object2/include/xo/object2/sequence/ASequence.hpp @@ -2,7 +2,7 @@ * * Generated automagically from ingredients: * 1. code generator: - * [/Users/roland/proj/xo-umbrella2/xo-facet/codegen/genfacet] + * [/home/roland/proj/xo-umbrella2-claude1/xo-facet/codegen/genfacet] * arguments: * --input [idl/Sequence.json5] * 2. jinja2 template for abstract facet .hpp file: diff --git a/xo-object2/include/xo/object2/sequence/ISequence_Any.hpp b/xo-object2/include/xo/object2/sequence/ISequence_Any.hpp index 9f5901f2..0e7c5c10 100644 --- a/xo-object2/include/xo/object2/sequence/ISequence_Any.hpp +++ b/xo-object2/include/xo/object2/sequence/ISequence_Any.hpp @@ -2,7 +2,7 @@ * * Generated automagically from ingredients: * 1. code generator: - * [/Users/roland/proj/xo-umbrella2/xo-facet/codegen/genfacet] + * [/home/roland/proj/xo-umbrella2-claude1/xo-facet/codegen/genfacet] * arguments: * --input [idl/Sequence.json5] * 2. jinja2 template for abstract facet .hpp file: diff --git a/xo-object2/include/xo/object2/sequence/ISequence_Xfer.hpp b/xo-object2/include/xo/object2/sequence/ISequence_Xfer.hpp index 60abc5aa..f3dc8b35 100644 --- a/xo-object2/include/xo/object2/sequence/ISequence_Xfer.hpp +++ b/xo-object2/include/xo/object2/sequence/ISequence_Xfer.hpp @@ -2,7 +2,7 @@ * * Generated automagically from ingredients: * 1. code generator: - * [/Users/roland/proj/xo-umbrella2/xo-facet/codegen/genfacet] + * [/home/roland/proj/xo-umbrella2-claude1/xo-facet/codegen/genfacet] * arguments: * --input [idl/Sequence.json5] * 2. jinja2 template for abstract facet .hpp file: diff --git a/xo-object2/include/xo/object2/sequence/RSequence.hpp b/xo-object2/include/xo/object2/sequence/RSequence.hpp index 26ec1735..be4fafb0 100644 --- a/xo-object2/include/xo/object2/sequence/RSequence.hpp +++ b/xo-object2/include/xo/object2/sequence/RSequence.hpp @@ -2,7 +2,7 @@ * * Generated automagically from ingredients: * 1. code generator: - * [/Users/roland/proj/xo-umbrella2/xo-facet/codegen/genfacet] + * [/home/roland/proj/xo-umbrella2-claude1/xo-facet/codegen/genfacet] * arguments: * --input [idl/Sequence.json5] * 2. jinja2 template for abstract facet .hpp file: diff --git a/xo-object2/include/xo/object2/string/IGCObject_DString.hpp b/xo-object2/include/xo/object2/string/IGCObject_DString.hpp index ad12cb80..95a19483 100644 --- a/xo-object2/include/xo/object2/string/IGCObject_DString.hpp +++ b/xo-object2/include/xo/object2/string/IGCObject_DString.hpp @@ -6,13 +6,14 @@ * arguments: * --input [idl/IGCObject_DString.json5] * 2. jinja2 template for abstract facet .hpp file: - * [iface_facet_any.hpp.j2] + * [iface_facet_repr.hpp.j2] * 3. idl for facet methods * [idl/IGCObject_DString.json5] **/ #pragma once +#include "GCObject.hpp" #include #include #include "DString.hpp" diff --git a/xo-object2/include/xo/object2/string/IPrintable_DString.hpp b/xo-object2/include/xo/object2/string/IPrintable_DString.hpp index d1d3f22a..f1be1374 100644 --- a/xo-object2/include/xo/object2/string/IPrintable_DString.hpp +++ b/xo-object2/include/xo/object2/string/IPrintable_DString.hpp @@ -6,13 +6,14 @@ * arguments: * --input [idl/IPrintable_DString.json5] * 2. jinja2 template for abstract facet .hpp file: - * [iface_facet_any.hpp.j2] + * [iface_facet_repr.hpp.j2] * 3. idl for facet methods * [idl/IPrintable_DString.json5] **/ #pragma once +#include "Printable.hpp" #include #include #include "DString.hpp" diff --git a/xo-object2/src/object2/IGCObject_DFloat.cpp b/xo-object2/src/object2/IGCObject_DFloat.cpp index ef4214a7..3c44db5d 100644 --- a/xo-object2/src/object2/IGCObject_DFloat.cpp +++ b/xo-object2/src/object2/IGCObject_DFloat.cpp @@ -2,7 +2,7 @@ * * Generated automagically from ingredients: * 1. code generator: - * [/Users/roland/proj/xo-umbrella2/xo-facet/codegen/genfacet] + * [/home/roland/proj/xo-umbrella2-claude1/xo-facet/codegen/genfacet] * arguments: * --input [idl/IGCObject_DFloat.json5] * 2. jinja2 template for abstract facet .hpp file: diff --git a/xo-object2/src/object2/IGCObject_DInteger.cpp b/xo-object2/src/object2/IGCObject_DInteger.cpp index 8b8a0112..91d8e4a1 100644 --- a/xo-object2/src/object2/IGCObject_DInteger.cpp +++ b/xo-object2/src/object2/IGCObject_DInteger.cpp @@ -2,7 +2,7 @@ * * Generated automagically from ingredients: * 1. code generator: - * [/Users/roland/proj/xo-umbrella2/xo-facet/codegen/genfacet] + * [/home/roland/proj/xo-umbrella2-claude1/xo-facet/codegen/genfacet] * arguments: * --input [idl/IGCObject_DInteger.json5] * 2. jinja2 template for abstract facet .hpp file: diff --git a/xo-object2/src/object2/IGCObject_DList.cpp b/xo-object2/src/object2/IGCObject_DList.cpp index 06584687..b9d36cc5 100644 --- a/xo-object2/src/object2/IGCObject_DList.cpp +++ b/xo-object2/src/object2/IGCObject_DList.cpp @@ -2,7 +2,7 @@ * * Generated automagically from ingredients: * 1. code generator: - * [/Users/roland/proj/xo-umbrella2/xo-facet/codegen/genfacet] + * [/home/roland/proj/xo-umbrella2-claude1/xo-facet/codegen/genfacet] * arguments: * --input [idl/IGCObject_DList.json5] * 2. jinja2 template for abstract facet .hpp file: diff --git a/xo-object2/src/object2/IGCObject_DString.cpp b/xo-object2/src/object2/IGCObject_DString.cpp index d411686a..1eff4da5 100644 --- a/xo-object2/src/object2/IGCObject_DString.cpp +++ b/xo-object2/src/object2/IGCObject_DString.cpp @@ -36,4 +36,4 @@ namespace xo { } /*namespace scm*/ } /*namespace xo*/ -/* end IGCObject_DString.cpp */ +/* end IGCObject_DString.cpp */ \ No newline at end of file diff --git a/xo-object2/src/object2/IPrintable_DFloat.cpp b/xo-object2/src/object2/IPrintable_DFloat.cpp index b83613e5..0c0a6789 100644 --- a/xo-object2/src/object2/IPrintable_DFloat.cpp +++ b/xo-object2/src/object2/IPrintable_DFloat.cpp @@ -2,7 +2,7 @@ * * Generated automagically from ingredients: * 1. code generator: - * [/Users/roland/proj/xo-umbrella2/xo-facet/codegen/genfacet] + * [/home/roland/proj/xo-umbrella2-claude1/xo-facet/codegen/genfacet] * arguments: * --input [idl/IPrintable_DFloat.json5] * 2. jinja2 template for abstract facet .hpp file: diff --git a/xo-object2/src/object2/IPrintable_DInteger.cpp b/xo-object2/src/object2/IPrintable_DInteger.cpp index 889cfa8c..8924a72c 100644 --- a/xo-object2/src/object2/IPrintable_DInteger.cpp +++ b/xo-object2/src/object2/IPrintable_DInteger.cpp @@ -2,7 +2,7 @@ * * Generated automagically from ingredients: * 1. code generator: - * [/Users/roland/proj/xo-umbrella2/xo-facet/codegen/genfacet] + * [/home/roland/proj/xo-umbrella2-claude1/xo-facet/codegen/genfacet] * arguments: * --input [idl/IPrintable_DInteger.json5] * 2. jinja2 template for abstract facet .hpp file: diff --git a/xo-object2/src/object2/IPrintable_DList.cpp b/xo-object2/src/object2/IPrintable_DList.cpp index 384d8b60..095b323d 100644 --- a/xo-object2/src/object2/IPrintable_DList.cpp +++ b/xo-object2/src/object2/IPrintable_DList.cpp @@ -2,7 +2,7 @@ * * Generated automagically from ingredients: * 1. code generator: - * [/Users/roland/proj/xo-umbrella2/xo-facet/codegen/genfacet] + * [/home/roland/proj/xo-umbrella2-claude1/xo-facet/codegen/genfacet] * arguments: * --input [idl/IPrintable_DList.json5] * 2. jinja2 template for abstract facet .hpp file: diff --git a/xo-object2/src/object2/IPrintable_DString.cpp b/xo-object2/src/object2/IPrintable_DString.cpp index f47aa3fa..86d4565e 100644 --- a/xo-object2/src/object2/IPrintable_DString.cpp +++ b/xo-object2/src/object2/IPrintable_DString.cpp @@ -25,4 +25,4 @@ namespace xo { } /*namespace scm*/ } /*namespace xo*/ -/* end IPrintable_DString.cpp */ +/* end IPrintable_DString.cpp */ \ No newline at end of file diff --git a/xo-object2/src/object2/ISequence_DList.cpp b/xo-object2/src/object2/ISequence_DList.cpp index b216b7e5..3c9c2437 100644 --- a/xo-object2/src/object2/ISequence_DList.cpp +++ b/xo-object2/src/object2/ISequence_DList.cpp @@ -2,7 +2,7 @@ * * Generated automagically from ingredients: * 1. code generator: - * [/Users/roland/proj/xo-umbrella2/xo-facet/codegen/genfacet] + * [/home/roland/proj/xo-umbrella2-claude1/xo-facet/codegen/genfacet] * arguments: * --input [idl/ISequence_DList.json5] * 2. jinja2 template for abstract facet .hpp file: diff --git a/xo-reader2/CMakeLists.txt b/xo-reader2/CMakeLists.txt index e2ee946b..ac780154 100644 --- a/xo-reader2/CMakeLists.txt +++ b/xo-reader2/CMakeLists.txt @@ -110,6 +110,8 @@ xo_add_genfacetimpl( OUTPUT_CPP_DIR src/reader2 ) +xo_add_genfacet_all(xo-reader2-genfacet-all) + # ---------------------------------------------------------------- # shared library diff --git a/xo-reader2/idl/SyntaxStateMachine.json5 b/xo-reader2/idl/SyntaxStateMachine.json5 index 28811512..f1b74111 100644 --- a/xo-reader2/idl/SyntaxStateMachine.json5 +++ b/xo-reader2/idl/SyntaxStateMachine.json5 @@ -70,6 +70,15 @@ {type: "ParserStateMachine *", name: "p_psm"}, ], }, + { + name: "on_colon_token", + doc: ["update state machine for incoming colon-token @p tk"], + return_type: "void", + args: [ + {type: "const Token &", name: "tk"}, + {type: "ParserStateMachine *", name: "p_psm"}, + ], + }, { name: "on_parsed_symbol", doc: ["update stat machine for incoming parsed symbol @p sym"], diff --git a/xo-reader2/include/xo/reader2/DDefineSsm.hpp b/xo-reader2/include/xo/reader2/DDefineSsm.hpp index b8444cbe..468d1a22 100644 --- a/xo-reader2/include/xo/reader2/DDefineSsm.hpp +++ b/xo-reader2/include/xo/reader2/DDefineSsm.hpp @@ -127,6 +127,12 @@ namespace xo { void on_if_token(const Token & tk, ParserStateMachine * p_psm); + /** update state for this syntax on incoming colon token @p tk, + * overall parser state in @p p_psm + **/ + void on_colon_token(const Token & tk, + ParserStateMachine * p_psm); + /** update state for this syntax after parsing a symbol @p sym; * overall parser state in @p p_psm **/ diff --git a/xo-reader2/include/xo/reader2/DExpectSymbolSsm.hpp b/xo-reader2/include/xo/reader2/DExpectSymbolSsm.hpp index 2ecc556d..1854486e 100644 --- a/xo-reader2/include/xo/reader2/DExpectSymbolSsm.hpp +++ b/xo-reader2/include/xo/reader2/DExpectSymbolSsm.hpp @@ -69,6 +69,12 @@ namespace xo { void on_if_token(const Token & tk, ParserStateMachine * p_psm); + /** update state for this syntax on incoming colon token @p tk, + * overall parser state in @p p_psm + **/ + void on_colon_token(const Token & tk, + ParserStateMachine * p_psm); + /** update state for this syntax after parsing a symbol @p sym; * overall parser state in @p p_psm. * diff --git a/xo-reader2/include/xo/reader2/DExprSeqState.hpp b/xo-reader2/include/xo/reader2/DExprSeqState.hpp index 32eaef0f..90c69c5f 100644 --- a/xo-reader2/include/xo/reader2/DExprSeqState.hpp +++ b/xo-reader2/include/xo/reader2/DExprSeqState.hpp @@ -79,6 +79,11 @@ namespace xo { **/ void on_if_token(const Token & tk, ParserStateMachine * p_psm); + /** update state for this syntax on incoming colon token @p tk, + * overall parser state in @p p_psm + **/ + void on_colon_token(const Token & tk, ParserStateMachine * p_psm); + /** update state for this syntax on parsed symbol @p sym * from immediately-downstream ssm. * overall parser state in @p p_psm diff --git a/xo-reader2/src/reader2/DDefineSsm.cpp b/xo-reader2/src/reader2/DDefineSsm.cpp index c1e3f6a9..13b99028 100644 --- a/xo-reader2/src/reader2/DDefineSsm.cpp +++ b/xo-reader2/src/reader2/DDefineSsm.cpp @@ -498,6 +498,15 @@ namespace xo { this->get_expect_str()); } + void + DDefineSsm::on_colon_token(const Token & tk, + ParserStateMachine * p_psm) + { + p_psm->illegal_input_on_token("DDefineSsm::on_colon_token", + tk, + this->get_expect_str()); + } + bool DDefineSsm::pretty(const ppindentinfo & ppii) const { diff --git a/xo-reader2/src/reader2/DExpectSymbolSsm.cpp b/xo-reader2/src/reader2/DExpectSymbolSsm.cpp index c859528f..1eccc454 100644 --- a/xo-reader2/src/reader2/DExpectSymbolSsm.cpp +++ b/xo-reader2/src/reader2/DExpectSymbolSsm.cpp @@ -95,6 +95,15 @@ namespace xo { this->get_expect_str()); } + void + DExpectSymbolSsm::on_colon_token(const Token & tk, + ParserStateMachine * p_psm) + { + p_psm->illegal_input_on_token("DExpectSymbolSsm::on_colon_token", + tk, + this->get_expect_str()); + } + void DExpectSymbolSsm::on_parsed_symbol(std::string_view sym, ParserStateMachine * p_psm) diff --git a/xo-reader2/src/reader2/DExprSeqState.cpp b/xo-reader2/src/reader2/DExprSeqState.cpp index e994bbf1..6744c77d 100644 --- a/xo-reader2/src/reader2/DExprSeqState.cpp +++ b/xo-reader2/src/reader2/DExprSeqState.cpp @@ -160,6 +160,15 @@ namespace xo { } } + void + DExprSeqState::on_colon_token(const Token & tk, + ParserStateMachine * p_psm) + { + p_psm->illegal_input_on_token("DExprSeqState::on_colon_token", + tk, + this->get_expect_str()); + } + void DExprSeqState::on_parsed_symbol(std::string_view sym, ParserStateMachine * p_psm)