RosettaCodeData/Lang/Pascal/00DESCRIPTION

24 lines
2.3 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{{language|Pascal
|strength=strong
|safety=safe
|express=explicit
|checking=static
|parampass=both
|gc=no
|LCT=yes
|bnf=http://en.wikipedia.org/wiki/ISO_7185}}
{{language programming paradigm|Imperative}}
'''Pascal''' is an [[imperative programming|imperative]] computer programming language, developed in 1970 by [[wp:Niklaus Wirth|Niklaus Wirth]] as a language particularly suitable for [[wp:structured programming|structured programming]]. A derivative known as [[:Category:Object Pascal|Object Pascal]] was designed for [[object-oriented]] programming. Pascal can be used very easily in conjunction with fundamental [[wp:discrete mathematics|discrete mathematics]] as sets are built into the language.
There are actually several varieties of Pascal. The most important ones are:
* Standard Pascal ([[ISO]] 7185) is the original Pascal standard. However, there are many features missing from that language version, which has led to a wide variety of nonstandard extensions. On the other hand, there are features of Standard Pascal which are seldom implemented by Pascal compilers. A compiler which implements all features of Standard Pascal is [[GNU Pascal]].
* Extended Pascal (ISO 10206) is a later Pascal standard which adds a lot to the original Pascal standard. However, compilers implementing Extended Pascal are even more rare than those implementing Standard Pascal. GNU Pascal implements most of Extended Pascal as well.
* [[Turbo Pascal]] was a very successful Pascal implementation for [[DOS]] and 16 bit [[Windows]] (the latest version was sold under the name "Borland Pascal 7.0") and became the de-facto standard for Pascal on DOS. Even today many Pascal compilers provide compatibility to Turbo Pascal.
* [[Object Pascal]] is the Pascal dialect used in [[Delphi]], Borland's successor product to Turbo/Borland Pascal. It extends Pascal with a new object model (in addition to the object model introduced in Turbo Pascal 5.5). This language is also implemented by [[Free Pascal]] and [[Lazarus]].
==Grammar==
The [[wp:ISO 7185|ISO 7185]] standard for Pascal uses [[wp:Extended BackusNaur Form|Extended BackusNaur Form]].
Also [[wp:Van Wijngaarden grammar|Van Wijngaarden's grammar]] can be used to define
[[Pascal]]'s grammar[http://www-users.cs.york.ac.uk/~fisher/software/yoyovwg/exs/pascal.vwg].
==See also==
* [[wp:Pascal (programming language)|Pascal on Wikipedia]]