Programmiersprache Pascal

Pascal-Zeichensatz

Der Pascal-Zeichensatz umfaßt die folgenden Zeichen:

Ziffern:

  0 1 2 3 4 5 6 7 8 9
Buchstaben:
  A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
  a b c d e f g h i j k l m n o p q r s t u v w x y z
Spezielle Symbole:
  +   -   *   /   =   <   >   
  .   ,   :   ;   ^ 
  (   )   {   }   [   ]
  _
Der Pascal-Standard von 1983 sieht nur Großbuchstaben vor.
Pascal-Systeme lassen im allgemeinen Groß- und Kleinbuchstaben zu und unterscheiden (außerhalb von Zeichenketten) nicht zwischen ihnen.
Auch der Unterstrich _ ist nicht im Pascal-Standard von 1983 vorgesehen. Er kann - meist mit gewissen Einschränkungen - in vielen Pascal-Systemen jedoch ähnlich wie ein Buchstabe verwendet werden. Extended Pascal sieht in regulär vor.

Das Vokabular von Pascal kann in folgende Klassen unterteilt werden:

Namen

Ein Name (Bezeichner) besteht aus einer Folge von Buchstaben und Ziffern.
Häufig sind in Namen auch Unterstriche _ zugelassen.
Ein Name muß immer mit einem Buchstaben beginnen.

Einige Namen besitzen in Pascal eine besondere Bedeutung:

Zu beachten ist folgendes: Beim Erstellen portabler Programme muß immer vom "schwächsten" Pascal-System (das für einen Einsatz in Frage kommt) ausgegangen werden.

Siehe auch: Namen von Variablen und symbolischen Konstanten

Operatoren und Begrenzer

Operatoren und Begrenzer sind entweder einzelne Sonderzeichen, Paare von Sonderzeichen oder reservierte Namen. Sie dienen in der Pascal-Syntax als nicht weiter zerlegbare syntaktische Einheiten und werden auch als Terminalsymbole bezeichnet.

Solche Zeichen bzw. Paare von Sonderzeichen sind:

  +   -   *   /   =   <   >
  <=  >=  <>
  ^
  .   ,   ;
  (   )   
  {   }   [   ]
  (*  *)  (.  .)
  ..
Zusätzlich in Delphi:
  @   #   $
Bemerkung:
Die folgenden Begrenzer sind alternativ einsetzbar:
  {    (*      Kommentar - Anfang
  }    *)      Kommentar - Ende
  [    (.      Indexausdruck - Anfang
  ]    .)      Indexausdruck - Ende
  ^    @       Zeiger
Die Alternativen wurden eingeführt, da die betreffenden Sonderzeichen nicht in allen Zeichensätzen vorhanden sind (waren).

Achtung:
Turbo Pascal und Delphi nutzen im Rahmen einer Spracherweiterung @ in anderer Bedeutung als Adreßoperator.

Wortsymbole

Pascal

  AND        ARRAY       BEGIN      CASE       CONST
  DIV        DO          DOWNTO     ELSE       END
  FILE       FOR         FUNCTION   GOTO       IF
  IN         LABEL       MOD        NIL        NOT
  OF         OR          PACKED     PROCEDURE  PROGRAM
  RECORD     REPEAT      SET        THEN       TO
  TYPE       UNTIL       VAR        WHILE      WITH
Extended Pascal - zusätzliche Wortsymbole
  AND_THEN   BINDABLE    EXPORT     IMPORT     MODULE
  ONLY       OR_ELSE     OTHERWISE  POW        PROTECTED
  QUALIFIED  RESTRICTED  VALUE
Anstelle von Wortsymbolen wird oft auch von reservierten Worten bzw. Schlüsselworten gesprochen.

