PHP parser schreiben



  • Morgen zusammen,

    ich versuche gerade einen Parser in PHP zu schreiben.
    Es handelt sich dabei um eine Beschreibungssprache ähnlich der für dieses Forum.
    Bisher laufe ich mit einer Schleife über jedes einzelne Zeichen.

    ...
    for ( $i = 0; $i < strlen( $data ); $i++ )
    {
    };
    ...
    

    In C/C++ wäre das ja auch kein Problem. Nur in PHP scheint mir das nicht wirklich performant. Wie würdet ihr das machen? Verbesserungsvorschläge?



  • Als allererstes mal:

    for($i = 0; $i < strlen($data); ++$i)
    

    Ansonsten, je nach Komplexität, mit Regexs, aber das ist auch nicht wirklich das gelbe vom Ei ... PHP ist als Interpretersprache halt schlichtweg nicht die schnellste ...



  • Und warum nimmst Du dann nicht C oder C++?

    (Ich habe einen Hammer und will eine Schraube reindrehen. Mit einem Schraubenzieher ginge das, aber wie mache ich das mit dem Hammer 😉 )



  • tntnet schrieb:

    Und warum nimmst Du dann nicht C oder C++?
    (Ich habe einen Hammer und will eine Schraube reindrehen. Mit einem Schraubenzieher ginge das, aber wie mache ich das mit dem Hammer 😉 )

    😃

    Würde ich ja gerne. Nur leider ist es ein PHP Projekt und ich will (bzw. kann) ja nicht alles komplett neu schreiben. Es ist eine kleine Dokumentenverwaltung und nun soll noch Syntax Highlight und Solche Code-Tags für die Dokumentenansicht dazukommen. Werde mal schaun wie phpbb das gemacht hat. Trotzdem vielen Dank.



  • Also kein Hammer aber stattdessen das Rad neu erfinden 😉

    Nimm einfach 'ne fertige Bibliothek: Die unterstützt dann nicht nur Syntax Highlighting sondern tut es auch noch richtig und für (fast) beliebige Sprachen!


Anmelden zum Antworten