Formale Sprache Aufgabe lösen?
Ein Eisenbahnzug besteht aus einer Reihe verschiedener Wagons. Er beginnt mit mindestens einer oder auch mehreren Lokomotiven, welche dann von null oder mehreren Guterwagons gefolgt werden. Nach diesen kann optional ein Begleitwagen kommen oder sofort eine Reihe von einem oder mehreren Personenwagons. Sind Personenwagons vorhanden, werden diese jedenfalls von einem Begleitwagen abgeschlossen. Beschreiben Sie diese Folge in Form einer Wirth’schen EBNF. Sie können folgendes Alphabet benutzen:
Σ = {Locomotive, GoodsTruck, PassengerCoach, GuardsVan}. GuardsVan bedeutet Begleitwagen. Sie können Σ aber auch erweitern, falls dies notwendig sein sollte
Und wie ist dein aktueller Stand? Die Aufgabe scheint doch recht einfach zu sein.
Naja, ich habe zwei Tage gefehlt und wir haben dieses Thema begonnen, also die formalen Sprachen. Daher muss ich mir alles selber jetzt beibringen.
1 Antwort
Hallo.
Dafür sollten doch 5 Minuten google ausreichen:
Train = Locomotive, {Locomotive}, {GoodsTruck}, [GuardsVan], PassengerCoach, {PassengerCoach}, GuardsVan;
So würde ich es zumindest lesen. Wenn das oder allerdings exklusiv abgrenzen soll, dann wohl sowas hier:
Train = Locomotive, {Locomotive}, {GoodsTruck}, ( [GuardsVan] | PassengerCoachSequence );
PassengerCoachSequence = PassengerCoach, {PassengerCoach}, GuardsVan;
Ist nicht ganz eindeutig. Syntax basiert auf https://de.wikipedia.org/wiki/Erweiterte_Backus-Naur-Form
Mögliche Fehler sind geschenkt. 😉
LG