Aufgabe 18: (Compiler)
Implementieren Sie einen Recursive-Descent-Compiler für Kommazahlen mit oder ohne Vorzeichen sowie mit oder ohne Nachkommastellen, also z.B. für Zahlen wie 3.14, -0.5, 17, 17.00, +17. Entwerfen Sie zunächst die Grammatik in erweiterter Backus-Naur-Form mit dem Startsymbol number und setzen Sie anschließend diese Grammatik 1:1 in das Programm um.
Aufgabe 19: (Compiler)
Implementieren Sie einen Recursive-Descent-Compiler für arithmetische Ausdrücke. Legen Sie folgende Grammatik zugrunde:
| expr | ![]() | term | (+ term | - term)* |
| term | ![]() | factor | (* factor | / factor)* |
| factor | ![]() | number | ( expr ) |
Kombinieren Sie diese Grammatik mit der Grammatik für number aus der vorherigen Aufgabe.