| Andreas Rozek |
|
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. QuelltexteAlle hier vorgestellten Programme und Skripte sind im Quelltext verfügbar: |
| http://www.Andreas-Rozek.de/Rhino/Acquainting/Rhino_10.html | (letzter Stand: 06.04.2002) |