6 Commits

Author SHA1 Message Date
paulhorn 5efc5fccff docs: CLion-Abschnitt um die tatsaechliche Loesungsreihenfolge ergaenzen
Der Einzeldatei-Modus (CppFileRunConfiguration) war der zaeheste Teil: er
uebersetzt ohne -I und -std und sieht wie ein Projektfehler aus.

Ausserdem als beobachtete Tatsache statt Theorie: CLions 'Reset Cache and
Reload Project' hat die CMakeCache.txt in build/debug geloescht, weil die
angelegten Preset-Profile dorthin zeigen -- auch deaktiviert. ctest lief
danach weiter, nur cmake --build brach ab.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-30 18:47:34 +02:00
paulhorn 2c21df4be0 docs: CLion-Abschnitt in CMAKE.md, cmake-build-* ignorieren
Die Meldung 'This file does not belong to any project target' kommt nicht
vom CMakeLists.txt: die File API ordnet calculator.hpp korrekt dem Target
pda zu (LIBPDA_HEADERS geht an add_library). CLion hatte nur kein Modell.

Dokumentiert dazu die Falle, dass eine aus dem Dock gestartete GUI die PATH
aus .zprofile nicht erbt -- 'CMAKE_C_COMPILER: clang' loest dort auf Apple
clang auf, im Terminal auf Homebrew-LLVM. Da binaryDir in beiden Faellen
build/debug ist, gewinnt lautlos, wer zuerst konfiguriert.

.gitignore deckte /build/ ab, aber nicht CLions Default cmake-build-<profil>/
im Wurzelverzeichnis.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-30 18:22:19 +02:00
paulhorn db41258d16 feat: PDA als libpda + pda nach P1204R0
Ersetzt das Geruest (counter/notebook) durch ein echtes Beispiel und teilt
es in zwei eigenstaendige Projekte, wie P1204R0 es fuer Bibliothek plus
Programm verlangt.

libpda: textfile (C, Datei-I/O und Feld-Escaping), calculator
(Recursive-Descent-Parser mit std::expected), contact, editor, explorer.
Exportiert pda::pda ueber install(EXPORT) und ist per find_package(pda)
benutzbar.

pda: Shell ohne Ein-/Ausgabe (execute() gibt Text zurueck, deshalb ohne
Terminal testbar), REPL und Stapelbetrieb in main.cpp.

examples/consumer und tools/check-install.sh pruefen die Export-Kette
Ende-zu-Ende: installieren, dann ein fremdes Projekt dagegen bauen.

docs/CMAKE.md erklaert das Target-Modell, PUBLIC/PRIVATE/INTERFACE,
Generator-Ausdruecke, install/export und Symbolsichtbarkeit an diesem
Projekt.

71 Tests gruen unter Homebrew-clang 22, Apple clang und GCC 16, statisch
und shared, mit und ohne ASan/UBSan.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-30 16:39:35 +02:00
paulhorn da43859b97 feat: Projektstruktur nach P1204R0
Layout, Build und Konventionen analog zu mydb und cxx_scaffold_cli:
Header und Quellen nebeneinander in playground/, Unit-Tests als
.test.c/.test.cpp daneben, Integrationstests in tests/.

Geruest-Module counter (C, Unity) und notebook (C++, doctest) zeigen
jede Regel einmal an lauffaehigem Code.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-30 16:07:03 +02:00
paulhorn 5b7117b2fa Initial commit 2026-08-30 16:06:57 +02:00
paulhorn c74c3a3f8a Initial commit 2026-08-30 15:57:44 +02:00