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

Informatiker Board » Suche » Suchergebnis » Hallo Gast [Anmelden|Registrieren]
Zeige Beiträge 1 bis 1 von 1 Treffern
Autor Beitrag
Thema: EBNF Grammatik Informatik
Fiza

Antworten: 0
Hits: 408
EBNF Grammatik Informatik 25.11.2021 14:45 Forum: formale Sprachen


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.
Zeige Beiträge 1 bis 1 von 1 Treffern