Suche Hack für Board
-
Upps... habe wohl in der Zwischenzeit übersehen, dass es hier noch weiterging...
Falls Antworten noch interessant sein sollten:
Das Problem ist, dass Pregs im Allgemeinen kontextfrei sind. Das bedeutet, ein Ausdruck ist nicht in der Lage zu erkennen, in welcher Umgebung er sich befindet. Ein Kommentar kann also i.A. nicht wissen, ob er in einem String steht und ein String nicht, ob er in einem Kommentar steht usw. Mit Pregs kann man das nur umgehen, indem man die komplette (mögliche) Syntax - also C als Programmiersprache - als einen Ausdruck zusammenstellt. Ein Ding der Unmöglichkeit. Bei begerenzten "Sprachen" (wie z.B. den Tags von Smarty) lässt sich soetwas noch bewerkstelligen.
Der einzige andere Ausweg ist, wie du dir wahrscheinlich schon denken kannst, ein zeichenweiser Interpreter.
Um noch ein wenig Fachgeplänkel dazuzupacken: Mit Pregs lassen sich nur reguläre Sprachen (sagt ja schon der Name) erkennen. Für eine komplette Sprache benötigt man dann schon eher eine Turingmaschine. Und die entspricht in ungefähr einem zeichenweisen Interpreter.
Das Infostudium ist also doch für etwas gut...
-
Das reicht so schon, ich hab das so gemacht, dass Strings in Kommentaren möglich sind, aber umgekehrt nichtmehr, das ist soweit akzeptabel. Hab die Funktion inzwischen auch für andere Sprachen verwendet, wie etwa PHP, Delphi, SQL...