Dein Fortschritt:
0 / 0 Aufgaben
1
Bezeichner im Compiler
14 BEAFB I–IIDer Compiler einer Lernsprache prüft Bezeichner (Namen von Variablen und Methoden) mit einem DEA. Vorher ersetzt er jeden Buchstaben durch b, jede Ziffer durch z und den Unterstrich durch u; es gilt also \(\Sigma=\{b,\,z,\,u\}\). Ein Bezeichner ist gültig, wenn
- er mit einem Buchstaben beginnt,
- danach beliebig viele Buchstaben, Ziffern und Unterstriche folgen,
- nirgends zwei Unterstriche direkt hintereinander stehen und
- er nicht auf einen Unterstrich endet.
- Bestimmen Sie für die Bezeichner
zaehler_2,_temp,max__wert,wert_das Wort über \(\Sigma\) und entscheiden Sie mit Begründung, ob der Bezeichner gültig ist. (4 BE) - Zeichnen Sie den Zustandsgraphen eines DEA, der genau die gültigen Bezeichner akzeptiert. Geben Sie die Bedeutung jedes Zustands an. (6 BE)
- Erläutern Sie, wie viele Übergänge Ihr vollständiger Automat hat, und stellen Sie eine möglichst kleine Liste von Testwörtern zusammen, mit der jeder Übergang, der nicht in zF beginnt, mindestens einmal benutzt wird. (4 BE)
Hinweise
Hinweis zu Aufgabe a)
Übersetzen Sie Zeichen für Zeichen. Prüfen Sie dann die vier Regeln nacheinander.
Hinweis zu Aufgabe b)
Was muss sich der Automat merken? „Noch nichts gelesen“, „gültig bis hierher“, „zuletzt ein Unterstrich“. Alles andere ist nicht mehr zu retten.
Hinweis zu Aufgabe c)
\(|Z|\cdot|\Sigma|\) mit zF. Ein Testwort kann mehrere Übergänge abdecken — zählen Sie mit einer Tabelle ab.
