Professional Web Engineering.

Sie sind hier: StartseiteProdukteppage - PHP Parser Generator

ppage - PHP Parser Generator

Überblick

ppage ist ein in PHP geschriebener LALR(1) Parser Generator oder auch Compiler Compiler. Er erzeugt aus einer Grammatikdatei eine Parsertabelle und bei Bedarf eine Callback-Klasse, um kontext freie formale Sprachen zu erkennen und zu verarbeiten. Mit ppage kann auf einfache Weise ein AST (abstrakter Syntaxbaum) erstellt werden. Dieser kann dann entweder zur Übersetzung verwendet oder z.B. interpretiert und ausgeführt werden. Falls kein AST benötigt wird kann der Callback auch selbst geschrieben werden und ein 1-Pass-Übersetzer entwickelt werden.

Die Grammatiksyntax ist der von yacc sehr ähnlich, jedoch unterliegt ppage noch 3 Einschränkungen:
  • Es sind keine Epsilon-Produktionen möglich (nach "nichts" ableiten)
  • Es werden keine Literale unterstützt (z.B. '+')
  • Es ist kein Lexer-Generator verfügbar, d.h. der Lexer muss selbst implementiert werden, was aber keine große Schwierigkeit darstellen sollte.
ppage ist unter der GPL verfügbar, die Parser-Engine unter der LGPL, kann also in kommerziellen Projekten verwendet werden.

For english speaking people

The documentation and the code comments are completely in english. So, don't worry.

Download

ppage.zip (60 kb) - 28.01.2006

Projects using ppage

http://sourceforge.net/projects/auboard/ - for BBCode parsing
http://phpinchains.synflag.com/ - for Expression Language parsing in a PHP Server Pages engine