Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
faecher:informatik:oberstufe:automaten:formale_sprachen:schwedische_kennzeichen:start [19.04.2022 16:50] – [Strukturanalyse: Wie werden gültige Worte aus den Terminasymbolen gebildet?] sbel | faecher:informatik:oberstufe:automaten:formale_sprachen:schwedische_kennzeichen:start [29.09.2024 12:17] (aktuell) – [Grammatik aufschreiben] Frank Schiebel | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ~~NOTOC~~ | ||
+ | |||
====== Howto: Grammatik finden ====== | ====== Howto: Grammatik finden ====== | ||
- | {{ .:slp.jpg?600|}}((Bild von https:// | + | {{ .:slp.jpg?300|}}((Bild von https:// |
Die Kfz-Kennzeichen in Schweden (schwedisch // | Die Kfz-Kennzeichen in Schweden (schwedisch // | ||
Zeile 9: | Zeile 11: | ||
In unserem Fall bestehen alle Worte der " | In unserem Fall bestehen alle Worte der " | ||
- | ==== Strukturanalyse: | + | ==== Strukturanalyse: |
- | Hier wird oft bereits deutlich, welche weiteren Variablen man benötigt, um die Worte zu bilden: Bei diesem Beispiel sieht man unmittelbar ein, dass jedes Kennzeichen aus einem '' | + | Hier wird oft bereits deutlich, welche weiteren Variablen man benötigt, um die Worte zu bilden: Bei diesem Beispiel sieht man unmittelbar ein, dass jedes Kennzeichen aus einem Buchstabenblock ('' |
- | In einem Syntaxdiagramm kann man das folgendermaßen darstellen: | + | Dann überlegt |
- | ++++ Code für Bottlecaps | + | In einem Syntaxdiagramm kann man das für unser Beispiel folgendermaßen darstellen (Unterstrich ist Leerzeichen): |
- | https://www.bottlecaps.de/rr/ui | + | |
+ | {{ : | ||
+ | |||
+ | ++++ Code für RR | | ||
+ | https://rr.red-dove.com/ui | ||
< | < | ||
Kennzeichen | Kennzeichen | ||
Zeile 26: | Zeile 32: | ||
</ | </ | ||
++++ | ++++ | ||
+ | |||
+ | ==== Productions P aus dem Syntaxdiagramm ableiten ==== | ||
+ | |||
+ | Nun kann man die Regeln (Productions P) fast direkt ablesen: | ||
+ | |||
+ | S -> B1 _ B2 | ||
+ | B1 -> BS BS BS | ||
+ | B2 -> Z Z Z | Z Z BS | ||
+ | BS -> A|B|C|...|X|Y|Z | ||
+ | Z -> 0|1|2|3|...|8|9 | ||
+ | | ||
+ | ==== Grammatik aufschreiben ==== | ||
+ | |||
+ | Jetzt kann man die Grammatik formal aufschreiben: | ||
+ | |||
+ | **G=(V, | ||
+ | |||
+ | **P = {\\ | ||
+ | S -> B1 _ B2\\ | ||
+ | B1 -> BS BS BS\\ | ||
+ | B2 -> Z Z Z | Z Z BS \\ | ||
+ | BS -> A|B|C|...|X|Y|Z \\ | ||
+ | Z -> 0|1|2|3|...|8|9 \\ | ||
+ | }** | ||
+ | | ||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | === (A1) === | ||
+ | |||
+ | Die neue Verkehrsministerin legt fest, dass der zweite Block nicht mit einer Null beginnen darf. Passe die Grammatik entsprechend an. | ||
+ | |||
+ | |||
+ | ++++ Lösungshinweis (RR) | | ||
+ | https:// | ||
+ | < | ||
+ | Kennzeichen | ||
+ | Leerzeichen ::= ' | ||
+ | BSBlock | ||
+ | ZBBlock | ||
+ | Ziffer ::= (' | ||
+ | ZiffNull ::= (' | ||
+ | Buchstabe ::= (' | ||
+ | </ | ||
+ | |||
+ | ++++ | ||
+ | |||
+ | |||
+ |