Compilerbauhome Compilerbau: Compiler und Interpretierer Prof. Dr. Uwe Schmidt FH Wedel

Compiler und Interpretierer

weiter

weiter

Compiler

Sprachen
drei Sprachen involviert
weiter
Quellsprache
für die Quellprogramme
weiter
Zielsprache
Maschinensprache, Assembler, andere höhere Programmiersprache
weiter
Implementierungssprache
Programmiersprache, in der der Compiler selbst geschrieben ist
weiter
T-Diagramm
grafische Darstellung eines Compilers bei der Beschreibung von Portierungen

weiter

Interpretierer

Eigenschaften
Maschine in Software
weiter
gut
Flexibilität: Instrumentierung, Debugging, Tracing, Logging
gut
Flexibilität: Portierbarkeit, Erweiterbarkeit
weiter
Virtuelle Maschinen
JVM, LLVM, Pascal P-Code, LISP, TeX, PostScript, ...
weiter
inkrementelle SW-Entwicklung
edit -> execute Zyklus
NICHT
edit -> compile -> link -> execute
weiter
merke
Geschwindigkeit des ausgeführten Programms?
weiter
schlecht
JVM (in C): 20 mal langsamer als gleichwertiges C-Programm
weiter
Effizienz
von Interpretierern
weiter
?
Wo entsteht der Overhead?
weiter
Verhältnis
Zeit für die Kontrollschleife / Zeit für die eigentliche Operation
weiter
Kontrollschleife
1.
Instruktion holen
2.
Instruktion dekodieren
3.
Operanden holen
4.
Operation ausführen
5.
Ergebnisse speichern
6.
Programmzähler fortschalten
weiter
Einfache Operationen -> großer Overhead
Komplexe Operationen -> kleiner Overhead
weiter
?
Effizienz JVM?
?
Effizienz Perl?
?
Effizienz bash?
?
Effizienz SQL?
T-Diagramm
grafische Darstellung eines Interpretieres bei der Beschreibung von Portierungen

Letzte Änderung: 26.10.2015
© Prof. Dr. Uwe Schmidt
Prof. Dr. Uwe Schmidt FH Wedel