• Keine Ergebnisse gefunden

Interdisziplinäre fachdidaktische Übung: Modelle für formale Sprachen

N/A
N/A
Protected

Academic year: 2022

Aktie "Interdisziplinäre fachdidaktische Übung: Modelle für formale Sprachen"

Copied!
28
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Interdisziplinäre

fachdidaktische Übung:

Modelle für

formale Sprachen

SS 2015: Grossmann, Jenko

(2)

Modelle für formale Sprachen

Die Beschreibung orientiert sich am Begriffssystem der Beschreibung

natürlicher Sprachen

Formale Sprache steht dabei

stellvertretend für alle drei Begriffe

– Formale Sprache

– Programmiersprache – Computersprache

2 Modelle für formale Sprachen

(3)

Modelle für formale Sprachen

Da eine Maschine keine Sprachfähigkeit hat muss der Begriff Sprache von einem abstrakten Modell her entwickelt werden Die Strukturbeschreibung formaler

Sprachen wird wesentlich durch die Aufgabe „Kommunikation mit einer Maschine“ bestimmt

Modelle für formale Sprachen 3

(4)

Modell für formale Sprachen

Betrachtungen eine formalen Sprache (vgl. Modell natürliche Sprache

(5)

Modell für formale Sprachen

Diese Konzepte werden

– unterschiedlich interpretiert

– haben bei den drei Begriffen Formale Sprachen – Programmiersprache –

Computersprache unterschiedliches Gewicht

5 Modelle für formale Sprachen

(6)

Formale Sprache - Übermittlungsmedium

Das Übermittlungsmedium ist sehr vielfältig (Sprache, Zeichen, Bilder, Gesten,…)

Multimedialität

Für die Kommunikation ist dies ein

wesentlicher Aspekt für Computersprachen

– Ikonen, Graphische Eingabesprachen, Bildbeschreibungssprachen

– Human Computer Interfaces

(7)

Formale Sprache - Übermittlungsmedium

In der Kommunikation mit einer Maschine wird alles in eine Zeichenkette

umgewandelt

Für die verschiedene Übermittlungsmedien gibt es eigene Programmiersprachen für die Umwandlung der Eingabe in eine formale

Maschinensprache und der

Rückübersetzung in das Ausgabemedium

Modelle für formale Sprachen 7

(8)

Formale Sprache - Übermittlungsmedium

Dabei wird eine Folge von

Transformationen angewendet, die

unterschiedliche Sprachen verwenden

Trafo1 Trafo2 Trafo3

(9)

Formale Sprache - Übermittlungsmedium

Jedes Eingabemedium nutzt Wissen von unterschiedlichen Disziplinen

– Fragen der Phonetik und der Phonologie spielen bei der Spracheingabe eine Rolle

– Andere Disziplinen wie Graphik (statisch oder dynamisch), oder Haptik spielen eine zentrale Rolle beim Übermittlungsmedium

Modelle für formale Sprachen 9

(10)

Formale Sprache – Grammatik, Morphologie

Struktur von Wörtern

Der Begriff „Wort“ wird in formalen Sprachen allgemeiner als eine Zeichenkette verstanden

Programmiersprachen haben üblicherweise eine Reihe von reservierten Wörtern

Es gibt auch Regeln zur Konstruktion von neuen Wörtern

(11)

Formale Sprache – Grammatik, Morphologie

Fragen:

– Beispiele von reservierten Wörtern in der Kommunikation mit dem Computer

– Beispiele von Regeln zur Konstruktion von neuen Wörtern in der Kommunikation mit einem Computer

– Beispiele von grammatischen Kategorien in Programmiersprachen

11 Modelle für formale Sprachen

(12)

Formale Sprache – Grammatik, Syntax

In formalen Sprachen spielt eine präskriptive Grammatik eine zentrale Rolle

– Regeln zur Bildung von korrekten Ausdrücken – Regeln welche die Überprüfung der Korrektheit

eines Ausdruckes im Sinne der Regeln erlauben

(13)

Formale Sprache – Grammatik, Syntax

Einige Grammatische Kategorien formaler Sprachen:

– Zeichen (Alphabet, Symbole)

– Zeichenketten (Strings) „Wörter“

– Zahlen

• Natürliche Zahlen,

• Dezimalzahlen mit vorgegebenen Kommastellen

13 Modelle für formale Sprachen

(14)

Formale Sprache – Grammatik, Syntax

– Reservierte Worte für die Beschreibung von Abläufen

• Bedingungen: wenn bedingung dann aktivität

• Alternativen: wenn bedingung dann aktivität1 sonst aktivität 2

• Wiederholtes Ausführen:

wiederhole aktivität n-mal

– Aus diesen Konstruktionen können durch Schachtelung komplexe Ausdrücke gebildet werden

(15)

Formale Sprache – Grammatik, Syntax

Satzsyntax: Wir konstruieren einen

komplexen Ablauf oder eine Berechnung, ähnlich wie einen Satz in einer natürlichen Sprache in einer generativen Grammatik Ein Satz wird aus einzelnen Phrasen

aufgebaut

Dieser Aufbau kann durch einen Baum dargestellt werden (Ableitungsbaum)

15 Modelle für formale Sprachen

(16)

Formale Sprache – Grammatik, Syntax

Beispiel für einen Ableitungsbaum

Satz

NP VP

D N V NP

Der Hund fraß

D N

(17)

Formale Sprache – Grammatik, Syntax

Ähnlich definieren wir eine formale Sprache

– Eine endliche Menge von Symbolen, die man Alphabet bezeichnet. Sie bilden die Terminalen Symbole

– Eine endliche Menge von Nicht-terminalen Symbolen, die man auch Variable nennt

– Ein Startsymbol – Produktionsregeln:

Ausdruck linke Seite  Ausdruck rechte Seite

Ausdrücke werden als Terme bezeichnet

Modelle für formale Sprachen 17

(18)

Formale Sprache – Grammatik, Syntax

Im Prinzip gibt es nur drei Regeln um Terme zu bilden:

Alle Elemente Alphabets sind Terme

Verkettung von Termen: (x, y)  xy

Alternative Auswahl von Termen: x | y

Wesentlich für die Charakterisierung von

formalen Sprachen sind Produktionsregeln Jede Produktion wird Wort genannt

Modelle für formale Sprachen 18

(19)

Formale Sprache – Grammatik, Syntax

Die Verwendung dieser Syntax ist zweifach

– Konstruktion von syntaktisch richtigen Sätzen durch Menschen oder eine Maschine, die ein ausführbares Programm definieren

– Analysieren von Sätzen, d.h. die Maschine kann nach diesen Regeln das eingegebene Programm „verstehen“ und die

Handlungsanweisungen in eindeutiger Weise ausführen

19 Modelle für formale Sprachen

(20)

Formale Sprache – Grammatik, Syntax

Die Syntax von natürlichen Sprachen erlauben im allgemeinen nicht eine

eindeutige Rekonstruktion eines Satzes Beispiele:

Ich sah den Mann mit dem Fernglas

Der Chef lachte über die Forderung der Angestellten nach einer Gehaltserhöhung im Mai

Aufgabe:

Bilde mögliche Ableitungsbäume für diese Sätze

(21)

Formale Sprachen –Grammatik, Synatx

Grammatiken werden meist durch eine der folgenden beiden Methoden beschrieben

Angabe der Produktionsregeln(Backus – Naur Form)

Angabe der Struktur regulärer Ausdrücke

21 Modelle für formale Sprachen

(22)

Formale Sprachen – Semantik

Semantik formaler Sprachen beschäftigt sich wie bei natürlichen Sprachen mit dem Aufbau und der Bedeutung der durch die Grammatik gebildeten

Ausdrücke

Man unterscheidet statische und dynamische Semantik

Beschreibung der Semantik oft in

(23)

Formale Sprachen – Semantik

Statische Semantik

Regeln, die in der Sprache erfüllt sein müssen und formal überprüft werden können

Regeln entsprechen unserer Vorstellung

von „semantisch sinnvollen“ Ausdrücken Beispiel: Addition nur für Zahlen sinnvoll Mojca+Wilfried = ?

Modelle für formale Sprachen 23

(24)

Formale Sprachen – Semantik

Lösung dieses Problems durch Typisierung:

Addition von ganzen Zahlen ist anders zu verstehen als Addition von

Dezimalzahlen (Rechengenauigkeit)

(25)

Formale Sprachen – Semantik

Dynamische Semantik

Semantik, die sich aus der Abarbeitung der Befehle ergibt

Meist in einem eingeschränkten Kontext behandelt: Ist Programm korrekt?

Korrekt bedeutet, dass das Programm seine Analyse in endlicher Zeit mit einer Antwort endet

25 Modelle für formale Sprachen

(26)

Formale Sprachen – Semantik

Beispiel für ein nicht korrektes Programm:

x = 1

solange x > 0 führe durch addiere zu x den Wert 1

Diese Anweisungen sind syntaktisch

korrekt, aber im Sinne der dynamischen Semantik nicht korrekt

(27)

Formale Sprachen – Semantik

Eine Präzisierung dieser Idee führt zur Frage der Berechenbarkeit und der Entscheidbarkeit

27 Modelle für formale Sprachen

(28)

Formale Sprachen – Semantik

Diese Semantik ist offensichtlich viel

einfacher als die Semantik natürlicher Sprachen

Zur Erreichung einer komplexeren

Semantik benötigen wir Programme, welche eine Problemstellung auf die Anwendung von Ersetzungsregeln für immer komplexer werdende Bausteinen

Referenzen

ÄHNLICHE DOKUMENTE

Gruppe 4: Beschreiben sie an Beispielen, wie man endliche Automaten zur Konkatenation zweier regulärer Sprachen und zur Vereinigung und zur Schnittmenge zweier Sprachen bildet, und

• *mer d'chind de Hans es huus lönd hälfe aastriiche wir die Kinder AKK Hans AKK das Haus AKK ließen helfen anstreichen wir die Kinder-AKK Hans-AKK das Haus-AKK

Wir werden in diesem Abschnitt zuerst zeigen, dass f¨ur die im vorangegangenen Abschnitt eingef¨uhrten Typen von Grammatiken jeweils Normalformen existieren, d.h. Grammati- ken

Definition Eine nichtdeterministische Turingmaschine M heißt linear be- schr¨ ankter Automat (LBA), wenn bei jedem Lauf von M nur die Speicher- zellen der Eingabe benutzt

Definition Eine nichtdeterministische Turingmaschine M heißt linear be- schr¨ ankter Automat (LBA), wenn bei jedem Lauf von M nur die Speicher- zellen der Eingabe benutzt

Eine Sprache ist genau dann eine Typ-1-Sprache, wenn sie von einem linear beschr¨ ankten Automaten akzeptiert werden

❚ Zeichen können "hintereinandergefügt" werden und bilden durch die Reihung Worte. ❚ Der Operator hierzu

❚ Im Kontext einer Grammatik können Produktionsregeln mehrfach hintereinander angewendet werden. ❚ Es soll nun alles, was auch mehrschrittig abgeleitet werden kann,