Programmiersprache Pascal

ANSI-ISO PASCAL FAQ

Pascal is one of a series of languages put forth by one of the most prolific computer language creators, Nicklaus Wirth, a professor at Institut fur informatik, ETH, Zurich, Switzerland. Professor Wirth participated in various versions of Algol, a language put forth by international cooperation that introduced the basic concepts of structured programming to the world. Wirth terms Pascal as a descendant of Algol 60 (for Algol, 1960 standard). The "official" descendant of Algol 60 was Algol W, famous for having assignment as an expression operator (a basic feature of the later language C). Wirth felt that the design committee for Algol, after Algol 60, was losing focus and creating an unnecessarily complex language.

While Algol W has had it's fans, the language Pascal was considered to be a new high of consistent language design. The first draft of Pascal was created in 1968. The first compiler was operational in 1970, and the language was generally published in 1971. In 1973, after two years of testing and use, the language was revised into it's final form. The first compiler for Pascal was implemented on a CDC 6000 computer at ETH, for "unrevised" Pascal. After the language was revised, a new, high optimization compiler for the new language was created using the old compiler, then the source for that compiler itself changed to "revised" format, so that it could compile itself (known as "bootstrapping" a compiler).

In 1974 there were 10 compilers running on various systems. By 1979 there were at least 80. In 1977, various committees began the work to standardize the language. In 1982, the ISO (International Standards Organization) issued ISO 7185, the official Pascal standard. In the same year, the US ANSI committee issued ANSI/IEEE770X3.97-1983, the US standard for Pascal. In addition, several countries around the world issued their own national standard for Pascal.


Pascal is a structured language, using if-then-else, while, repeat-until, and for-to/downto control structures. It differs primarily from proceeding languages in that data structures were also included, with records (a feature borrowed from COBOL), arrays, files, sets and pointers. Pascal is also unusual for forging an effective compromise between language simplicity, power, and matching of language structures to underlying machine implementation.

Pascal also has many features for compiler writers. The language is constructed to have a minimum of ambiguity. Pascal, with few exceptions, can be processed "forward" with all of the smaller elements (like constants, types, etc) being defined before they are used. Pascal requires the types and exact sizes of operands to be known before they are operated on, again leading to simplified language processing and efficient output code (although this feature has often been called a problem).

For this reason, Pascal still remains a popular language to implement compilers for as part of a compiler science class.