100 likes | 164 Views
Programmierkonzepte. Interpreter & Compiler. Interpretersprachen. Ein Quelltext wird erstellt Reiner ASCII-Text Der „Interpreter“ liest eine Zeile Prüft die Syntax, wenn richtig … Übersetzt in die Maschinensprache (MC) Führt den Befehl aus,
E N D
Programmierkonzepte Interpreter & Compiler
Interpretersprachen • Ein Quelltext wird erstellt • Reiner ASCII-Text • Der „Interpreter“ liest eine Zeile • Prüft die Syntax, wenn richtig … • Übersetzt in die Maschinensprache (MC) • Führt den Befehl aus, • Liest die nächste Zeile, bis alle Zeilen abgearbeitet sind. • Bei Neustart alles noch einmal.
Vor- & Nachteile d. interpretativen Arbeitsweise • Vorteile: • Einfache Befehlszeilen, • Jederzeit Anhalten, Einzelschritte, • Einfach zu übertragen (z.B. Internet), • Quelltext zur Bearbeitung jederzeit verfügbar. • Nachteile: • Benötigt immer die Interpretersoftware zum Starten, • Jeder Neustart durchläuft noch einmal alle Schritte, • Dadurch langsame Arbeitsweise, nicht für komplexe Programme geeignet. • Beispiele: • (Visual-)Basic, Java-Script, Perl, alle weiteren Script-Sprachen
Quelltext, Quelltext, Quelltext, Quelltext, Quelltext, Quelltext, Quelltext, Quelltext, Quelltext, Quelltext, Quelltext, Quelltext, Quelltext, Quelltext, Interpreter - Arbeitsweise 1 Zeile Lesen Bewerten Wiederholung bis Ende Quelltext Übersetzen Ausführen CPU
Compiler-Arbeitsweise • Quelltext in ASCII, • Syntaxprüfung bei Eingabe, • Durch Kompilierung in eine MC-Datei in Binärcode umgewandelt und zwischengespeichert, (Objektdatei *.obj) • Weitere, fertige Programmblöcke, sogenannte „Bibliotheken“ hinzufügen, • Alles mit weiteren notwendigen Programmteilen verbinden (Linken) zu einem selbständig lauffähigen Programm (Exe-Datei)
Vor- & Nachteile der Compiler-Arbeitsweise • Vorteile: • Nur einmal Syntaxtest und Übersetzung in Maschinensprache, • Selbständig lauffähige Programme, schnell, • Auch für komplexere Programme geeignet, • Fertige Programmblöcke weiter verwendbar. • Nachteile: • Kompiliertes, fertiges Programm nur mit Aufwand dekompilierbar, • Änderungen am Programm nur mit Quelltext und Compilersoftware möglich – (normalerweise nicht beim Nutzer) • Beispiele: • (Turbo)Pascal, C, C++ , Delphi , Fortran, …
Quelltext, Quelltext, Quelltext, Quelltext, Quelltext, Quelltext, Quelltext, Quelltext, Quelltext, Quelltext, Quelltext, Quelltext, Quelltext, Quelltext, Quelltext, Quelltext, Compiler-Arbeitsschritte Syntaxprüfung (bei Eingabe) Kompilierung = Test auf Logik der Befehle und Übersetzung in den „Maschinencode“ (MC) Objektdatei im Binärcode (MC) Linker Fertige Bibliotheken (MC) Fertiges Programm Exe-Datei Laufzeitmodule (MC)
"Beispiel-Script" für QBasic • REM gespeichert als hallo.bas • CLS: PRINT " Hallo, hier spricht Ihr PC !" • PRINT:PRINT • INPUT " Wie lautet Ihr Name ";n$ • PRINT:PRINT • PRINT " Herzlich willkommen ";n$ • PRINT: INPUT "Wie alt sind Sie ";a • PRINT "Das sind ja schon ";a*360; • PRINT " Tage!" : END
Quelltext für TPascal-Compiler • PROGRAM Hallo; {gespeichert als hallo.pas} • USES CRT ; • VAR n:string; a:integer; • BEGIN • ClrScr; • WriteLn('Hallo, hier spricht Ihr PC !'); • Writeln; Writeln; • Write(' Wie lautet Ihr Name : ') ; ReadLn(n) ; • Writeln; Writeln; • Writeln( ' Herzlich willkommen ' , n); Writeln; • Write( 'Wie alt sind Sie : '); ReadLn(a); • Write(' Das sind ja schon ', a*360, ' Tage!'); • ReadLn; • END.