Invocation: Argument-spec evaluation sufficiently complete for now

Some additional tests to challenge the parser, which seems to work well.
Without extended analysis into the usage of those node specifications,
it is pointless to expand further on its capabilities. For now, it is
sufficient to have a foundation for hash-computation in place.

__Note__: found a nifty way to give lib::Several an easy toString rendering,
without cranking up the header inclusion load.
This commit is contained in:
Fischlurch 2025-02-02 17:22:16 +01:00
parent f6a2a641df
commit ead494e465
7 changed files with 118 additions and 51 deletions

View file

@ -188,12 +188,12 @@ namespace util {
* absolutely generic (In fact that was the reason why I * absolutely generic (In fact that was the reason why I
* gave up and just rolled our own `join` utility) * gave up and just rolled our own `join` utility)
*/ */
template<class CON> template<class COLL>
inline string inline string
join (CON&& coll, string const& delim =", ") join (COLL&& coll, string const& delim =", ")
{ {
using Coll = typename lib::meta::Strip<CON>::TypePlain; using Coll = typename lib::meta::Strip<COLL>::TypePlain;
_RangeIter<Coll> range(std::forward<CON>(coll)); // copies when CON is reference _RangeIter<Coll> range(std::forward<COLL>(coll)); // copies when CON is reference
auto strings = stringify (std::move (range.iter)); auto strings = stringify (std::move (range.iter));
if (!strings) return ""; if (!strings) return "";
@ -242,5 +242,22 @@ namespace util {
} }
/** one-argument variant that can be forward declared... */
template<class COLL>
inline string
toStringParen (COLL&& coll)
{
return "("+join (forward<COLL> (coll))+")";
}
template<class COLL>
inline string
toStringBracket (COLL&& coll)
{
return "["+join (forward<COLL> (coll))+"]";
}
} // namespace util } // namespace util
#endif /*LIB_FORMAT_UTIL_H*/ #endif /*LIB_FORMAT_UTIL_H*/

View file

@ -57,6 +57,10 @@
#include <cstddef> #include <cstddef>
#include <functional> #include <functional>
namespace util {
template<class COLL>
std::string toStringBracket (COLL&& coll);
}
namespace lib { namespace lib {
@ -179,6 +183,9 @@ namespace lib {
return *this; return *this;
} }
explicit
operator std::string() const;
size_t size_t
size() const size() const
{ {
@ -248,5 +255,13 @@ namespace lib {
}; };
/** generic string rendering delegated to `util::toString(elm)` */
template<class I>
inline
Several<I>::operator std::string() const
{
return util::toStringBracket (*this);
}
} // namespace lib } // namespace lib
#endif #endif

View file

@ -322,7 +322,7 @@ namespace engine {
ProcID::ArgModel ProcID::ArgModel
ProcID::genArgModel() ProcID::genArgModel()
{ {
auto argListSyntax = accept_bracket(accept_repeated(COMMA, specTermSyntax)); auto argListSyntax = accept_bracket(accept_repeated(0,MAX_NODE_ARG, COMMA, specTermSyntax));
auto argSpecSyntax = accept(argListSyntax) auto argSpecSyntax = accept(argListSyntax)
.opt(argListSyntax) .opt(argListSyntax)
.bind([](auto model) -> ProcID::ArgModel .bind([](auto model) -> ProcID::ArgModel

View file

@ -129,6 +129,12 @@ namespace engine {
using OptionalBuff = std::optional<BuffHandle>; using OptionalBuff = std::optional<BuffHandle>;
/** arbitrary safety limit on fain-in / fan-out
* @note expect lower limits in practice caused by AllocationCluster */
const size_t MAX_NODE_ARG = LUMIERA_MAX_ORDINAL_NUMBER / 2;
class Port class Port
: util::NonCopyable : util::NonCopyable
{ {

View file

@ -34,7 +34,7 @@ namespace engine{
namespace test { namespace test {
using std::abs; using std::abs;
using util::join; // using util::join;
@ -51,8 +51,8 @@ namespace test {
} }
/** @test TODO evaluation of processing-spec for a ProcID /** @test evaluation of processing-spec for a ProcID
* @todo WIP 1/25 🔁 define ⟶ 🔁 implement * @todo 1/25 ✔ define ⟶ ✔ implement
*/ */
void void
verify_ID_specification() verify_ID_specification()
@ -82,24 +82,34 @@ namespace test {
ProcID::ArgModel arg1 = p1.genArgModel(); ProcID::ArgModel arg1 = p1.genArgModel();
ProcID::ArgModel arg2 = p2.genArgModel(); ProcID::ArgModel arg2 = p2.genArgModel();
ProcID::ArgModel arg3 = p3.genArgModel(); ProcID::ArgModel arg3 = p3.genArgModel();
SHOW_EXPR(join (arg1.iArg)) CHECK (not arg1.hasInArgs());
SHOW_EXPR(join (arg1.oArg)) CHECK (not arg2.hasInArgs());
SHOW_EXPR(join (arg2.iArg)) CHECK (arg1.outArity() == 1);
SHOW_EXPR(join (arg2.oArg)) CHECK (arg2.outArity() == 2);
SHOW_EXPR(join (arg3.iArg)) CHECK (arg3.outArity() == 3);
SHOW_EXPR(join (arg3.oArg)) CHECK (arg3.inArity() == 3);
CHECK (join (arg1.iArg) == ""_expect ); CHECK (arg1.iArg == "[]"_expect );
CHECK (join (arg1.oArg) == "arg"_expect ); // only one argument list -> used for output CHECK (arg1.oArg == "[arg]"_expect ); // only one argument list -> used for output
CHECK (join (arg2.iArg) == ""_expect ); CHECK (arg2.iArg == "[]"_expect );
CHECK (join (arg2.oArg) == "a1, a2"_expect ); CHECK (arg2.oArg == "[a1, a2]"_expect );
CHECK (join (arg3.iArg) == "in, in, in"_expect ); // repetition-abbreviation of arguments unfolded CHECK (arg3.iArg == "[in, in, in]"_expect ); // repetition-abbreviation of arguments unfolded
CHECK (join (arg3.oArg) == "o1, o2, o2"_expect ); CHECK (arg3.oArg == "[o1, o2, o2]"_expect );
UNIMPLEMENTED ("parse and evaluate");
// give the spec-parser a rough time....
string nastySpec = "(\":-)\"/2,std::tuple<short,long>/3,{oh,RLY?}/2,\\\")";
auto hairyModel = ProcID::describe("○", nastySpec).genArgModel();
CHECK (hairyModel.outArity() == 8);
CHECK (hairyModel.inArity() == 0);
CHECK (hairyModel.oArg == "[\":-)\", \":-)\", "
"std::tuple<short,long>, "
"std::tuple<short,long>, "
"std::tuple<short,long>, "
"{oh,RLY?}, {oh,RLY?}, \\\"]"_expect);
} }
/** @test TODO aspects of node definition relevant for the ProcID /** @test TODO aspects of node definition relevant for the ProcID
* @todo WIP 1/25 🔁 define ⟶ implement * @todo WIP 2/25 🔁 define ⟶ implement
*/ */
void void
verify_ID_properties() verify_ID_properties()

View file

@ -36,6 +36,7 @@ using std::array;
using lib::explore; using lib::explore;
using util::isLimited; using util::isLimited;
using util::toString;
using util::isnil; using util::isnil;
using util::join; using util::join;
@ -161,6 +162,7 @@ namespace test{
CHECK (elms.back() == 13); CHECK (elms.back() == 13);
CHECK (elms[3] == 3); CHECK (elms[3] == 3);
CHECK (join (elms,"-") == "1-1-2-3-5-8-13"_expect); CHECK (join (elms,"-") == "1-1-2-3-5-8-13"_expect);
CHECK (toString(elms) == "[1, 1, 2, 3, 5, 8, 13]"_expect);
} }

View file

@ -105306,8 +105306,8 @@ StM_bind(Builder&lt;R1&gt; b1, Extension&lt;R1,R2&gt; extension)
<icon BUILTIN="button_ok"/> <icon BUILTIN="button_ok"/>
</node> </node>
</node> </node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1736632825326" ID="ID_445490716" MODIFIED="1736632833373" TEXT="Argumentlisten aufschl&#xfc;sseln"> <node COLOR="#338800" CREATED="1736632825326" ID="ID_445490716" MODIFIED="1738516465242" TEXT="Argumentlisten aufschl&#xfc;sseln">
<icon BUILTIN="flag-yellow"/> <icon BUILTIN="button_ok"/>
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1738288578828" ID="ID_1600745522" MODIFIED="1738288973161" TEXT="Wozu?"> <node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1738288578828" ID="ID_1600745522" MODIFIED="1738288973161" TEXT="Wozu?">
<linktarget COLOR="#4416dc" DESTINATION="ID_1600745522" ENDARROW="Default" ENDINCLINATION="-224;60;" ID="Arrow_ID_1199285145" SOURCE="ID_786613770" STARTARROW="None" STARTINCLINATION="183;0;"/> <linktarget COLOR="#4416dc" DESTINATION="ID_1600745522" ENDARROW="Default" ENDINCLINATION="-224;60;" ID="Arrow_ID_1199285145" SOURCE="ID_786613770" STARTARROW="None" STARTINCLINATION="183;0;"/>
<icon BUILTIN="info"/> <icon BUILTIN="info"/>
@ -105341,9 +105341,13 @@ StM_bind(Builder&lt;R1&gt; b1, Extension&lt;R1,R2&gt; extension)
</body> </body>
</html></richcontent> </html></richcontent>
</node> </node>
<node CREATED="1738510255777" ID="ID_669885653" MODIFIED="1738510336552" TEXT="nur wenige Zugriffe hierauf direkt aus dem Render-Vorgang">
<arrowlink COLOR="#496cc8" DESTINATION="ID_981290324" ENDARROW="Default" ENDINCLINATION="-1004;-71;" ID="Arrow_ID_356560538" STARTARROW="None" STARTINCLINATION="410;19;"/>
<icon BUILTIN="idea"/>
</node> </node>
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1736632885429" ID="ID_1285666886" MODIFIED="1736633401873" TEXT="in Input / Output-Teil zerlegen"> </node>
<icon BUILTIN="flag-pink"/> <node COLOR="#338800" CREATED="1736632885429" ID="ID_1285666886" MODIFIED="1738516458294" TEXT="in Input / Output-Teil zerlegen">
<icon BUILTIN="button_ok"/>
<node CREATED="1736637886757" ID="ID_1642918073" MODIFIED="1736637912343" TEXT="Mist! mu&#xdf; Klammerung parsen"/> <node CREATED="1736637886757" ID="ID_1642918073" MODIFIED="1736637912343" TEXT="Mist! mu&#xdf; Klammerung parsen"/>
<node CREATED="1736638440539" ID="ID_764410464" MODIFIED="1736638458389" TEXT="ja dann &#x2014; werden wir gliech parsen!"> <node CREATED="1736638440539" ID="ID_764410464" MODIFIED="1736638458389" TEXT="ja dann &#x2014; werden wir gliech parsen!">
<node COLOR="#5b280f" CREATED="1736645265951" ID="ID_1649012023" MODIFIED="1736715480639" TEXT="NICHT eine Library verwenden"> <node COLOR="#5b280f" CREATED="1736645265951" ID="ID_1649012023" MODIFIED="1736715480639" TEXT="NICHT eine Library verwenden">
@ -105386,6 +105390,7 @@ StM_bind(Builder&lt;R1&gt; b1, Extension&lt;R1,R2&gt; extension)
<node CREATED="1738092795598" ID="ID_461276578" MODIFIED="1738285081902" TEXT="uuuuund ... kaum wart&apos; ma zwei Wochen, schon k&#xf6;nnen &#x201e;wir&#x201c; das"> <node CREATED="1738092795598" ID="ID_461276578" MODIFIED="1738285081902" TEXT="uuuuund ... kaum wart&apos; ma zwei Wochen, schon k&#xf6;nnen &#x201e;wir&#x201c; das">
<arrowlink COLOR="#996494" DESTINATION="ID_1363201028" ENDARROW="Default" ENDINCLINATION="-20;-32;" ID="Arrow_ID_621419348" STARTARROW="None" STARTINCLINATION="132;6;"/> <arrowlink COLOR="#996494" DESTINATION="ID_1363201028" ENDARROW="Default" ENDINCLINATION="-20;-32;" ID="Arrow_ID_621419348" STARTARROW="None" STARTINCLINATION="132;6;"/>
<linktarget COLOR="#2469a2" DESTINATION="ID_461276578" ENDARROW="Default" ENDINCLINATION="1338;-36;" ID="Arrow_ID_1078242662" SOURCE="ID_195611513" STARTARROW="Default" STARTINCLINATION="1743;85;"/> <linktarget COLOR="#2469a2" DESTINATION="ID_461276578" ENDARROW="Default" ENDINCLINATION="1338;-36;" ID="Arrow_ID_1078242662" SOURCE="ID_195611513" STARTARROW="Default" STARTINCLINATION="1743;85;"/>
<linktarget COLOR="#4690c4" DESTINATION="ID_461276578" ENDARROW="Default" ENDINCLINATION="-782;31;" ID="Arrow_ID_774773700" SOURCE="ID_537165384" STARTARROW="None" STARTINCLINATION="-239;-11;"/>
<icon BUILTIN="smily_bad"/> <icon BUILTIN="smily_bad"/>
</node> </node>
</node> </node>
@ -105427,9 +105432,10 @@ StM_bind(Builder&lt;R1&gt; b1, Extension&lt;R1,R2&gt; extension)
</node> </node>
</node> </node>
</node> </node>
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1738332756317" ID="ID_908054156" MODIFIED="1738365016846" TEXT="Argument-Auswertung implementieren"> <node COLOR="#338800" CREATED="1738332756317" ID="ID_908054156" MODIFIED="1738516455105" TEXT="Argument-Auswertung implementieren">
<icon BUILTIN="pencil"/> <icon BUILTIN="button_ok"/>
<node CREATED="1738332766392" ID="ID_1638579640" MODIFIED="1738332770822" TEXT="Code-Anordnung"> <node COLOR="#435e98" CREATED="1738332766392" ID="ID_1638579640" MODIFIED="1738516477005" TEXT="Code-Anordnung">
<icon BUILTIN="yes"/>
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1738332780351" ID="ID_1622923755" MODIFIED="1738335786356" TEXT="aus ProcNode.hpp heraushalten"> <node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1738332780351" ID="ID_1622923755" MODIFIED="1738335786356" TEXT="aus ProcNode.hpp heraushalten">
<icon BUILTIN="messagebox_warning"/> <icon BUILTIN="messagebox_warning"/>
</node> </node>
@ -105496,7 +105502,7 @@ StM_bind(Builder&lt;R1&gt; b1, Extension&lt;R1,R2&gt; extension)
<node COLOR="#338800" CREATED="1738347757673" ID="ID_343200211" MODIFIED="1738347794623" TEXT="es gibt noch kein fill-by-move &#x27f9; nachr&#xfc;sten"> <node COLOR="#338800" CREATED="1738347757673" ID="ID_343200211" MODIFIED="1738347794623" TEXT="es gibt noch kein fill-by-move &#x27f9; nachr&#xfc;sten">
<icon BUILTIN="button_ok"/> <icon BUILTIN="button_ok"/>
</node> </node>
<node COLOR="#338800" CREATED="1738347797563" ID="ID_128830147" MODIFIED="1738364972902" TEXT="const Element-Typ macht Probleme"> <node COLOR="#338800" CREATED="1738347797563" FOLDED="true" ID="ID_128830147" MODIFIED="1738364972902" TEXT="const Element-Typ macht Probleme">
<icon BUILTIN="button_ok"/> <icon BUILTIN="button_ok"/>
<node COLOR="#435e98" CREATED="1738347812806" ID="ID_248989693" MODIFIED="1738364970007" TEXT="reinterpret-cast macht keinen const-cast"> <node COLOR="#435e98" CREATED="1738347812806" ID="ID_248989693" MODIFIED="1738364970007" TEXT="reinterpret-cast macht keinen const-cast">
<node CREATED="1738347833854" ID="ID_1340813798" MODIFIED="1738347845378" TEXT="hey... was soll das??"> <node CREATED="1738347833854" ID="ID_1340813798" MODIFIED="1738347845378" TEXT="hey... was soll das??">
@ -105511,8 +105517,10 @@ StM_bind(Builder&lt;R1&gt; b1, Extension&lt;R1,R2&gt; extension)
</node> </node>
</node> </node>
<node COLOR="#435e98" CREATED="1738348359719" ID="ID_968746797" MODIFIED="1738364967687" TEXT="seltsame Probleme mit dem Allokator"> <node COLOR="#435e98" CREATED="1738348359719" ID="ID_968746797" MODIFIED="1738364967687" TEXT="seltsame Probleme mit dem Allokator">
<node CREATED="1738348393499" ID="ID_536251182" MODIFIED="1738361405248" TEXT="Spezialisierung ist wohl nur f&#xfc;r non-CV definiert"/> <node CREATED="1738348393499" ID="ID_536251182" MODIFIED="1738510032644" TEXT="Spezialisierung ist wohl nur f&#xfc;r non-CV definiert">
<node CREATED="1738348411361" ID="ID_404478938" MODIFIED="1738348444571" TEXT="also CV automatisch vom Typ entfernen"> <icon BUILTIN="messagebox_warning"/>
</node>
<node CREATED="1738348411361" FOLDED="true" ID="ID_404478938" MODIFIED="1738348444571" TEXT="also CV automatisch vom Typ entfernen">
<node COLOR="#435e98" CREATED="1738348446044" ID="ID_1406523831" MODIFIED="1738361998554" TEXT="will nicht funktionieren"> <node COLOR="#435e98" CREATED="1738348446044" ID="ID_1406523831" MODIFIED="1738361998554" TEXT="will nicht funktionieren">
<icon BUILTIN="messagebox_warning"/> <icon BUILTIN="messagebox_warning"/>
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1738348458226" ID="ID_59165298" MODIFIED="1738361926851" TEXT="mismatch mit new_allocator, der einen Basis-Allocator per Pointer nimmt"> <node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1738348458226" ID="ID_59165298" MODIFIED="1738361926851" TEXT="mismatch mit new_allocator, der einen Basis-Allocator per Pointer nimmt">
@ -105539,7 +105547,9 @@ StM_bind(Builder&lt;R1&gt; b1, Extension&lt;R1,R2&gt; extension)
</node> </node>
</node> </node>
</node> </node>
<node CREATED="1738362009001" ID="ID_1270461864" MODIFIED="1738362022913" TEXT="damit geht&apos;s kann einen const-String von non-const-String initialisieren"/> <node COLOR="#338800" CREATED="1738362009001" ID="ID_1270461864" MODIFIED="1738510045093" TEXT="damit geht&apos;s: kann einen const-String von non-const-String initialisieren">
<icon BUILTIN="button_ok"/>
</node>
</node> </node>
<node COLOR="#435e98" CREATED="1738364889035" ID="ID_1815714742" MODIFIED="1738364963180" TEXT="Destruktor kann nicht festgestellt werden"> <node COLOR="#435e98" CREATED="1738364889035" ID="ID_1815714742" MODIFIED="1738364963180" TEXT="Destruktor kann nicht festgestellt werden">
<node CREATED="1738364904359" ID="ID_1913087416" MODIFIED="1738364944225" TEXT="liegt ebenfalls an CV"> <node CREATED="1738364904359" ID="ID_1913087416" MODIFIED="1738364944225" TEXT="liegt ebenfalls an CV">
@ -105563,9 +105573,9 @@ StM_bind(Builder&lt;R1&gt; b1, Extension&lt;R1,R2&gt; extension)
<node COLOR="#338800" CREATED="1738380589746" ID="ID_180463287" MODIFIED="1738383244594" TEXT="aber alle RegExps statisch compilieren"> <node COLOR="#338800" CREATED="1738380589746" ID="ID_180463287" MODIFIED="1738383244594" TEXT="aber alle RegExps statisch compilieren">
<icon BUILTIN="button_ok"/> <icon BUILTIN="button_ok"/>
</node> </node>
<node COLOR="#338800" CREATED="1738380602321" ID="ID_103601413" MODIFIED="1738383242621" TEXT="au&#xdf;erdem: Builder-Funktion f&#xfc;r &lt;geklammerte sub-Spec&gt;"> <node COLOR="#338800" CREATED="1738380602321" FOLDED="true" ID="ID_103601413" MODIFIED="1738383242621" TEXT="au&#xdf;erdem: Builder-Funktion f&#xfc;r &lt;geklammerte sub-Spec&gt;">
<icon BUILTIN="button_ok"/> <icon BUILTIN="button_ok"/>
<node BACKGROUND_COLOR="#f8f1cb" COLOR="#a50125" CREATED="1738380625397" ID="ID_1784590181" MODIFIED="1738380638067" TEXT="Vorsicht: rekursive Klausel braucht dauerhafte Storage"> <node BACKGROUND_COLOR="#dec27a" COLOR="#a50125" CREATED="1738380625397" ID="ID_1784590181" MODIFIED="1738510079827" TEXT="Vorsicht: rekursive Klausel braucht dauerhafte Storage">
<icon BUILTIN="messagebox_warning"/> <icon BUILTIN="messagebox_warning"/>
</node> </node>
<node CREATED="1738380639585" ID="ID_600115874" MODIFIED="1738380655248" TEXT="verwende getemplatete Funktion und darin eine statische Variable"> <node CREATED="1738380639585" ID="ID_600115874" MODIFIED="1738380655248" TEXT="verwende getemplatete Funktion und darin eine statische Variable">
@ -105606,7 +105616,7 @@ StM_bind(Builder&lt;R1&gt; b1, Extension&lt;R1,R2&gt; extension)
</node> </node>
</node> </node>
</node> </node>
<node COLOR="#338800" CREATED="1736633780461" ID="ID_182647940" MODIFIED="1738463484410" TEXT="Repetitions-Spec /# ausfalten"> <node COLOR="#338800" CREATED="1736633780461" FOLDED="true" ID="ID_182647940" MODIFIED="1738510105016" TEXT="Repetitions-Spec /# ausfalten">
<icon BUILTIN="button_ok"/> <icon BUILTIN="button_ok"/>
<node CREATED="1738462844433" ID="ID_1445421658" MODIFIED="1738462904758" TEXT="nur sinnvoll mit &#xbb;schleppendem State&#xab; &#x27f9; Pipeline"> <node CREATED="1738462844433" ID="ID_1445421658" MODIFIED="1738462904758" TEXT="nur sinnvoll mit &#xbb;schleppendem State&#xab; &#x27f9; Pipeline">
<linktarget COLOR="#fbfac5" DESTINATION="ID_1445421658" ENDARROW="Default" ENDINCLINATION="-169;10;" ID="Arrow_ID_1592587071" SOURCE="ID_364619333" STARTARROW="None" STARTINCLINATION="135;14;"/> <linktarget COLOR="#fbfac5" DESTINATION="ID_1445421658" ENDARROW="Default" ENDINCLINATION="-169;10;" ID="Arrow_ID_1592587071" SOURCE="ID_364619333" STARTARROW="None" STARTINCLINATION="135;14;"/>
@ -105630,8 +105640,7 @@ StM_bind(Builder&lt;R1&gt; b1, Extension&lt;R1,R2&gt; extension)
...wenn man's genau bedenkt: w&#228;re praktisch &#228;quivalent ...wenn man's genau bedenkt: w&#228;re praktisch &#228;quivalent
</p> </p>
</body> </body>
</html> </html></richcontent>
</richcontent>
</node> </node>
<node CREATED="1738463780753" ID="ID_202887229" MODIFIED="1738463807594" TEXT="w&#xe4;re nur sinnvoll wenn auch die String-Daten selber im Several liegen"/> <node CREATED="1738463780753" ID="ID_202887229" MODIFIED="1738463807594" TEXT="w&#xe4;re nur sinnvoll wenn auch die String-Daten selber im Several liegen"/>
<node COLOR="#5b280f" CREATED="1738463809678" ID="ID_1945186564" MODIFIED="1738463827762" TEXT="hier aber Several nur wegen dem API verwendet"> <node COLOR="#5b280f" CREATED="1738463809678" ID="ID_1945186564" MODIFIED="1738463827762" TEXT="hier aber Several nur wegen dem API verwendet">
@ -105653,15 +105662,14 @@ StM_bind(Builder&lt;R1&gt; b1, Extension&lt;R1,R2&gt; extension)
in einer LL-Syntax kann man nicht mit einer optionalen Struktur beginnen, die sich erst im R&#252;ckblick auf die ganze Zeile aufkl&#228;rt in einer LL-Syntax kann man nicht mit einer optionalen Struktur beginnen, die sich erst im R&#252;ckblick auf die ganze Zeile aufkl&#228;rt
</p> </p>
</body> </body>
</html> </html></richcontent>
</richcontent>
</node> </node>
</node> </node>
</node> </node>
</node> </node>
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1736632908578" ID="ID_1359149203" MODIFIED="1736633401873" TEXT="Token-Sequenz generieren"> <node COLOR="#338800" CREATED="1736632908578" ID="ID_1359149203" MODIFIED="1738510154732" TEXT="Argument-Token-Sequenz bereitstellen">
<icon BUILTIN="flag-pink"/> <icon BUILTIN="button_ok"/>
<node COLOR="#5b280f" CREATED="1736633418536" ID="ID_1128683976" MODIFIED="1738280806304" TEXT="Regular-Expressions (nach Schema-F)"> <node COLOR="#5b280f" CREATED="1736633418536" FOLDED="true" ID="ID_1128683976" MODIFIED="1738280806304" TEXT="Regular-Expressions (nach Schema-F)">
<richcontent TYPE="NOTE"><html> <richcontent TYPE="NOTE"><html>
<head/> <head/>
<body> <body>
@ -105705,8 +105713,9 @@ StM_bind(Builder&lt;R1&gt; b1, Extension&lt;R1,R2&gt; extension)
</html></richcontent> </html></richcontent>
</node> </node>
</node> </node>
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1736633797874" ID="ID_266262938" MODIFIED="1738449408813" TEXT="Token-Pipeline aufbauen"> <node COLOR="#435e98" CREATED="1736633797874" FOLDED="true" ID="ID_266262938" MODIFIED="1738510368439" TEXT="Token-Pipeline aufbauen">
<icon BUILTIN="help"/> <icon BUILTIN="help"/>
<icon BUILTIN="button_ok"/>
<node COLOR="#5b280f" CREATED="1736633850189" ID="ID_187292513" MODIFIED="1736633861182" TEXT="k&#xf6;nnte ein Expander sein"> <node COLOR="#5b280f" CREATED="1736633850189" ID="ID_187292513" MODIFIED="1736633861182" TEXT="k&#xf6;nnte ein Expander sein">
<icon BUILTIN="stop-sign"/> <icon BUILTIN="stop-sign"/>
<node COLOR="#5b280f" CREATED="1736633863015" ID="ID_1166752601" MODIFIED="1736633908235" TEXT="unn&#xf6;tig komplex"> <node COLOR="#5b280f" CREATED="1736633863015" ID="ID_1166752601" MODIFIED="1736633908235" TEXT="unn&#xf6;tig komplex">
@ -105754,8 +105763,7 @@ StM_bind(Builder&lt;R1&gt; b1, Extension&lt;R1,R2&gt; extension)
Pipeline zum Aufbereiten der Argumente an Pipeline zum Aufbereiten der Argumente an
</p> </p>
</body> </body>
</html> </html></richcontent>
</richcontent>
<richcontent TYPE="NOTE"><html> <richcontent TYPE="NOTE"><html>
<head/> <head/>
<body> <body>
@ -105769,13 +105777,13 @@ StM_bind(Builder&lt;R1&gt; b1, Extension&lt;R1,R2&gt; extension)
Aber trotzdem immer noch nicht der leiseste Hauch von Erinnerung, was ich damals gemeint habe.... Aber trotzdem immer noch nicht der leiseste Hauch von Erinnerung, was ich damals gemeint habe....
</p> </p>
</body> </body>
</html> </html></richcontent>
</richcontent>
<arrowlink COLOR="#fbfac5" DESTINATION="ID_1445421658" ENDARROW="Default" ENDINCLINATION="-169;10;" ID="Arrow_ID_1592587071" STARTARROW="None" STARTINCLINATION="135;14;"/> <arrowlink COLOR="#fbfac5" DESTINATION="ID_1445421658" ENDARROW="Default" ENDINCLINATION="-169;10;" ID="Arrow_ID_1592587071" STARTARROW="None" STARTINCLINATION="135;14;"/>
<icon BUILTIN="idea"/> <icon BUILTIN="idea"/>
</node> </node>
</node> </node>
<node CREATED="1738280786811" ID="ID_1355841919" MODIFIED="1738280796189" TEXT="also dann doch richtig parsen"> <node BACKGROUND_COLOR="#c8c0b6" COLOR="#435e98" CREATED="1738280786811" ID="ID_1355841919" MODIFIED="1738510129372" TEXT="also dann doch richtig parsen">
<icon BUILTIN="yes"/>
<node CREATED="1738281073002" ID="ID_537165384" MODIFIED="1738281158036" TEXT="schon beim Zerlegen in Input/Output bin ich auf diese Probleme gesto&#xdf;en &#x2014;"> <node CREATED="1738281073002" ID="ID_537165384" MODIFIED="1738281158036" TEXT="schon beim Zerlegen in Input/Output bin ich auf diese Probleme gesto&#xdf;en &#x2014;">
<richcontent TYPE="NOTE"><html> <richcontent TYPE="NOTE"><html>
<head/> <head/>
@ -105785,11 +105793,14 @@ StM_bind(Builder&lt;R1&gt; b1, Extension&lt;R1,R2&gt; extension)
</p> </p>
</body> </body>
</html></richcontent> </html></richcontent>
<arrowlink COLOR="#4690c4" DESTINATION="ID_461276578" ENDARROW="Default" ENDINCLINATION="-782;31;" ID="Arrow_ID_774773700" STARTARROW="None" STARTINCLINATION="-239;-11;"/>
</node> </node>
<node CREATED="1738281326205" ID="ID_1746479195" MODIFIED="1738281816880" TEXT="per Parse kann man aber auch gleich ein Modell erzeugen"> <node COLOR="#435e98" CREATED="1738281326205" FOLDED="true" ID="ID_1746479195" MODIFIED="1738510360943" TEXT="per Parse kann man aber auch gleich ein Modell erzeugen">
<icon BUILTIN="idea"/>
<node CREATED="1738281820274" ID="ID_1616091691" MODIFIED="1738281831902" TEXT="ist die Frage ob das hier sinnvoll ist"/> <node CREATED="1738281820274" ID="ID_1616091691" MODIFIED="1738281831902" TEXT="ist die Frage ob das hier sinnvoll ist"/>
<node CREATED="1738281832897" ID="ID_1679825734" MODIFIED="1738281848598" TEXT="alternativ k&#xf6;nnte man auch x-mal immer wieder parsen"/> <node CREATED="1738281832897" ID="ID_1679825734" MODIFIED="1738281848598" TEXT="alternativ k&#xf6;nnte man auch x-mal immer wieder parsen"/>
<node COLOR="#435e98" CREATED="1738282103267" ID="ID_981290324" MODIFIED="1738288404860" TEXT="was f&#xfc;r Zugriffe w&#xe4;ren denn regelm&#xe4;&#xdf;ig zu erwarten"> <node COLOR="#435e98" CREATED="1738282103267" ID="ID_981290324" MODIFIED="1738510336553" TEXT="was f&#xfc;r Zugriffe w&#xe4;ren denn regelm&#xe4;&#xdf;ig zu erwarten">
<linktarget COLOR="#496cc8" DESTINATION="ID_981290324" ENDARROW="Default" ENDINCLINATION="-1004;-71;" ID="Arrow_ID_356560538" SOURCE="ID_669885653" STARTARROW="None" STARTINCLINATION="410;19;"/>
<icon BUILTIN="help"/> <icon BUILTIN="help"/>
<node CREATED="1738282122522" ID="ID_1638205904" MODIFIED="1738282141735" TEXT="(also nicht im Test, sondern beim Rendern)"> <node CREATED="1738282122522" ID="ID_1638205904" MODIFIED="1738282141735" TEXT="(also nicht im Test, sondern beim Rendern)">
<font NAME="SansSerif" SIZE="10"/> <font NAME="SansSerif" SIZE="10"/>
@ -105821,6 +105832,12 @@ StM_bind(Builder&lt;R1&gt; b1, Extension&lt;R1,R2&gt; extension)
<arrowlink COLOR="#578494" DESTINATION="ID_891035798" ENDARROW="Default" ENDINCLINATION="46;331;" ID="Arrow_ID_982442559" STARTARROW="None" STARTINCLINATION="13;-499;"/> <arrowlink COLOR="#578494" DESTINATION="ID_891035798" ENDARROW="Default" ENDINCLINATION="46;331;" ID="Arrow_ID_982442559" STARTARROW="None" STARTINCLINATION="13;-499;"/>
</node> </node>
</node> </node>
<node COLOR="#338800" CREATED="1738510158791" ID="ID_669059834" MODIFIED="1738510216078" TEXT="vorerst gen&#xfc;gt dieses Modell">
<icon BUILTIN="yes"/>
<node CREATED="1738510170918" ID="ID_682975289" MODIFIED="1738510182534" TEXT="einzelne Argumente als const string"/>
<node CREATED="1738510183559" ID="ID_1893767765" MODIFIED="1738510193944" TEXT="liegen in zwei lib::Several&lt;const string&gt; bereit"/>
<node CREATED="1738510196195" ID="ID_87820153" MODIFIED="1738510203364" TEXT="ein paar Auswertungsfunktionen dazu"/>
</node>
</node> </node>
</node> </node>
<node COLOR="#5b280f" CREATED="1736632937502" ID="ID_461312539" MODIFIED="1736632988969" TEXT="Reduktion machen wir nicht"> <node COLOR="#5b280f" CREATED="1736632937502" ID="ID_461312539" MODIFIED="1736632988969" TEXT="Reduktion machen wir nicht">