programmieren:aufgaben1: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:
- Erweitere die Programmiersprache um Bedingungen. Sie sollte also bspw.
if ( a > b ) {print(a);} else {print(b);}verstehen. - Erweitere Lexer/Parser/Interpreter, so dass die Programmiersprache neben
print()auch noch andere Methoden versteht, z.B. zum Zeichnen in ein kleines Fenster - Bisher gibt es nur Rechenoperationen für Double-Werte. Füge boolesche Rechenoperationen (&&, ||, !) hinzu.
- Füge einen Datentyp
Stringhinzu, insbesondere die Möglichkeit, auch Stringkonstanten im Code unterzubringen. Der Compiler sollte also Programme der Arta = “Test”; print(a);“ verstehen. - Erweitere den Parser so, dass Variablen typisiert sind. Sie müssen dann natürlich vor dem ersten Aufruf deklariert werden, z.B. mitdouble a = 10; print(a);- Erweitere den Parser so, dass er automatische Typkonvertierungen durchführt und z.B. Folgendes versteht:double a = 10; print(“Die Zahl ist:” + a);''
programmieren/aufgaben1/start.txt · Last modified: by 127.0.0.1
