Aufgabenstellung:
Wir möchten, dass unser Mini-Logo-Compiler endlich geschachtelte Klammerstrukturen verarbeiten kann.
z. B.: WH 4 [ WH 10 [ VW 30 DR 20 WH 6 [ ... ] ] DR 10]
Das Problem bei unserem bisherigen Automaten liegt beim Parser, der keine ineinander verschachtelten Klammerstrukturen verarbeiten kann.
Als erstes müssen wir die Syntax der Logo – Programme wie folgt ändern:
Logo – Programm:
Befehl:
Die Zeichenbefehle entsprechen denen unserer ersten Mini-Logo-Version:
(also VW, DR, RW, LI, ...)
Wiederholung:
Der Parser ist nun dieser geänderten Syntax anzupassen.
Dabei bieten sich für die Behandlung der geschachtelten Klammern zwei Lösungsstrategien an:
Lösung 1: Es wird ein Zähler eingebaut, der die geöffneten Klammern zählt und jedes Mal um 1 verringert wird, wenn eine Klammer geschlossen wird. Diese Lösung macht jedoch bei verschiedenen "Klammersorten" (z. B. Kommentarklammern) Probleme.
Lösung 2: Anlegen eines Stacks
Zur Themenübersicht | |
Zum Seitenanfang | |
Zur vorigen Seite | Zur nächsten Seite |
© 2001 LK 13 If und G. Kubitz | Hannah-Arendt-Gymnasium, Lengerich |