Hallo MB,
wo wir hier schon bei abstraktem Tooling angekommen sind - ein theoretischer Ansatz an das Problem kann darin bestehen, ANTLR zu verwenden. Das ist tatsächlich ein Parser Generator. Du definierst die Sprache, die er verstehen soll, und bekommst einen Syntaxbaum geliefert.
ANTLR selbst ist in Java geschrieben, macht aber nichts, weil der schwere Teil von ANTLR das Umsetzen der BNF-artigen Definitionen in Parser-Regeln ist. Deren Umsetzung wird dann für die Einsatzsprache passend generiert, und da gibt's sehr viele Targets. PHP gehört dazu.
https://www.antlr.org/download.html
Ich habe ANTLR schon selbst benutzt, um im Büro eine kleines scriptfähiges Tool zu programmieren. Ich bin ohne ANTLR und mit REGEXen gestartet, und merkte schnell, dass ich mir die Finger dabei abbrach. Mit ANTLR ertappte ich mich ständig dabei, noch ein Feature mehr einbauen zu wollen. Weil ich's konnte!
Rolf
sumpsi - posui - obstruxi