Kommentare löschen

Hallo,

gibt es irgendein Tool (oder noch besser ein Perl-Script), das robust Kommentare aus einem Code-Text entfernt? Ich habe mal gegoogelt, aber nichts sinnvolles finden können.

Das Problem ist, dass natürlich alle Kommentarzeichen (sei es // bei JS, ’ bei VB oder # bei Perl) natürlich auch in Zeichenketten vorkommen können. Und auszuwerten, ob das Kommentarzeichen nun zufällig innerhalb einer Zeichenkette vorkommt (z.B. bei alert(‚Ha//o‘);), scheint mir recht aufwendig zu sein, wenn man alle Eventualitäten berücksichtigen will.

Dass es einigermassen einfach geht, zeigen ja die Editoren, die Syntax-Hervorhebung beherrschen.

Ich danke schon einmal für Hinweise,
Kristian

Hallo Kristian!

gibt es irgendein Tool (oder noch besser ein Perl-Script), das
robust Kommentare aus einem Code-Text entfernt?

Ist mir keines bekannt.

scheint mir recht aufwendig zu sein, wenn man alle
Eventualitäten berücksichtigen will.

Da hast Du allerdings recht, gerade bei Perl ist das immens
schwer. Es heisst nicht umsonst, dass das einzige Mittel
um Perl-Code zu analysieren der Perl-Interpreter selbst ist.

Das bedeutet:

  • du wirst es nicht über reguläre Ausdrücke schaffen, sondern
    musst einen Parser dafür schreiben

  • wenn Du wissen willst, wie es funktioniert, nimm Dir ein
    Open Source-Tool und schau Dir an, wie dort das Parsing
    realisiert wird. Gute Kandidaten sind der Quellcode des
    Perl-Interpreters oder das Lisp-Package für den
    CPerl-Mode des Emacs

Gruß,
-Andreas.