Thread Filter::Simple nachteile (5 answers)
Opened by LanX- at 2008-07-17 18:17

moritz
 2008-07-17 19:41
#112272 #112272
User since
2007-05-11
923 Artikel
HausmeisterIn
[Homepage]
user image
LanX-+2008-07-17 16:17:10--
Aber wie zuverlässig kann das funktionieren beim "flexiblen" Perl-Syntax?


Gar nicht zuverlässig, weil es Informationen gibt, die man zum parsen des Perl-Codes braucht, und die erst durch das Ausführen von Compile-Zeit-Aktionen des Compilers bekannt sind. Seihe auch
Perl cannot be parsed: a formal proof.

Ein weiteres Problem ist, dass selbst wenn man einen Source-Filter halbwegs zuverlässig hinbekommen könnte, würde er die Verwendung jedes anderen Source-Filters ausschliessen, wäre also nicht besonders flexibel.


Quote
Weiß jemand ob sich Code-Filter so in den Perl-Parser einklinken können dass garantiert nur Code gegriffen wird?


Es gibt Ansätze wie etwa Devel::Declare, die probieren so etwas umzusetzten. Du kannst auch perl 5.10.0 mit MAD aktiviert compilieren und dir dann das Perlscript als XML ausgeben lassen und das dann verarbeiten.

Quote
Habe versucht eine Darstellung der Probleme von Code-Filtern zu finden, finde aber nur Allgemeinplätze wie "Code-Filtering ist des Teufels" und eval scheitert.


1. Prinzipiell nicht möglich, zuverlässig zu machen (s.o)
2. Sklaieren nicht (s.o)
3. Schlechte Erfahrung. Es passiert z.B. immer wieder, dass ein größeres Script, in das man "use Switch;" einbaut, einfach einen quasi unverständlichen Syntax-Fehler schmeisst, selbst wenn man die Features dieses Modules noch gar nicht benutzt. Womit wir auch zum nächsten Punkt kommen:
4. Die Fehlermeldungen sind meistens alles andere als hilfreich.

View full thread Filter::Simple nachteile