Pascal-Versionen können einen speziellen Satz an reservierten Worten besitzen, z.B. Delphi (Turbo Pascal mit Einschränkungen):

  AND               ARRAY             AS (2)            ASM
  BEGIN             CASE              CLASS (2)         CONST
  CONSTRUCTOR       DESTRUCTOR        DIV               DO
  DOWNTO            ELSE              END               EXCEPT (2)
  EXPORTS (1)       FILE              FINALZATION (2)   FINALLY (2)
  FOR               FUNCTION          GOTO              IF
  IMPLEMENTATION    IN                INHERITED (1)     INITIALIZATION 
  INLINE            INTERFACE         IS                LABEL
  LIBRARY (1)       MOD               NIL               NOT 
  OBJECT            OF                ON                OR  
  PACKED            PROCEDURE         PROGRAM           PROPERTY (2)
  RAISE (2)         RECORD            REPEAT            SET
  SHL               SHR               STRING            THEN   
  THREADVAR (2)     TO                TRY (2)           TYPE
  UNIT              UNTIL             USES              VAR 
  WHILE             WITH              XOR
(1) ab Borland Pascal 7.0
(2) Object Pascal (Delphi)

XL Pascal

Im VS-Modus gibt es zusätzlich folgende Wortsymbole (reservierte Worte):

  ASSERT            CONTINUE          DEF               LEAVE
  OTHERWISE         RANGE             REF               RETURN
  SPACE             STATIC            VALUE             XOR
Vordefinierte Namen

Neben reservierten Worten, die nicht als Bezeichner (Name) innerhalb eines Pascal-Programms verwendet werden dürfen, gibt es vordefinierte Bezeichner.
Diese Bezeichner wirken so, als ob sie in einem imaginären Block definiert wären, der das gesamte Programm umschließt.

Um Fehlinterpretationen vorzubeugen, sollten vordefinierte Bezeichner nur in ihrer Orginalbedeutung verwendet und nicht innerhalb des Programms neu definiert werden.

Der Standard Pascal benennt folgende vordefinierte Bezeichner:

  ABS           FALSE          PACK          SIN                
  ARCTAN        GET            PAGE          SQR                
  BOOLEAN       INPUT          PRED          SQRT               
  CHAR          INTEGER        PUT           SUCC               
  CHR           LN             READ          TEXT               
  COS           MAXINT         READLN        TRUE                   
  DISPOSE       NEW            REAL          TRUNC              
  EOF           ODD            RESET         UNPACK             
  EOLN          ORD            REWRITE       WRITE              
  EXP           OUTPUT         ROUND         WRITELN            
Dabei handelt es sich überwiegend um die Bezeichner von Datentypen und von Prozeduren.

Extended Pascal sieht eine Reihe weiterer vordefinierte Bezeichner vor:

  ARG           BIND           BINDING       CARD
  CMPLX         DATE           EMPTY         EPSREAL
  EQ            EXTEND         GE            GETTIMESTAMP
  GT            HALT           IM            INDEX
  LASTPOSITION  LE             LENGTH        LT
  MAXCHAR       MAXREAL        MINREAL       NE
  POLAR         POSITION       RE            READSTR
  SEEKREAD      SEEKUPDATE     SEEKWRITE     SUBSTR
  TIME          TRIM           UNBIND        UPDATE
  WRITESTR
Die folgenden Worte sind in Turbo Pascal vordefinierte Bezeichner:
  ABSOLUTE      ASSEMBLER      EXPORT        EXTERNAL
  FAR           FORWARD        INDEX         INTERRUPT
  NAME          NEAR           PRIVATE       PUBLIC
  RESIDENT      VIRTUAL
Darüber hinaus besitzen die folgenden Zeichenpaare eine spezielle Bedeutung:
  <=  >=  :=  ..  (*  *)  (.  .)
Begrenzer

XL Pascal

Im VS-Modus gibt es zusätzlich folgende speziellen Symbole:

  /*  */  ~=  ->  ~  |   &   &&  ||  >>  <<


P. Böhme, 03.09.1996