Aufgabe Vorschlag C2 - Aufgabe 3 · Abitur Hessen Informatik LK 2022
Thema: Grammatiken, reguläre Ausdrücke und Syntaxdiagramme · Aus der Prüfung LK (2022)
Aufgabenstellung
Auszeichnungssprache YAML
YAML ist eine Auszeichnungssprache zur Darstellung strukturierter Daten in einfach lesbarer Textform. Die Sprache zeichnet sich dadurch aus, dass sie jede Datenstruktur allein durch Verwendung von Konstanten, Listen und assoziativen Listen darstellen kann. Elemente von Listen und assoziativen Listen werden durch Zeilenumbrüche (<CR> <LF>) getrennt dargestellt. Dabei besitzen diese Elemente in aufeinanderfolgenden Zeilen die gleiche Einrückung. Elemente einer Liste beginnen mit dem Zeichen „-“ und Elemente einer assoziativen Liste bestehen aus einem Schlüssel:Wert-Paar. Listen und assoziative Listen enthalten jeweils nur gleichartige Listenelemente (Material 1).
Alle Elemente einer Liste und alle Werte einer assoziativen Liste können entweder Konstanten oder auch wieder Listen oder assoziative Listen sein. In den beiden letztgenannten Fällen spricht man dann von geschachtelten Listen. Die Schachtelung wird durch einen Zeilenumbruch und eine Einrückung mit Leerzeichen (<SP>) dargestellt (Material 1).
Material 1
Beispiel von Listen und assoziativen Listen in YAML
Liste
assoziative Liste
- Apfel
- Banane
- Karotte
Name: Frank
Alter: 19
Sport: Fußball
geschachtelte Liste
geschachtelte assoziative Liste
assoziative Liste mit einer Liste als Wert
- HTML
-
- Überschrift H1
- Absatz p
- CSS
- JavaScript
Datum: 2021 05 17
Name: Lisa
Adresse:
Straße: Allee 17
PLZ: 64646
Ort: Heppenheim
Datum: 2021 05 17
Name: Frank
Interessen:
- Sport
- Politik
Alter: 19
Material 2
YAML-Texte
a
b
Datum: 2021 04 05
RechnungNr: 7266
Produkt:
-
Beschreibung: Basketball
Preis: 86
Menge: 4
-
Beschreibung: Hantel
Preis: 48
Menge: 2
-
Name: Martin Schmidt
Anstellung: Entwickler
Fachkompetenz:
- Python
- Java
- Pascal
-
Name: Tabitha Bitumen
Anstellung: Entwicklerin
Fachkompetenzen:
- Lisp
- Fortran
- Erlang
Material 3
Text in einer Konfigurationsdatei
packages:
yum:
mod_ssl: false
files:
servercrt:
mod: 000400
owner: admin
- group root
script:
- cd tools
- tox ecover
Material 4
Unvollständige Grammatik G zur Sprache YAML
$\begin{aligned}
P = \{ & \text{YAML} & \to & \ \text{Liste} \mid \text{AssoziativeListe}, \\
& \text{Liste} & \to & \ \text{Element } <\text{CR}> <\text{LF}> \mid \text{Element } <\text{CR}> <\text{LF}> \text{Liste}, \\
& \text{AssoziativeListe} & \to & \ \text{Schlüssel}: <\text{SP}> \text{Wert } <\text{CR}> <\text{LF}> \mid \\
& & & \ \text{Schlüssel}: <\text{SP}> \text{Wert } <\text{CR}> <\text{LF}> \text{AssoziativeListe}, \\
& \text{Element} & \to & \ \text{- } <\text{SP}> \text{Wert}, \\
& \text{Schlüssel} & \to & \ \text{Zeichenkette}, \\
& \text{Wert} & \to & \ \text{Konstante} \mid <\text{CR}> <\text{LF}> <\text{INDENT}> \text{Liste } <\text{DEDENT}> \mid \\
& & & \ <\text{CR}> <\text{LF}> <\text{INDENT}> \text{AssoziativeListe } <\text{DEDENT}>, \\
& \text{Konstante} & \to & \ \text{Zeichenketten} \mid \text{Zahl} \mid \text{true} \mid \text{false} \mid \text{null}, \\
& \text{Zeichenketten} & \to & \ \text{Zeichenkette} \mid \text{Zeichenkette } <\text{SP}> \text{Zeichenketten}, \\
& \dots \\
\} & & &
\end{aligned}$
Hinweis: Die Terminale <INDENT> und <DEDENT> stehen für eine Ein- bzw. Ausrückung.
In Material 4 ist ein Ausschnitt einer Grammatik G der Sprache YAML dargestellt.
3.1
Überführen Sie die Produktionen für YAML, AssoziativeListe und Wert in Syntaxdiagramme. (5 BE)
3.2
Zeichenkette ist eine nicht leere Folge von Buchstaben und Ziffern. Zahl ist eine ganze Zahl, die führende Nullen haben kann und der optional ein „-“ vorangestellt werden kann.
Geben Sie Produktionen für Zeichenkette und Zahl an. (3 BE)
3.3
Ordnen Sie die Grammatik G in die Chomsky-Hierarchie ein. (2 BE)

Lösung
Nach den offiziellen Korrekturhinweisen
3.1 Überführen Sie die Produktionen für YAML, AssoziativeListe und Wert in Syntaxdiagramme.
Lösung:
3.2 Geben Sie Produktionen für Zeichenkette und Zahl an.
Lösung: ```pseudocode Zeichenkette → Buchstabe | Ziffer | Buchstabe Zeichenkette | Ziffer Zeichenkette, Zahl → Ziffern | - Ziffern, Buchstabe → a | ... | z | A | ... | Z, Ziffern → Ziffer | Ziffer Ziffern, Ziffer → 0 | 1 | ... | 9 ```
3.3 Begründung der Einordnung von G in die Chomsky-Hierarchie.
Lösung: Die Grammatik ist kontextfrei (Typ 2), da die linken Seiten aller Produktionen aus jeweils genau einem Nichtterminal bestehen und die rechten Seiten Folgen von Terminalen und Nichtterminalen sind. Sie ist nicht regulär (Typ 3), da beispielsweise die rechte Seite von Liste → Element <CR> <LF> nicht von der Form a oder aN (bzw. Na) ist.
Die ausführliche Erklärung Schritt für Schritt (mit KI) gibt es mit Premium. Premium
Löse sie direkt hier: automatische Korrektur, Hinweise und Lösung Schritt für Schritt.
‹ Aufgabe Vorschlag C2 - Aufgabe 1 · LK 2022 · Aufgabe Vorschlag B3 - Aufgabe 1 · GK 2021 ›
Mehr Aufgaben zu Grammatiken, reguläre Ausdrücke und Syntaxdiagramme
- Aufgabe Vorschlag B3 · GK 2022
- Aufgabe Vorschlag C1 - Aufgabe 1 · LK 2022
- Aufgabe Vorschlag C1 - Aufgabe 2 · LK 2022
- Aufgabe Vorschlag C1 - Aufgabe 3 · LK 2022
- Aufgabe Vorschlag C2 - Aufgabe 1 · LK 2022
- Aufgabe Vorschlag B3 - Aufgabe 1 · GK 2021
- Aufgabe Vorschlag B3 - Aufgabe 3 · GK 2021
- Aufgabe Vorschlag B3 - Aufgabe 4 · GK 2021
- Aufgabe Vorschlag C1 - Aufgabe 1.1, 1.3 - Formale Sprache… · LK 2021
- Aufgabe Vorschlag C1 - Aufgabe 2 · LK 2021