Beat: Wie baut man eigentlich einen Parser?

Beitrag lesen

Ein Parser ist immer abhängig von der Sprache, die er Parsen soll.
Bei mir können User im Formular Funktionen der Syntax [func:value] eingeben.
Die Funktionen erzeugen nicht nur HTML, sondern sind verschiedentlich mit Datenbank-Abfragen verbunden.

Das Prinzip dabei ist, das die Sprache in sich Konsistent bleiben muss. Sie soll aber den Autoren nicht daran hindern, normalen Text zu schreiben.
Wenn man mal keine Funktion schreiben will, gibt es dafür die Möglichkeit des Escapens. [ ].
Dadurch zwingt die meine Sprachsyntax viel weniger zu Linenoise als dies bei anderen Sprachen der Fall ist.

Ein kritisches Element ist meines Erachtens die die Abwägung zwischen Performance und Validierung.

Beispiel:
[paragraph:[head:Der Titel]]
würde invalides HTML erzeugen.

Die zweite Frage ist, ob ein Parser dauerhaft ersetzt, oder ob er das bei jeder Datanabfrage macht.
Während das erste sehr performant ist, ist das letztere sehr flexibel.
Bei mir wird letzteres angewendet.
Weil jedoch einige Berechnungen dermassen intensiv sein können (Zum Beispiel, wenn Bibelcodes Präsentiert werden), werden Ergebnisse gecacht.

mfg Beat

--
Selber klauen ist schöner!