Benutzer-Werkzeuge

Webseiten-Werkzeuge


compilerbau:aufgaben:start

Dies ist eine alte Version des Dokuments!


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.1635452408.txt.gz · Zuletzt geändert: 2021/12/29 11:29 (Externe Bearbeitung)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki