Andreas Rozek Lesehinweise letzte Änderungen Gästebuch-Eintrag Mitteilungen an den Autor  English Version  zur Leitseite zum vorherigen Thema zum nächsten Thema  zur ersten Seite zur vorherigen Seite zur nächsten Seite

Rhino_10 - Übersetzung von JavaScript-Makros

"Rhino_10" führt aus Java heraus JavaScript-Makros aus. Zusätzlich wird das Übersetzen und "Rückübersetzen" von Makros untersucht.

Die Java-Teile aller Rhino_1x-Beispiele sind jeweils modifizierte Fassungen der eingangs beschriebenen Rhino-Laufzeitumgebung des Autors. Die Veränderungen betreffen jeweils die main-Methode, die um die zu testenden Rhino-Aufrufe erweitert wurden.

In Rhino_10 werden zunächst sowohl im Java-Quelltext selbst literal vorgegebene als auch von Festplatte geladene JavaScript-Anweisungen ausgeführt. Anschließend werden sowohl eine JavaScript-Funktion als auch ein -Makro zuerst übersetzt und das Kompilat ausgeführt. Zu guter letzt wird versucht, die Kompilate wieder "zurückzuübersetzen", d.h., den Quelltext der Kompilate rückzugewinnen.

Das Programm wird ohne weitere Parameter aufgerufen

  java Rhino_10

und liefert folgende Ausgabe:

  Rhino_10 - a simple run-time environment for Rhino_1x programs

  (this script was loaded from disk)

  (and this one was specified internally)

  CompiledFunction: operational

  CompiledScript:   operational

  decompiling "CompiledFunction":

    function CompiledFunction() {
        println();
        println("CompiledFunction: operational");
    }

  decompiling "CompiledScript":

    println();
    println("CompiledScript:   operational");

Die Programmausgabe birgt keine besonderen Überraschungen - alle Aktionen funktionieren wie geplant.

Quelltexte

Alle hier vorgestellten Programme und Skripte sind im Quelltext verfügbar:

Haftungsausschluß

Bitte beachten Sie auch den Haftungsausschluß des Autors!

http://www.Andreas-Rozek.de/Rhino/Acquainting/Rhino_10.html    (letzter Stand: 06.04.2002)