Benutzer-Werkzeuge

Webseiten-Werkzeuge


compilerbau:aufgaben:start

Aufgaben

Hier ein paar einfache Aufgaben, die helfen, die bisherigen Ausführungen zum Compilerbau zu verinnerlichen und noch besser zu verstehen. Der Schwierigkeitsgrad der Aufgaben ist aufsteigend:

  1. Erweitere die Programmiersprache um Bedingungen. Sie sollte also bspw. if ( a > b ) {print(a);} else {print(b);} verstehen.
  2. Erweitere Lexer/Parser/Interpreter, so dass die Programmiersprache neben print() auch noch andere Methoden versteht, z.B. zum Zeichnen in ein kleines Fenster
  3. Bisher gibt es nur Rechenoperationen für Double-Werte. Füge boolesche Rechenoperationen (&&, ||, !) hinzu.
  4. Füge einen Datentyp String hinzu, insbesondere die Möglichkeit, auch Stringkonstanten im Code unterzubringen. Der Compiler sollte also Programme der Art a = "Test"; print(a); verstehen.
  5. Erweitere den Parser so, dass Variablen typisiert sind. Sie müssen dann natürlich vor dem ersten Aufruf deklariert werden, z.B. mit double a = 10; print(a);
  6. Erweitere den Parser so, dass er automatische Typkonvertierungen durchführt und z.B. Folgendes versteht: double a = 10; print("Die Zahl ist:" + a);
compilerbau/aufgaben/start.txt · Zuletzt geändert: 2021/12/29 11:29 von 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki