Wie wird der Perl-Quellcode in Token umgesetzt?

7

Ich habe einige vernünftige (nicht verschleierte) Perl-Quelldateien, und ich brauche einen Tokenizer, der ihn in Token aufteilt und den Tokentyp von jedem von ihnen zurückgibt, z. für das Skript

%Vor%

würde so etwas zurückgeben:

  • Schlüsselwort 5 Bytes
  • Leerzeichen 1 Byte
  • double-quoted-string 17 Bytes
  • Semikolon 1 Byte
  • Leerzeichen 1 Byte

Was ist die beste Bibliothek (vorzugsweise in Perl geschrieben)? Es muss einigermaßen korrekt sein, dh es sollte in der Lage sein, syntaktische Konstrukte wie qq{{\}}} zu analysieren, aber es muss nicht über spezielle Parser wie Lingua :: Romana :: Perligata . Ich weiß, dass das Parsing von Perl Turing-complete ist, und nur Perl selbst kann es richtig machen, aber ich brauche keine absolute Korrektheit: Der Tokenizer kann ausfallen oder inkompatibel sein oder in einigen sehr seltenen Fällen einen Standard annehmen, aber es sollte funktionieren richtigerweise die meiste Zeit. Es muss besser sein als die Syntax-Hervorhebung in einem durchschnittlichen Texteditor.

Zu Ihrer Information: Ich habe den PerlLexer in Segmenten ausprobiert, was für die meisten Konstrukte vernünftig ist, außer dass das zweite print Schlüsselwort darin nicht gefunden wird eins:

%Vor%     
pts 19.08.2010, 09:08
quelle

2 Antworten

23

PPI

    
daxim 19.08.2010, 09:18
quelle
7

use PPI;

Ja, Perl kann nur Perl analysieren, jedoch ist PPI die 95% richtige Lösung.

    
szbalint 19.08.2010 09:19
quelle

Tags und Links