Christian Kruse: Syntax Parser für Logische Ausdrücke in PHP

Beitrag lesen

你好 ganymede,

Naja, durch die Syntax liegt der Code ja schon in (serialisierter) Baum-Form vor. Da musst du ja nur noch einen (einfachen) Lexer schreiben, dann kannst du das mit einer einfachen Rekursion direkt umsetzen nach SQL.

Wo ist denn dein konkretes Problem?

Konkretes Problem: ich habe noch nie einen Lexer geschrieben bzw. meine Vorlesungen in Sachen Parser-Theorie sind gute 10 Jahre her. Ich hatte gehofft, das umgehen zu können, da die Syntax so schön schlicht ist. Ich nehme an, Du kannst mir da keine Hoffnungen machen?

Naja, einen richtigen™ Parser benötigst du dafür nicht. Ich sag ja, durch die Syntax kannst du das 1:1 umsetzen in SQL.

Aber um einen vernünftigen Lexer wirst du vermutlich nicht herum kommen, wenn du nicht gerade frickeln willst. So einfach, dass man ohne auskäme, ist die Syntax auch wieder nicht ;) Wenn du das möchtest, müsstest du auf Syntax wie value1 & !(value2 | value3) zurückgreifen.

再见,
 克里斯蒂安

--
http://wwwtech.de/
IRC-Clients und Irssi-Scripting | Flyspray
So, wie ein Teil ist, ist das Ganze.