anmerkung des autor diese präsentation ist mit powerpoint für macos erstellt. leider ist sie nicht...
TRANSCRIPT
![Page 1: Anmerkung des Autor Diese Präsentation ist mit Powerpoint für MacOS erstellt. Leider ist sie nicht vollständig mit Powerpoint für Windows kompatibel](https://reader030.vdocuments.site/reader030/viewer/2022020118/570491c51a28ab14218da94c/html5/thumbnails/1.jpg)
Anmerkung des AutorDiese Präsentation ist mit Powerpoint für
MacOS erstellt. Leider ist sie nicht vollständig mit Powerpoint für Windows kompatibel. Das hat zur Folge, dass die Animationen nicht korrekt abgearbeitet werden und erscheinende Elemente zum Teil nicht wieder verschwinden.
Dirk Pape.
![Page 2: Anmerkung des Autor Diese Präsentation ist mit Powerpoint für MacOS erstellt. Leider ist sie nicht vollständig mit Powerpoint für Windows kompatibel](https://reader030.vdocuments.site/reader030/viewer/2022020118/570491c51a28ab14218da94c/html5/thumbnails/2.jpg)
Warum versteht mich mein Taschenrechner?
Von der Formel zum ErgebnisDr. Dirk Pape, Institut für Informatik, Freie Universität Berlin
http://www.inf.fu-berlin.de/~pape/zum 1. Berliner MNU-Kongress, Sept. 2002
![Page 3: Anmerkung des Autor Diese Präsentation ist mit Powerpoint für MacOS erstellt. Leider ist sie nicht vollständig mit Powerpoint für Windows kompatibel](https://reader030.vdocuments.site/reader030/viewer/2022020118/570491c51a28ab14218da94c/html5/thumbnails/3.jpg)
Der klassische Taschenrechnerreagiert auf Tastendrucke
3 0
sin
=
55
*
30
2.5
0.5
5.0
![Page 4: Anmerkung des Autor Diese Präsentation ist mit Powerpoint für MacOS erstellt. Leider ist sie nicht vollständig mit Powerpoint für Windows kompatibel](https://reader030.vdocuments.site/reader030/viewer/2022020118/570491c51a28ab14218da94c/html5/thumbnails/4.jpg)
Der Computerinterpretiert Formeln
5 * sin(30) =2.5
f(x) = 5 * sin(x)f(30) =2.5
speichert Formelnok.
formt Formeln um, etc.
![Page 5: Anmerkung des Autor Diese Präsentation ist mit Powerpoint für MacOS erstellt. Leider ist sie nicht vollständig mit Powerpoint für Windows kompatibel](https://reader030.vdocuments.site/reader030/viewer/2022020118/570491c51a28ab14218da94c/html5/thumbnails/5.jpg)
Was bedeutet „interpretieren“?• Wörter (Symbole) erkennen
Z.B. Pferd, das oder Satzzeichen• Sätze (Syntax) erkennen
Z.B. Das Pferd hält schwarz• Bedeutung (Semantik) ermitteln
???
![Page 6: Anmerkung des Autor Diese Präsentation ist mit Powerpoint für MacOS erstellt. Leider ist sie nicht vollständig mit Powerpoint für Windows kompatibel](https://reader030.vdocuments.site/reader030/viewer/2022020118/570491c51a28ab14218da94c/html5/thumbnails/6.jpg)
Formeln interpretieren• Wörter (Symbole) erkennen
5, *, sin, (, 30, )• Sätze (Syntax) erkennen
• Bedeutung (Semantik) ermitteln=2.5
*
5 sin
30
![Page 7: Anmerkung des Autor Diese Präsentation ist mit Powerpoint für MacOS erstellt. Leider ist sie nicht vollständig mit Powerpoint für Windows kompatibel](https://reader030.vdocuments.site/reader030/viewer/2022020118/570491c51a28ab14218da94c/html5/thumbnails/7.jpg)
Phasen des Interpretierens
Formel als Text5*sin(30)
*
5 sin
30
Formel in abstrakter Syntax
Berechne Formel=2,5
Analyse Synthese
![Page 8: Anmerkung des Autor Diese Präsentation ist mit Powerpoint für MacOS erstellt. Leider ist sie nicht vollständig mit Powerpoint für Windows kompatibel](https://reader030.vdocuments.site/reader030/viewer/2022020118/570491c51a28ab14218da94c/html5/thumbnails/8.jpg)
Abstrakte Syntax – Beispiel: eine Datenstruktur für Formelndata Formel = ZAHL Int | PLUS Formel Formel | MAL Formel Formel | SIN Formel | COS Formel | VAR String
![Page 9: Anmerkung des Autor Diese Präsentation ist mit Powerpoint für MacOS erstellt. Leider ist sie nicht vollständig mit Powerpoint für Windows kompatibel](https://reader030.vdocuments.site/reader030/viewer/2022020118/570491c51a28ab14218da94c/html5/thumbnails/9.jpg)
Formeln rekursiv berechnenBerechne 11. Berechne 2
-> 5
2. Berechne 3Berechne 4
-> 30Berechne sin (30)
-> 0.5
3. Berechne 5 * 0.5-> 2.5
*
5 sin
30
1
2 3
4
![Page 10: Anmerkung des Autor Diese Präsentation ist mit Powerpoint für MacOS erstellt. Leider ist sie nicht vollständig mit Powerpoint für Windows kompatibel](https://reader030.vdocuments.site/reader030/viewer/2022020118/570491c51a28ab14218da94c/html5/thumbnails/10.jpg)
Berechnen – Beispielberechnen(f) = case f of ZAHL n -> n PLUS f1 f2 -> berechnen(f1) + berechnen(f2) MAL f1 f2 -> berechnen(f1) * berechnen(f2) SIN f -> sin (berechnen(f)) COS f -> cos (berechnen(f)) VAR v -> [„auslesen von Variable v“]
![Page 11: Anmerkung des Autor Diese Präsentation ist mit Powerpoint für MacOS erstellt. Leider ist sie nicht vollständig mit Powerpoint für Windows kompatibel](https://reader030.vdocuments.site/reader030/viewer/2022020118/570491c51a28ab14218da94c/html5/thumbnails/11.jpg)
Formeln umformenForme x * (... + ...) um
2 * (4 + 5)-> 2 * 4 + 2 * 5*
x +
...
1
2 3
4...
5
*
x
+
...2 4 5
*
...x2
![Page 12: Anmerkung des Autor Diese Präsentation ist mit Powerpoint für MacOS erstellt. Leider ist sie nicht vollständig mit Powerpoint für Windows kompatibel](https://reader030.vdocuments.site/reader030/viewer/2022020118/570491c51a28ab14218da94c/html5/thumbnails/12.jpg)
Umformen – Beispielumformen(f) = case f of ZAHL n -> ZAHL n PLUS f1 f2 -> PLUS (umformen(f1)) (umformen(f2)) MAL f1 (PLUS f2 f3) -> PLUS (umformen(MAL f1 f2)) (umformen(MAL f1 f3)) MAL f1 f2 -> MAL (umformen(f1)) (umformen(f2)) SIN f -> SIN (umformen(f)) COS f -> COS (umformen(f)) VAR v -> VAR v
![Page 13: Anmerkung des Autor Diese Präsentation ist mit Powerpoint für MacOS erstellt. Leider ist sie nicht vollständig mit Powerpoint für Windows kompatibel](https://reader030.vdocuments.site/reader030/viewer/2022020118/570491c51a28ab14218da94c/html5/thumbnails/13.jpg)
Formeln interpretieren• Wörter (Symbole) erkennen
5, *, sin, (, 30, )• Sätze (Syntax) erkennen
• Bedeutung (Semantik) ermittelnBerechnen =2.5, Umformen, Speichern, ...
*
5 sin
30
![Page 14: Anmerkung des Autor Diese Präsentation ist mit Powerpoint für MacOS erstellt. Leider ist sie nicht vollständig mit Powerpoint für Windows kompatibel](https://reader030.vdocuments.site/reader030/viewer/2022020118/570491c51a28ab14218da94c/html5/thumbnails/14.jpg)
Wie versteht mich der Computer?Zeichen werden zu Wörtern
SO...S?So...nntag?So...ndermeldung?
... --- ...
![Page 15: Anmerkung des Autor Diese Präsentation ist mit Powerpoint für MacOS erstellt. Leider ist sie nicht vollständig mit Powerpoint für Windows kompatibel](https://reader030.vdocuments.site/reader030/viewer/2022020118/570491c51a28ab14218da94c/html5/thumbnails/15.jpg)
Wörter erkennen
start s on
s
SOS
pause
a
x
![Page 16: Anmerkung des Autor Diese Präsentation ist mit Powerpoint für MacOS erstellt. Leider ist sie nicht vollständig mit Powerpoint für Windows kompatibel](https://reader030.vdocuments.site/reader030/viewer/2022020118/570491c51a28ab14218da94c/html5/thumbnails/16.jpg)
Formelsymbole erkennen
start 2 3 5
4
c ots
cos
(
(
+
Var „cost“
![Page 17: Anmerkung des Autor Diese Präsentation ist mit Powerpoint für MacOS erstellt. Leider ist sie nicht vollständig mit Powerpoint für Windows kompatibel](https://reader030.vdocuments.site/reader030/viewer/2022020118/570491c51a28ab14218da94c/html5/thumbnails/17.jpg)
Tabellengesteuerter Automat( + ) c o s * t
1 19 137 58 2 . . . .
2 3
3 4
4 Cos1
5
5 Var1
![Page 18: Anmerkung des Autor Diese Präsentation ist mit Powerpoint für MacOS erstellt. Leider ist sie nicht vollständig mit Powerpoint für Windows kompatibel](https://reader030.vdocuments.site/reader030/viewer/2022020118/570491c51a28ab14218da94c/html5/thumbnails/18.jpg)
Informatiker sind erfindungsreichComputerprogramme erzeugen die
TabellenComputerprogramme erzeugen
Computerprogramme, die Formeln erkennen
Computerprogramme erzeugen Tabellen und Computerprogramme aus Formeln
![Page 19: Anmerkung des Autor Diese Präsentation ist mit Powerpoint für MacOS erstellt. Leider ist sie nicht vollständig mit Powerpoint für Windows kompatibel](https://reader030.vdocuments.site/reader030/viewer/2022020118/570491c51a28ab14218da94c/html5/thumbnails/19.jpg)
„Scanner“ erkennen Symbolebs = [a-z]zf = [0-9]cos = cosvar = bs+zahl = -?zf+...
![Page 20: Anmerkung des Autor Diese Präsentation ist mit Powerpoint für MacOS erstellt. Leider ist sie nicht vollständig mit Powerpoint für Windows kompatibel](https://reader030.vdocuments.site/reader030/viewer/2022020118/570491c51a28ab14218da94c/html5/thumbnails/20.jpg)
„Scanner“ erkennen Symbole
5*sin(30)
Zahl 5MalSinKlammeraufZahl 30Klammerzu
![Page 21: Anmerkung des Autor Diese Präsentation ist mit Powerpoint für MacOS erstellt. Leider ist sie nicht vollständig mit Powerpoint für Windows kompatibel](https://reader030.vdocuments.site/reader030/viewer/2022020118/570491c51a28ab14218da94c/html5/thumbnails/21.jpg)
„Scanner“ erkennen Symbole
5*cost*30
Zahl 5MalVar costMalZahl 30
![Page 22: Anmerkung des Autor Diese Präsentation ist mit Powerpoint für MacOS erstellt. Leider ist sie nicht vollständig mit Powerpoint für Windows kompatibel](https://reader030.vdocuments.site/reader030/viewer/2022020118/570491c51a28ab14218da94c/html5/thumbnails/22.jpg)
„Scanner“ erkennen Symbole
5*sin)30(
Zahl 5MalSinKlammerzuZahl 30Klammerauf
![Page 23: Anmerkung des Autor Diese Präsentation ist mit Powerpoint für MacOS erstellt. Leider ist sie nicht vollständig mit Powerpoint für Windows kompatibel](https://reader030.vdocuments.site/reader030/viewer/2022020118/570491c51a28ab14218da94c/html5/thumbnails/23.jpg)
Scanner-Generatoren• Lex für C, C++, Java, ...• Flex für C, C++, Java, ...• Alex für Haskell• ...
![Page 24: Anmerkung des Autor Diese Präsentation ist mit Powerpoint für MacOS erstellt. Leider ist sie nicht vollständig mit Powerpoint für Windows kompatibel](https://reader030.vdocuments.site/reader030/viewer/2022020118/570491c51a28ab14218da94c/html5/thumbnails/24.jpg)
Wie versteht mich der Computer?Wörter werden zu Sätzen
Zahl 5 *
5
Sinus Klammerauf Zahl 30 Klammerzu
30
sin
*
![Page 25: Anmerkung des Autor Diese Präsentation ist mit Powerpoint für MacOS erstellt. Leider ist sie nicht vollständig mit Powerpoint für Windows kompatibel](https://reader030.vdocuments.site/reader030/viewer/2022020118/570491c51a28ab14218da94c/html5/thumbnails/25.jpg)
Kellerautomat
+formel1
+formel1
( )+formel1
+formel1
formel2
+
+formel1
(
![Page 26: Anmerkung des Autor Diese Präsentation ist mit Powerpoint für MacOS erstellt. Leider ist sie nicht vollständig mit Powerpoint für Windows kompatibel](https://reader030.vdocuments.site/reader030/viewer/2022020118/570491c51a28ab14218da94c/html5/thumbnails/26.jpg)
Eine Grammatik für Formelnformel : Zahl | formel Plus formel | formel Mal formel | Sinus Klammerauf formel Klammerzu | Cosinus Klammerauf formel Klammerzu | Variable | Klammerauf formel Klammerzu
![Page 27: Anmerkung des Autor Diese Präsentation ist mit Powerpoint für MacOS erstellt. Leider ist sie nicht vollständig mit Powerpoint für Windows kompatibel](https://reader030.vdocuments.site/reader030/viewer/2022020118/570491c51a28ab14218da94c/html5/thumbnails/27.jpg)
„Parser“ erkennen Sätze
5, *, Sinus, (, 30, )
Formel 1
*
(
...
*
5 sin
30
![Page 28: Anmerkung des Autor Diese Präsentation ist mit Powerpoint für MacOS erstellt. Leider ist sie nicht vollständig mit Powerpoint für Windows kompatibel](https://reader030.vdocuments.site/reader030/viewer/2022020118/570491c51a28ab14218da94c/html5/thumbnails/28.jpg)
Parser-Generatoren• Yacc für C, C++, Java, ...• Bison für C, C++, Java, ...• Happy für Haskell• ...
![Page 29: Anmerkung des Autor Diese Präsentation ist mit Powerpoint für MacOS erstellt. Leider ist sie nicht vollständig mit Powerpoint für Windows kompatibel](https://reader030.vdocuments.site/reader030/viewer/2022020118/570491c51a28ab14218da94c/html5/thumbnails/29.jpg)
ÜbersetzerbauProgrammiersprachen
• sind Sprachen, mit denen der Computer programmiert wird (C, Java, Haskell, ...)
• haben eine GrammatikProgramme
• sind grammatikalisch korrekte Formeln in einer Programmiersprache
• werden mit Hilfe von Scannern und Parsern analysiert
• und in einfache Maschinenbefehle übersetzt (Synthese)
![Page 30: Anmerkung des Autor Diese Präsentation ist mit Powerpoint für MacOS erstellt. Leider ist sie nicht vollständig mit Powerpoint für Windows kompatibel](https://reader030.vdocuments.site/reader030/viewer/2022020118/570491c51a28ab14218da94c/html5/thumbnails/30.jpg)
Algorithmen im ÜbersetzerbauScannen und Parsen
• Endlicher Automat• Endlicher Kellerautomat• Rekursiver „Ad-hoc-Parser“
Scanner- und Parsergeneratoren• Anspruchsvolle Algorithmen
Synthese• Rekursive Funktionen und Prozeduren auf
baumartigen Datenstrukturenweitere „Highlights“, z. B. „bootstrapping“
![Page 31: Anmerkung des Autor Diese Präsentation ist mit Powerpoint für MacOS erstellt. Leider ist sie nicht vollständig mit Powerpoint für Windows kompatibel](https://reader030.vdocuments.site/reader030/viewer/2022020118/570491c51a28ab14218da94c/html5/thumbnails/31.jpg)
Ich wünsche noch viel Spaß
beim MNU-Kongress