Programmiersprache Pascal

Gültigkeitsbereiche

Datentypen, Konstanten, Variablen, Marken, Prozeduren und Funktionen besitzen einen bestimmten Gültigkeitsbereich.

Die Deklaration der genannten Programmobjekte erfolgt stets innerhalb eines Blockes, und zwar im Deklarationsteil des Blocks. Es gilt:

Block  +---------------------------------------+
       | Deklarationsteil                      |
       |                                       |
       |    --- Deklaration einer Größe ---    |  I
       |                                       |  I
       |           +-----------------------+   |  I
       |           |  +------------------+ |   |  I Gültigkeits-
       |           |  |                  | |   |  I
       |           |  +------------------+ |   |  I
       |           +-----------------------+   |  I bereich der
       |                                       |  I
       +---------------------------------------+  I
       | Anweisungsteil                        |  I
       |                                       |  I Größe
       |                                       |  I
       +---------------------------------------+  I
Beispiel:
                                    Gültigkeit von
                                bsp  proc1  proc2     x   y   x   y   y   z
----------------------------------------------------------------------------
PROGRAM bsp;                     *
VAR x, y : INTEGER;              *                    #   #
PROCEDURE proc1(x: INTEGER);     *     *                  #   #
PROCEDURE proc2(y: INTEGER);     *     *     *                #   #
BEGIN                            *     *     *                #   #
  ...                            *     *     *                #   #
END; {proc2}                     *     *     *                #   #
VAR y : INTEGER;                 *     *                      #       #
BEGIN                            *     *                      #       #
  ...                            *     *                      #       #
END; {proc1}                     *     *                      #       #
VAR z : INTEGER;                 *     *              #   #               #
BEGIN                            *     *              #   #               #
  ...                            *     *              #   #               #
END.                             *     *              #   #               #
----------------------------------------------------------------------------


P. Böhme, 07.09.1996