Grammatik Flashcards

1
Q

Wie und durch welches Zeichen ist ein Alphabet definiert?

A

∑ – Sigma

Eine nicht leere endliche (geordnete) Menge von Symbolen.

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

Wie ist ein Wort definiert?

A

Eine Reihenfolge von endlich vielen Symbolen eines Alphabets, auch wenn es nicht den Regeln der Sprache entspricht.

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

Durch welches Zeichen wird ein leeres Wort dargestellt?

A

ɛ – Epsilon

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

Wie wird die Menge aller Wörter in einem Alphabet bezeichnet?

A

∑*

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

Wie ist eine (formale) Sprache definiert?

A

Es ist eine bestimmte Teilmenge der Menge aller möglichen Wörter ∑* über ∑.

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

Wie kann man Missverständnisse und Zweideutigkeiten einer Sprache verhindern?

A

Durch die Verwendung einer formalen Sprache.

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

Wie kommt eine formale Sprache zustande?

A

Man definiert eine Menge von Zeichenketten über einem Alphabet als zulässig.

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

Was stellt die Regeln zur Bildung zulässiger Zeichenketten dar?

A

Syntax

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

Wie bezeichnet man die Bedeutung eines Wortes?

A

Semantik

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

Wie nennt man die eindeutige Festlegung einer formalen Sprache mit Regeln?

A

Grammatik

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

Wie ist eine Grammatik aufgebaut?

A
Durch ein 4-Tupel:
– N, die Menge der Nichtterminalsymbole
– T, die Menge der Terminalsymbole
– S ∈ N, das Startsymbol
– P, die Menge der Produktionen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Wie gibt man eine Menge an Optionen an?

A

Durch “{ … }”

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

Welche Arten von Sprachen/Grammatiken gibt es?

A

– reguläre
– kontextfreie
– kontextsensitive

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

Wann ist eine Grammatik regulär?

A

Wenn sich ein zu bildendes nur in eine Richtung entwickelt, nach links oder rechts.
Und wenn auf der jeweiligen Seite höchstens ein Nichtterminal- hinter höchstens einem Terminalsymbol in der Produktion steht.

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

Wie unterscheidet sich die regulären Grammatiken noch?

A

Durch rechtsregulär und linksregulär.
Rechtsregulär bedeutet, dass sich ein zu bildendes Wort nach rechts entwickelt.
Linksregulär bedeutet, dass sich ein zu bildendes Wort nach links entwickelt.

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

Wann ist eine Sprache/Grammatik kontextfrei?

A

A → α
Wenn aus der Grammatik hervorgeht, dass ein Nichtterminalsymbol (=A) zu einer nichtleere Symbolfolge aus Terminal- und/oder Nichtterminalsymbolen (=α) ersetzt werden kann.
Es kommt nicht auf den Kontext / die Umgebung von dem zu ersetzenden Nichterminalsymbol an.

17
Q

Wann ist eine Sprache/Grammatik (kontext-)sensitiv?

A

γAβ → γαβ
Wenn aus der Grammatik hervorgeht, dass ein Nichtterminalsymbol (=A) nur dann ersetzt werden kann, wenn es zwischen zwei Symbolfolgen (=γ und β) steht, d. h. im Kontext von zwei Symbolfolgen steht.

18
Q

Wann ist eine Ableitung einer kontextfreien Grammatik eine Links- oder Rechtsableitung?

A

Rechtsableitung: Wenn immer das am weitesten rechts stehende Nichtterminalsymbol ersetzt wird
Linksableitung: Wenn immer das am weitesten links stehende Nichtterminalsymbol ersetzt wird

19
Q

Wovon werden kontextfreie Sprachen akzeptiert?

A

Von Kellerautomaten

20
Q

Wann ist eine kontextfreie Grammatik eindeutig?

A

Wenn für jedes Wort der Sprache nur eine Linksableitung oder Rechtsableitung gibt, sonst mehrdeutig

21
Q

Was ist das besondere an kontextsensitive Sprachen?

A

Es können Programmiersprachen definiert und Übersetzer/Compiler konstruiert werden