Programmiersprache Pascal

Erstellen von Pascal-Programmen

Arbeit mit P-Code

        Editor
          |
  +---------------+
  |   Quelltext   |
  +---------------+
          |
      Compiler
          |
  +---------------+
  |    P-Code     |
  +---------------+
          |
     Interpreter
          |
  +---------------+
  | Maschinencode |
  +---------------+
          |
      Programm-
      ausführung 
Vorteile: Nachteile: Beispiel: Pascal++
                        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: Nachteile: 1 Für P-Code ist ähnliches prinzipiell denkbar.
Übersetzer für verschiedene Sprachen müssen nur den gleichen P-Code erzeugen.

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.
Mit Turbo Pascal erstellte Module sind jedoch von anderen Sprachsystemen (typischerweise) nicht verwendbar.
Bibliotheken können nicht problemlos genutzt werden.

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: Nachteile: Als Wirtssprache wird oft C verwendet.
Manchmal erfolgt auch eine Übersetzung nach Assembler.

Beispiel: p2c

  p2c bsp.pas             Cross-Compiler, erzeugt C-Quelltext
  cc -o bsp bsp.c         Compilieren und Verbinden 
  bsp                     Ausführen
Es 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.
(Turbo Pascal ist nur für PC's verfügbar.)



P. Böhme, 16.08.1996