Skip to content

Commit 3bd70b0

Browse files
committed
homework: clarify grammar (B04)
see #403
1 parent 6b57b5a commit 3bd70b0

1 file changed

Lines changed: 15 additions & 3 deletions

File tree

homework/sheet04.md

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -287,14 +287,26 @@ Zeigen Sie, dass die Grammatik LL(1) ist.
287287
## A4.2: Grammatik (2P)
288288

289289
1. Erstellen Sie zunächst einige Programme in der Zielsprache. Diese sollten von
290-
einfachsten Ausdrücken bis hin zu komplexeren Programmen reichen. Definieren Sie
291-
beispielsweise eine Funktion, die rekursiv die Länge einer Liste berechnet.
290+
einfachsten Ausdrücken bis hin zu komplexeren Programmen reichen. Versuchen Sie
291+
beispielsweise eine Funktion zu definieren, die rekursiv die Länge einer Liste
292+
berechnet.
292293

293294
Definieren Sie neben gültigen Programmen auch solche, die in der syntaktischen
294295
Analyse zurückgewiesen werden sollten. Welche Fehlerkategorien könnte es hier
295296
geben?
296297

297-
2. Definieren Sie nun für die obige Sprache eine geeignete Grammatik.
298+
2. Überlegen Sie:
299+
300+
- Was sind die grundsätzlichen syntaktischen Konstrukte der obigen Sprache?
301+
- Was muss man in Lexer/Parser prüfen und was kann man später (semantische
302+
Analyse oder Interpreter) auch noch gut tun?
303+
- Wie viel Semantik muss im Parser schon realisiert werden?
304+
- Was brauchen Sie an Sprachumfang, um die Aufgaben auf diesem Blatt zu lösen?
305+
306+
(Da wir noch nicht über die späteren Phasen im Compiler gesprochen haben:
307+
Spekulieren Sie.)
308+
309+
3. Definieren Sie nun für die obige Sprache eine geeignete Grammatik.
298310

299311
## A4.3: Lexer (2P)
300312

0 commit comments

Comments
 (0)