Editor
|
+---------------+
| Quelltext |
+---------------+
|
Compiler
|
+---------------+
| P-Code |
+---------------+
|
Interpreter
|
+---------------+
| Maschinencode |
+---------------+
|
Programm-
ausführung
Vorteile:
Quelltextdatei bsp.pas
ppl bsp Compilieren, Erzeugung von P-Code
int bsp Interpretieren, P-Code ausführen
Die Arbeitsweise unter verschiedenen Betriebssystemen ist identisch.
Compilieren - Verbinden - Ausführen
Editor
|
+---------------+
| Quelltext |
+---------------+
| +---------+
| | |
Compiler | Bibliothekar
| | |
+---------------+ | +--------------+
| Objektcode |--+ | Bibliothek |
+---------------+ +--------------+
| |
|--------------------+
Verbinder
|
+---------------+
| Maschinencode |
+---------------+
|
Programm-
ausführung
Vorteile:
Beispiel: XL Pascal unter AIX
Quelltextdatei bsp.pas
xlp -c bsp.pas Compilieren, Erzeugen von Objektcode
xlp -o bsp bsp.o -lbib Verbinden, ausführbares Programm erstellen
Verwendung der Bibliothek libbib.a
bsp Programm ausführen
oder
xlp -o bsp bsp.pas -lbib Compilieren und Verbinden
bsp Programm ausführen
Gnu Pascal arbeitet auf allen Plattformen, für die es verfügbar ist,
ganz analog: Es ist gpc anstelle von xlp aufzurufen. Beispiel: Turbo Pascal (DOS)
Quelltextdatei bsp.pas
tpc bsp Compilieren und Verbinden
bsp Programm ausführen
Turbo Pascal erzeugt sehr effektiven Code. Beispiel: Delphi 2.0 - im Kommandofenster laufende Applikationen erstellen
Quelltextdatei bsp.pas
dcc32 -cc bsp Compilieren und Verbinden
bsp Programm ausführen
Zunehmend wird nachnutzbarer Code in dynamischen Bibliotheken organisiert: Der Code wird erst bei Bedarf zur Laufzeit geladen.
...
|
+---------------+
| Maschinencode | +--------------+
+---------------+ | Dyn. Link- |
|--------------| Bibliothek |
Programm- +--------------+
ausführung
Mit Turbo Pascal für Windows oder mit Delphi erstellte Programme
können nach diesem Prinzip arbeiten.
Arbeit mit Precompilern
Editor
|
+---------------+
| Quelltext |
+---------------+
|
Cross-Compiler
|
+---------------+
| Quelltext |
| Wirtssprache |
+---------------+
|
...
Vorteile:
Beispiel: p2c
p2c bsp.pas Cross-Compiler, erzeugt C-Quelltext cc -o bsp bsp.c Compilieren und Verbinden bsp AusführenEs gibt p2c-Variante, die den Turbo-Pascal-Dialekt (teilweise) versteht. Damit können Turbo-Pascal-Programme auch auf Rechnerplattformen eingesetzt werden, auf denen Turbo Pascal nicht verfügbar ist.