Hallo
Erst mal Danke...
Ich fasse mal zusammen, möchte aber auch betonen, dass ich weitere Tests zur Kenntnis nehmen werde, so lange der Thread nicht im Archiv landet.
Getestet wurden auf
- 5.8.6 win32 (Beat)
- 5.8.6 OSX (Joachim)
- 5.8.7 Ubuntu VServer (Joachim)
- 5.8.7 win32 (Dirk)
- 5.8.8 Ubuntu/Debian (steckl, Dirk)
- 5.8.8 unknown (Malcolm Becks)
- 5.10.0 win32 (Struppi)
Sieht soweit gut aus, und wenn man die Entwicklung betrachtet,
so ist m/(?{EXPRESSION}) wohl dann sicher, wenn man keine
Variabeln von ausserhalb importiert.
Ich weiss noch nicht, was ich aus Dirks Meldung machen soll.
Kann sein, dass solche Expressions kein guter Kandidat für ModPerl::Registry
Der Testcase verarbeitete allein Konstanten. Im realen Einsatz
muss der Parser aber verschiedenen Input ausführen.
Und der Sinn des Ganzen?
Es handelt sich um den Kern eines der Versionen von Parsern, die ich teste, die eine [p:c] Struktur nach beschreibbaren Syntaxregeln abarbeiten.
Der parser darf keine Anforderungen an die Struktur-Tiefe wie in
[p:[p:[p:[p:[p:[p:...]]]]]] machen, sondern muss erfolgreich den
Null-Level der äussersten Struktur extrahieren, eine mit p assoziierte Funktion ermitteln, den String übergeben an das entsprechende [p:c] Modul,
und dieses arbeitet dann wieder den String entweder nach interner Syntax
ab oder verwendet wiederum den Parser.
Der Parser kann also rekursiv immer wieder aufgerufen werden, allerdings mit
immer kleineren Substrings.
Mit Dank und freundlichen Grüssen
Beat
><o(((°> ><o(((°>
<°)))o>< ><o(((°>o