Programmiersprache Pascal

Pascal - Sprachstandards

Zu unterscheiden sind die Standards Beide Standards unterscheiden zwei Sprachniveaus, die sich nur geringfügig voneinander unterscheiden: Level 0 und Level 1.
Level 1 unterstützt zusätzlich Array-Parameter mit variabler Länge (conformant array).

ISO (International Standards Organization)

  1. ISO 7185:1990:
    Information technology -- Programming languages -- Pascal
  2. ISO/IEC 10206:1991:
    Information technology -- Progamming languages -- Extended Pascal

  3. ISO 8651-2:1988:
    Information processing systems -- Computer graphics -- Graphical Kernel System (GKS) language bindings -- Part 2: Pascal
Frühere Fassung von Standard Pascal ANSI (American National Standards Institute)

  1. ANSI/ISO/IEC 7185-1990 :
    Programming Language PASCAL
    (revision and redesignation of ANSI/IEEE 770X)
  2. ANSI/IEEE 770X3.160-1990 :
    Programming Language Extended Pascal (Score: 353/1000)

  3. ANSI X3/TR-13-93 :
    Information Processing Systems Technical Report -
    Object-Oriented Extentions to Pascal
    (NOT AN AMERICAN NATIONAL STANDARD)

  4. ANSI X3.124.2-1988 (R1994) :
    Information Systems Computer Graphics - Graphical Kernel System (GKS)
    Pascal Binding
Frühere Fassung von Standard Pascal Daneben gibt es in einer Reihe von Ländern nationale Standards. Im wesentlichen werden dabei jedoch die internationalen Standards weitgehend unverändert übernommen.
Standard Pascal wurde beispielsweise in Deutschland als DIN 66256 übernommen. Die überarbeitete Fassung wurde 1994 als EN 27185 in der englischen Orginalsprache übernommen.

Vor der Einführung der Standards ISO 7185 galt das Buch

Jensen, K.; Wirth, N.
Pascal: User Manual and Report
Springer, Lecture Notes in Computer Science, Vol. 18, 1974
als wichtige Bezugsquelle.

Dem Standard ISO 7185 von 1983 vorangegangen ist übrigens der britische Standard BS 6192-1982.


In Verbindung mit Programmiersprachen ist der folgende Standard wichtig:

Standard IEEE 754:
IEEE Standard for Binary Floating-Point Arithmetic


Im Zusammenhang mit Sprachstandards spielen folgende Begriffe eine Rolle:

implementationsdefiniert (implementation defined)
Für verschiedene Prozessoren sind unterschiedliche Definitionen möglich.
Für jeden Prozessor muß eine Definition existieren.
Der Extended Pascal Standard listet 34 Fälle auf, in denen ein Pascal-System spezifische Festlegungen treffen muß.

implementationsabhängig (implementation dependend)
Für verschiedene Prozessoren sind unterschiedliche Definitionen möglich.
Nicht für jeden Prozessor muß eine Definition existieren.
Der Extended Pascal Standard listet 18 Fälle auf, in denen ein implementationsabhängiges Verhalten vorliegen darf. Unter einem Prozessor wird ein Sprachübersetzer mit dazugehörigem Laufzeitsystem in Verbindung mit einem Computer und einem Betriebssystem verstanden.

Ein Sprachsystem darf Erweiterungen vornehmen, solange dadurch keine Regeln des Standards außer Kraft gesetzt werden. Eine Ausnahme ist lediglich, daß weitere reservierte Bezeichner erlaubt sind.

Bei Erweiterungen sind zu unterscheiden

Ein Sprachsystem sollte explizit herausstellen, welchen Sprachstandard es unterstützt.
Einschränkungen am Sprachumfang sollten - eigentlich - nicht auftreten.

Bei einigen Sprachen sind Evaluierungen erforderlich, bevor ein Sprachssystem den Namen einer Sprache in der Produktbezeichnung führen darf. Dies gilt z.B. für Ada.
Bei Pascal ist dies nicht die übliche Praxis ! Bei vielen Pascal-Systemen existieren neben zahlreichen Erweiterungen oft auch einige Einschränkungen. Dies gilt z.B. auch für Turbo Pascal.


Bemerkung:
Standards werden in erster Linie für die Entwickler von Sprachsystemen geschrieben, d.h. die Exaktheit der Darstellung hat Priorität vor der Lesbarkeit.

Aus den Vorbemerkungen zur Online-Version von ISO 10206:

Use this information only for good; never for evil. Do not expose to fire. Do not operate heavy equipment after reading, may cause drowsiness. Do not read under the influence of alcohol (although there have been several unconfirmed reports that alcohol actually improves the readability). The standard is written in English. If you have trouble understanding a particular section, read it again and again and again... Sit up particular section, read it again and again and again... Sit up straight. Eat your vegatables. Do not mumble.
Von Andrew S. Tanenbaum soll folgende Bemerkung stammen:
The nice thing about standards is that there are so many of them to choose from.


P. Böhme, 10.09.1996