no way to compare when less than two revisions

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.


programmieren:aufgaben1:start [2021/12/29 11:40] (aktuell) – angelegt - Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
 +====== 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 ''String'' hinzu, insbesondere die Möglichkeit, auch Stringkonstanten im Code unterzubringen. Der Compiler sollte also Programme der Art ''a = "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. mit ''double 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);''
Drucken/exportieren
QR-Code
QR-Code programmieren:aufgaben1:start (erstellt für aktuelle Seite)