Calocybe: Perl kompilieren?

Beitrag lesen

Hallo!

Perl ist eine interpretierte Programmiersprache.
Sie kann nicht kompiliert werden.

Wieso soll eine interpretierende Programmiersprache nicht kompiliert werden koennen? Ich muss doch nur einen entsprechenden Compiler schreiben. Basic entstand auch als Interpretersprache, und irgendwann hat mal jemand angefangen, Compiler dafuer zu schreiben (unter DOS gab's frueher mal Power Basic).

Ein Perl Interpreter parst (lesen und verstehen) immer den Quelltext eines Perlprogrammes und wandelt es in die Maschienensprache der jeweiligen Umgebung (Prozessortyp, Betriebsystem) um.
Desweiteren interpretier ein Perl Interpreter das Prorgamm zur Laufzeit und nicht vorher, so dass man es auch nicht vorher interpetieren könnte (auf die jeweilige Maschiene) und dann so wie als *.exe starten könnte.

Vorsicht. Er wandelt es eben nicht in Maschinensprache um (dann muesste er es ja nicht mehr interpretieren, denn er haette es ja dann kompiliert). Stimmt aber, dass er zuerst mal parst. Dann wird der Interpreter selbst fuer die Ausfuehrung sorgen, d.h. die Perl-Statements werden in interne Funktionsaufrufe (innerhalb des Interpreters) umgesetzt. Und der Interpreter selbst ist ja ein kompiliertes Programm.

Perl ist halt eine interpretiere Programmiersprache, die ihre Vor- und Nachteile hat. Sie ist nicht zum compilieren gedacht.

Wenn Du es so ausdrueckst, stimme ich Dir wiederum zu. Man kann es theoretisch zwar kompilieren, aber es ist ziemlich aufwendig. Das gesamte Perl-Runtime-System muss eingebunden werden, und sogar der Parser/Compiler selbst, denn Perl kennt ein eval() Statement, muss also eine dynamische zusammengesetzte Anweisung zur Laufzeit analysieren und ausfuehren koennen. Nach meiner Einschaetzung wuerde das der Einfachheit halber darauf hinauslaufen, einfach den Perlinterpreter zu nehmen und zusammen mit dem Perlscript in eine EXE zu linken. Das eingelinkte Script dient dann einfach als Datenfutter fuer den Interpreter. Und in der Tat geht ein Sharewareprogamm namens perl2exe vor (sollte in jeder Suchmaschine zu finden sein). Dieses erstellt eine lauffaehige EXE, indem es Interpreter, Script und noch einige andere Sachen einfach zusammenschnuert. Wenn ich bedenkt, dass das alles ist, was das Ding tut, ist fuer mich der Preis von $40 oder $50 absolut nicht nachvollziehbar.

Calocybe