Eine Community von Programmierbegeisterten hat eine eigene domänenspezifische Sprache (DSL) mithilfe von Makros entwickelt, die ähnlich wie die Do-Notation funktionaler Sprachen funktioniert. Dabei werden fortgeschrittene Präprozessorfunktionen genutzt. Das vorgestellte Projekt implementiert eine neue Technik zum Parsen von DSLs, die die Entwicklung weiterer DSLs auf dem C- und C++-Präprozessor erleichtern kann. Der Code im Repository ist in C++23 geschrieben und unter der MIT-Lizenz als Open Source verfügbar. Die Technik selbst lässt sich einfach im C-Präprozessor anwenden. // Ohne DSL: auto result = bind(mx, [&](auto x) { return bind(my, [&](auto y) { return make_value(x, y); }); }); // Mit DSL: auto result = DO( LET x IS(mx); LET y IS(my); return make_value(x, y); );
Source: opennet.ru