Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Theoretische Informatik » formale Sprachen » EBNF Grammatik Informatik » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen EBNF Grammatik Informatik
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Fiza
Grünschnabel


Dabei seit: 25.11.2021
Beiträge: 1

EBNF Grammatik Informatik Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Meine Frage:
Aufgabe 6. In der Vorlesung habt Ihr syntaktisch korrekte arithmetische Aus- dru ?cke gesehen. Ein wichtiger Teil davon war, dass die Klammern (,) an den richtigen Stellen vorkommen. Spa ?ter in der EBNF fu ?r ein idealisiertes SQL habt Ihr auch gesehen, dass es unterschiedliche Klammern gibt. In dieser Aufgabe wollen wir nun sehr einfache Ausdru ?cke mit Grammatiken erzeugen, die als Terminale die Zeichen ?a? und die Klammerpaare ?(?,? )?, ?{?,? }?, ?[?,? ]? und ? ??,? ?? haben. Hierfu ?r mu ?ssen folgende Regeln gelten
? Klammern ko ?nnen hintereinander auftreten:
?(? ?a? ?)? ?{? ?a? ?}?, ? ?? ?a? ??? ?(? ?a? ?)?
? Klammern ko ?nnen geschachtelt sein: ?(? ?{? ?a? ?}? ?)?, ?(? ? ?? ?a? ??? ?)?


Klammern du ?rfen nicht u ?berlappen, d.h. geht eine Klammer einer Sorte auf und es geht eine weitere Klammer auf, so muss zuerst die innere ge- schlossen werden, bevor die a ?ußere geschlossen werden darf: ?(? ?{? ?a? ?)? ?}? ist nicht erlaubt.
Wir wollen nun eine Grammatik bauen, die mit einem Nicht-Terminal Start startet und Wo ?rter generiert, die korrekt geklammert sind.
Beispiele fu ?r Ableitungen:
Start => Start Start
=> ?(? Start ?)?Start
=> ?(? ?a? ?)? Start
=> ?(? ?a? ?)? ?{? Start}
=> ?(? ?a? ?)? ?{? ?<? Start ?>? ?}?
=> ?(? ?a? ?)? ?{? ?<? ?a? ?>? ?}?
Start => ?[? Start ?]?
=> ?[? Start Start ?]?
=> ?[? ?(? Start ?)? Start ?]?
=> ?[? ?(? Start Start ?)? Start ?]?
=> ?[? ?(? ?a? Start ?)? Start ?]?
=> ?[? ?(? ?a? ?{? Start ?}? ?)? Start ?]?
=> ?[? ?(? ?a? ?{? ?a? ?}? ?)? Start?]?
=> ?[? ?(? ?a? ?{? ?a? ?}? ?)? ?(? Start ?)? ?]?
=> ?[? ?(? ?a? ?{? ?a? ?}? ?)? ?(? ?a? ?)? ?]?
Start => ?{? Start ?}?
=> ?{? ?(? Start ?)? ?}?
=> ?{? ?(? ?<? Start ?>? ?)? ?}?
=> ?{? ?(? ?<? Start Start ?>? ?)? ?}?
=> ?{? ?(? ?<? ?a? Start ?>? ?)? ?}?
=> ?{? ?(? ?<? ?a? Start Start ?>? ?)? ?}?
=> ?{? ?(? ?<? ?a? ?a? Start ?>? ?)? ?}?
=> ?{? ?(? ?<? ?a? ?a? ?a? ?>? ?)? ?}?
? Konstruiert die Regeln der Grammatik, so dass alle mo ?glichen korrekt geklammerten Ausdru ?cke als Wo ?rter generiert werden ko ?nnen. 2 Punkte
? Gebt Euren Regeln Nummern und gebt eine Folge der Nummern an, die die Beispielableitungen wiedergeben.

Meine Ideen:
Siehe oben Beispiel. Bitte helfen Sie uns wir kommen nicht weiter. Das ist ein Notfall. Wir verstehen garnichts.
25.11.2021 14:45 Fiza ist offline E-Mail an Fiza senden Beiträge von Fiza suchen Nehmen Sie Fiza in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Theoretische Informatik » formale Sprachen » EBNF Grammatik Informatik