Sprache

Werbung
Sprachanalyse
Fachseminar WS 08/09
Dozent: Prof. Dr. Helmut Weber
Referentin: Nadia Douiri
Inhalt
1. Formale Sprachen
2. Chomsky-Hierarchie
Nadia Douiri
Fachseminar
2
FORMALE SPRACHE
1.
WAS IST EINE SPRACHE?
2.
WIE BESCHREIBT MAN EINE SPRACHE?
3.
WAS IST EINE FORMALE SPRACHE?
Nadia Douiri
Fachseminar
3
1. WAS IST EINE SPRACHE?
 aus Wörtern bestehende, also verbale Kommunikation
 Wortschatz, welcher semantische Informationen enthält
und eine Grammatik, welche die Wörter in Beziehung
zueinander setzt.
Sprache
Natürliche Sprache
Nadia Douiri
Formale Sprache
Fachseminar
4
2. WIE BESCHREIBT MAN EINE
SPRACHE?
Eine Sprache kann sowohl durch eine
formale Beziehung (Syntax) als auch durch
die inhaltliche Bedeutung (Semantik)
beschrieben werden.
Nadia Douiri
Fachseminar
5
Semantik
Regelt den Gebrauch der Symbole aufgrund zusätzlicher Informationen,
wie z.B. der Bedeutung, dem Sinn und der Verständlichkeit.
Semantik
(inhaltliche Bedeutung)
Formale
Beschreibung der
Semantik
Wörterbuch:
Semantik durch
Übersetzung
Nadia Douiri
Fachseminar
6
Syntax
Regelt die erlaubten Kombinationen von Symbolen, also den formalen
Aufbau von Symbolen.
Sie definiert die Regeln, wie die Ausdrücke einer Sprache auszusehen
haben.
Syntax
(formale Beziehung)
Formale
Beschreibung
der Syntax
(Regelmenge)
Grammatik
Nadia Douiri
Fachseminar
7
3. WAS IST EINE FORMALE SPRACHE?

Programmiersprachen sind keine formalen Sprachen
sind, sondern sie werden lediglich durch formale
Sprachen definiert.

Eine Formale Sprache ist eine Menge von Wörtern
endlicher Länge gebildet aus Elementen eines
Alphabetes .

Der Unterschied zu natürlichen Sprachen ist, dass
formale Sprachen auf Sprachsysteme, konstruiert durch
Logik und/ oder Mathematik, basieren.
Nadia Douiri
Fachseminar
8
Unter Symbole versteht man unterscheidbare Objekte.
Beispiel für…
…ein simples Alphabet
a, b
…einen arithmetischer Ausdruck
+, -, *, /
…den alltäglichen Wortgebrauch
der, die, das,
…die Programmiersprache C
++, --, IF, !=
Nadia Douiri
Fachseminar
9
Ein Alphabet ist eine Menge von Symbolen oder Zeichen.
Beispiel für…
…ein simples Alphabet
A = { a ,b }
…einen korrekt geklammerter arithmetischer Ausdruck.
B = { ) ,( ,+ ,- ,* ,/ ,a }
…den alltäglichen Wortgebrauch
W = {der, die, das, kleine, große, bissige, jagt, Hund, Katze}
…die Programmiersprache C
C = { - , / , * , ++ , a , b , c , DO , FOR}
Nadia Douiri
Fachseminar
10
Ein Wort über einem Alphabet ist eine endliche Folge
von Symbolen.
Das leere Wort bzw. der Leerstring wird mit  bezeichnet.
Beispiel für…
…ein simples Alphabet
{a, ab, aa, abb, aba, aab}
…einen arithmetischen Ausdruck
{(((a))), (a - a) * a + a / (a + a) - a}
…die Programmiersprache C
{a++, a + b, a-b, WHILE(a != b)}
Nadia Douiri
Fachseminar
11
Eine Grammatik G ist ein 4-Tupel G = (N, T, P, S), wobei
N:
Menge von nichtterminalen Symbolen,
T:
Menge von terminalen Symbolen, d.h. das Alphabet
P:
Menge der Produktionen
S:
Startsymbol
wobei S ∈ N und T ∩ N = ∅
Nadia Douiri
Fachseminar
12
Beispiele
Nadia Douiri
Fachseminar
13
CHOMSKY-HIERARCHIE
1.
KLASSIFIZIERUNG
2.
ZUSAMMENFASSUNG DER TYPEN
3.
Menge aller Sprachen
Nadia Douiri
Fachseminar
14
Chomsky-Hierarchie

von Noam Chomsky beschrieben

eine Hierarchie von formalen Grammatiken, zum
Erzeugen von verschieden formalen Sprachen

zur Klassifizierung Einteilung in 4 Typen
Nadia Douiri
Fachseminar
15
1. KLASSIFIZIERUNG
Typ 0-Grammatik (uneingeschränkte Grammatik)
den Regeln sind keinerlei Einschränkungen auferlegt
 jede Grammatik ist zunächst automatisch von Typ 0 ist
 zu allgemein für den Compilerbau

Typ 1-Grammatik (kontextsensitive Grammatik)
für alle Regeln u → v in der Produktion gilt: |u| ≤ |v|
 Grammatiken von diesem Typ sind zugleich auch von
Typ 0.

Nadia Douiri
Fachseminar
16
Typ 2-Grammatik (kontextfreie Grammatik)
für alle Regeln u → v in der Produktion gilt, dass u eine
einzelne Variable ist.
 Jede Regel einer Typ-2-Grammatik stellt somit auch
eine von Typ 1 dar.
 Werden im Zusammenhang mit Programmiersprachen
benutzt.

Typ 3-Grammatik (reguläre Grammatik)
 zusätzlich für die Produktionen gilt,
linkslinear:
A → Ba, A → a
oder
rechtslinear:
A → aB, A → a
mit A, B ∈ N, a ∈ T.
Nadia Douiri
Fachseminar
17
2. ZUSAMMENFASSUNG DER TYPEN
Grammatik
Typ
Produktionsformen
Allgemein
0
beliebig
Kontextsensitiv
1
αAβ → αγβ
Kontextfrei
2
A →α
Regulär
3
A → a | aB |Ba
α, β, γ sind Symbolfolgen bestehend aus Terminalen und Variablen, A und B sind
Variablen, a ist ein Terminal
Nadia Douiri
Fachseminar
18
3. Menge aller Sprachen
Nadia Douiri
Fachseminar
19
Beispiele
Nadia Douiri
Fachseminar
20
Herunterladen