Formale Sprachen Flashcards

1
Q

Aufbau und Funktionsweise von Sprachen

A

Sprache besteht aus der Syntax (Regelwerk, formale Korrektheit) und der Semantik (Sinn).

Sprachen dienen zur Kommunikation. Der Sender übermittelt eine Information mithilfe der Sprache an einen Empfänger. Der Empfänger interpretiert die Sprache und erhält daraus eine Information.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Was ist ein Syntaxbaum und woraus besteht er?

A

Ein Syntaxbaum zeigt die syntaktische Struktur des Satzes vom Allgemeinen zum Spezifischen.

Terminalsymbol: hier endet Regelanwendung (Blätter im Baum / nur rechte Seite der Regel)

Nichtterminalsymbol: Platzhalter (innere Knoten / mind. 1-mal links vom Pfeil)

Alphabet: alle Bestandteile einer Sprache
Leeres Wort ε: Wort der Länge 0

Länge einer Zeichenkette │k│: Anzahl der Terminale, die k enthält; │ε│ = 0

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Funktion und Aufbau von Regeln

A

Eine Sprache wird durch Regeln aufgebaut. Sie geben an , wie aus Wörtern durch eine Grammatik neue Wörter bzw. Symbolfolgen entstehen.
Eine Regel besteht aus einer linken Seite, einem Pfeil → und einer rechten Seite. Links steht ein Nichtterminal und rechts eine Term aus Nichtterminalen und Terminalen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Wie benutz man Regeln?

A

Alle Wörter, die sich mit den gegebenen Regeln erzeugen lassen, gehören zur Sprache.

Zur Ableitung eines Wortes beginne mir der ersten Regel. Dieses Nichtterminal heißt Startsymbol.
Wende die Regel auf den Term an, indem das Nichtterminal durch die rechte Seite der entsprechenden Regel ersetzt wird. Wende so lange die Regel an, bis nur noch Terminale übrig sind. Das resultierende Wort ist Teil der Sprache.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Definition und Darstellung einer Grammatik

A

Eine (formale) Sprache über einem Alphabet ∑ ist eine Teilmenge der Menge ∑* aller möglichen Wörter über ∑.

Die „korrekte“ Teilmenge und somit die Sprache wird durch die Grammatik G definiert:
1. Menge von Variablen V (Nichtterminale)
2. Alphabet ∑ (Terminale) ( kann auch
aus zsmgesetzten Zeichen (Token)
bestehen)
3. Menge der Produktionen P
(Ableitungsregeln)
4. Eine Startvariable S є V
5. Mit ∑ ∩ V = 0

Produktionen können mit EBNF oder in Diagrammform mit Syntaxdiagrammen dargestellt werden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Wozu braucht man (endliche) Automaten?

A

Computer können nur Vorgänge bearbeiten, die sich durch eine formale Sprache ausdrücken lassen. Die Maschine muss eine Syntaxprüfung durchführen.

Dies kann mithilfe eines erkennenden Automaten (EA) stattfinden. Erst danach ist eine eindeutige Weiterverarbeitung möglich.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Aufbau und Funktionsweise eines DEAs

A

Der (deterministische) endliche Automat dient zur Erkennung, ob ein Wort Teil einer (regulären) formalen Sprache ist.
Definiert wird ein EA durch seine endliche Anzahl an Zuständen, ein Startzustand, mind. einem Endzustand, den Zustandsübergängen und dem Eingabealphabet.
Ein Wort wird zeichenweise vom Automaten abgearbeitet und genau dann akzeptiert, wenn nach vollständiger Abarbeitung des Wortes ein Endzustand des Automaten erreicht ist.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Besserer DEA?

A

Endliche Automaten, bei denen es zu jedem Zustand bei jedem Eingabezeichen einen Zustandsübergang gibt, nennt man vollständigen Automaten. Durch Hinzufügen von Fangzuständen kann jeder DEA zum vollständigen Automaten ergänzt werden. Vollständige Automaten stoppen immer erst dann, wenn alle Zeichen abgearbeitet sind.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly