Herzlichen Dank an Sandro Esquivel!

Herr Esquivel hat seine graphische Benutzeroberfläche für den Compiler und die abstrakte Maschine aus der Aufgabenserie 3 (mit Ergänzungen aus Serie 4, Aufgabe 10) sowohl als Applet (s.u.) als auch als Standalone-Java-Programm zur Verfügung gestellt. Es können Programme einer einfachen while-Sprache mit der Syntax
<stmt> ::= <asgn> | <asgn> <stmt> | "while" "("<expr>")" "{"<stmt>"}"
<asgn> ::= <ident> "=" <expr>";"
<expr> ::= <term> | <expr> ["+"|"-"|"<"|"=="] <term> | "-"<expr>
<term> ::= <fact> | <term> ["*" | "/"] <fact>
<fact> ::= <ident> | <number> | "("<expr>")"

in den Sourcecode-Bereich geschrieben und dann in abstrakten Maschinencode kompiliert und interpretiert werden. Ein Beispiel:

n=10;
nfac = 1;
while (-n < 0) {
  nfac = nfac*n; n = n-1;
}

berechnet die Fakultät von 10. Die Standalone-Version kann Progamme auch aus Dateien lesen und auch den Bytecode in Dateien sichern.

Vielen Dank für das Engagement!