Karel J. Robot Simulator für vereinfachte Syntax

Java Code Erzeugung

So wird ein Task übersetzt:
Es wird eine neue Datei angelegt, mit dem Namen KarelJTask.java. In diese Datei wird fast aller Code aus der Task-Datei einfach kopiert. Die erste Änderung ist, daß die Anweisung

import kareltherobot.*;
eingefügt wird. Dann wird eine Klasse KarelJTask angelegt, die das Interface Directions implementiert (aus dem package kareltherobot). Diese Klasse beinhaltet drei statische Methoden. Die erste, setupWorld(), enthält Anweisungen, um die Welt aufzubauen oder zu laden. Außerdem wird hier die gewünschete Verzögerung eingestellt.
Die nächste Methode heißt task() und beinhaltet einfach die Anweisungen, die in dem angegebenen Task definiert waren.
Die dritte Methode ist die Methode main( String args[] ). Das ist die Methode, die von Java ausgeführt wird, wenn ein Programm gestartet wird. In dieser Methode wird zuerst die Methode setupWorld() und dann die Methode task() aufgerufen.
In dem Simulator kann auch ein anderer Klassenname als KarelJTask eingestellt werden. Dann werden die Datei und die Klasse entsprechend anders benannt.

So wird loop übersetzt:
Eine loop-Anweisung wird durch eine for-Schleife ersetzt. Dazu wird eine Zählervariable benutzt, die bei 0 anfängt zu zählen, und in jedem Schleifendurchlauf um 1 erhöht wird, solange sie kleiner als der numerische Ausdruck ist. Also aus

loop( numAusdr )
wird
for( int zaehler = 0; zaehler < numAusdr; zaehler++ )
Es ist klar, daß der angegebene numerische Ausdruck ein int-Ausdruck sein muss, es können jedoch nicht nur Zahlen sondern auch Variablen oder Ausdrücke angegeben werden.
Für die Zählervariable muss noch ein besonderer Name gewählt werden, denn wenn alle gleich heißen, führt das zu Namenskonflikten bei geschachtelten Schleifen. Daher werden die gefundenen loop-Anweisungen gezählt. Der Variablenname ergibt sich dann aus _i + Nummer der aktuellen loop-Anweisung. Also für die erste Schleife _i1, für die zweite _i2 usw.