lumiera_/tests/library
Ichthyostega 860e2fa226 Library: investigate how to approach recursion
Allowing free recursion in grammars is the key enabling feature,
which allows to accept arbitrary complex structures (like numeric expressions).
It is however also the element which makes the task of parsing a challenging endeavour;
after weighting the arguments, I decided ''not to place the focus on advanced usage,''
yet to open a pathway towards representation of such grammars.

Essentially, I consider it acceptable to require some additional work by the user,
if arbitrary recursive grammars are desired; because this design relies on explicitly
given parse functions, we need to introduce some kind of indirection interface,
to allow ''declaring'' a recursive rule first and later to ''supply the definition,''
which obviously then will involve other rules (or itself) recursively.

This leads to a very ''nifty approach'' towards recursion: we require the user
to provide an ''explicit model type'' beforehand, which implies that this is a
simple type, that can be spelled out (no λ) — and so the user is also
''forced to augment the actual rule with a model-binding,'' thereby reducing
the structured return types from the parse into something simple and uniform.
The user ''has to do the hard work,'' but can ''exploit additional knowledge''
related to the specific use case.

All this framework needs to do then is to supply a `std::function`, using the
explicit return type given; everything else will still work as implemented,
since a `std::function` can always stand-in for any arbitrary λ.
2025-01-25 02:48:11 +01:00
..
advice Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
c-lib Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
diff Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
idi Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
meta Invocation: pave a way for more generic processing via ''type-sequence'' 2024-12-18 05:55:00 +01:00
query Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
stat Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
test Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
allocation-cluster-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
app-config-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
branch-case-test.cpp Library: test and documentation for the new variant-helper 2025-01-21 04:53:53 +01:00
builder-qualifier-support-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
cmdline-wrapper-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
custom-shared-ptr-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
del-stash-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
DIR_INFO re-arrange tests according to layer structure 2013-01-07 05:43:01 +01:00
exception-error-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
format-cout-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
format-helper-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
format-string-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
fun-hash-dispatch-test.cpp Invocation: define aspects of ProcID to cover 2025-01-11 17:05:53 +01:00
gnuplot-gen-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
hash-generator-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
hash-indexed-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
hash-standard-to-boost-bridge-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
helloworldtest.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
hetero-data-test.cpp Invocation: anchor data frame in TurnoutSystem 2024-12-29 01:17:06 +01:00
incidence-count-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
index-iter-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
ios-savepoint-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
item-wrapper-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
iter-adapter-stl-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
iter-adapter-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
iter-chain-search-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
iter-core-adapter-test.cpp Library: simplify state-core wrapper parameters 2024-11-26 23:22:46 +01:00
iter-cursor-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
iter-explorer-test.cpp Library: simplify state-core wrapper parameters 2024-11-26 23:22:46 +01:00
iter-queue-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
iter-source-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
iter-stack-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
iter-zip-test.cpp Library: simplify state-core wrapper parameters 2024-11-26 23:22:46 +01:00
itertools-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
lazy-init-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
life-cycle-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
linked-elements-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
multifact-argument-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
multifact-singleton-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
multifact-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
null-value-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
opaque-holder-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
opaque-unchecked-buffer-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
optional-ref-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
parse-test.cpp Library: investigate how to approach recursion 2025-01-25 02:48:11 +01:00
path-array-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
polymorphic-value-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
query-text-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
random-concurrent-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
random-draw-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
random-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
rational-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
ref-array-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
removefromsettest.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
replaceable-item-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
result-test.cpp Library: shorten display of unsigned types 2024-11-22 22:02:45 +01:00
scoped-collection-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
scoped-holder-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
scoped-holder-transfer-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
scoped-ptrvect-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
search-path-splitter-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
several-builder-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
simple-allocator-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
split-splice-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
sub-id-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
symbol-hashtable-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
symbol-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
sync-barrier-performance-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
sync-barrier-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
sync-classlock-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
sync-locking-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
sync-timedwait-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
sync-waiting-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
text-template-test.cpp Library: simplify state-core wrapper parameters 2024-11-26 23:22:46 +01:00
thread-wrapper-autonomous-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
thread-wrapper-join-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
thread-wrapper-lifecycle-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
thread-wrapper-self-recognition-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
thread-wrapper-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
typed-allocation-manager-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
unique-malloc-owner-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
util-collection-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
util-floordiv-test.cpp Library: shorten display of unsigned types 2024-11-22 22:02:45 +01:00
util-floorwrap-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
util-foreach-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
util-identity-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
util-parse-bool-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
util-sanitised-identifier-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
util-tuple-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
variant-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
vector-transfer-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
verb-function-dispatch-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
verb-visitor-dispatch-test.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00