Advertisement
Guest User

Untitled

a guest
Jan 21st, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.33 KB | None | 0 0
  1. Aufgabe 19 (Richtige Klammersetzung) (6 Punkte) In dieser Aufgabe soll eine Anwendung der Datenstruktur Stack aus der vorhergehenden Aufgabe implementiert werden. Ein „winziger“ Teil der Syntaxanalyse, die der Compiler durchzuführen hat, besteht darin, zu überprüfen, ob im Quelltext die Struktur der öffnenden und schließenden Klammern stimmt. Realisieren Sie einen Algorithmus, der diese Prüfung vornimmt. Als Ergebnis des Tests soll ausgegeben werden „Klammerstruktur OK“ oder „Klammerstruktur nicht OK“. Regeln für die Klammerung Nur ein abgeschlossener Klammernbereich darf von Klammern umschlossen werden. Ein abgeschlossenerKlammernbereichisteinsolcher,indemdieAnzahlderöffnendenKlammerngleichderAnzahl schließenden Klammern ist. Beispiele für korrekte Klammerung char testString[ ] = " { [ ( ) ] { ( ) { [ ] { } { } [ ] } } } " Diese Struktur lässt sich am leichtesten prüfen, wenn man alle auftretenden öffnenden Klammern auf einen Stack legt, und bei Auftreten der dazugehörigen schließenden Klammer die öffnende vom Stack entfernt. Berücksichtigen Sie in Ihrem Programm nur die Klammern {}, (), []. Verwenden Sie Ihre Stack-Klasse aus Ausgabe 17 (idealerweise sogar ohne Kopieren die gleichen Dateien). Ihr Programm sollte die Klammerung für beliebige Zeichenketten prüfen können, so z.B. auch (1+{3a-2}*[a+1])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement