This is the announcement of
GNU Pascal, version 2.1
which is now available from
http://www.gnu-pascal.de/current/
Binaries for some platforms are available in a subdirectory
http://www.gnu-pascal.de/binary/
Binaries for more platforms will follow soon and will be announced on the GPC mailing list which is archived at
http://www.gnu-pascal.de/crystal/gpc/en/
About GNU Pascal ================
The GNU Pascal Compiler (GPC) is part of the GNU compiler family, GNU CC or GCC. It combines a Pascal front-end with the proven GNU C back-end for code generation and optimization. Unlike utilities such as p2c, this is a true compiler, not just a converter.
The purpose of the GNU Pascal project is to produce a Pascal compiler which
* combines the clarity of Pascal with powerful tools suitable for real-life programming,
* supports both the Pascal standard and the Extended Pascal standard as defined by ISO, ANSI and IEEE (ISO 7185:1990, ISO/IEC 10206:1991, ANSI/IEEE 770X3.160-1989),
* supports other Pascal standards (UCSD Pascal, Borland Pascal, parts of Borland Delphi and Pascal-SC) in so far as this serves the goal of clarity and usability,
* may be distributed under GNU license conditions, and
* can generate code for and run on any computer for which the GNU C compiler can generate code and run on.
Pascal was originally designed for teaching. GNU Pascal provides a smooth way to proceed to challenging programming tasks without learning a completely different language.
The current release GPC 2.1 implements Standard Pascal (ISO 7185, levels 0 and 1), a large subset of Extended Pascal (ISO 10206, aiming for full compliance), is highly compatible to Borland Pascal (version 7.0) with some Delphi extensions, and provides a lot of useful GNU extensions.
For more information about GNU Pascal, see
Changes since the previous release ==================================
The previous release (GPC 2.0) was more than five years ago. Since then, there have been numerous alpha and beta versions and literally hundreds of new features and bug fixes. Trying to list them here, even if only as a summary, would be far beyond the scope of such an announcement. You can find descriptions of the new features since 1999-01-18 at
http://www.gnu-pascal.de/current/news-2.1.html
and a detailed list of all new features and bug fixes since 1997-11-01 at
http://www.gnu-pascal.de/current/done-2.1.html
In short, a large number of bugs have been fixed, so GPC 2.1 works much more stable than its predecessor versions. Also, many relics that made it sometimes look somewhat like a C compiler rather than a Pascal compiler have been cleared up.
Compared to GPC 2.0, the support of ISO 7185 Standard Pascal as well as Borland Pascal has been mostly completed. Borland Pascal support includes object oriented programming and a set of compatibility units.
Much of ISO 10206 Extended Pascal is now supported, including schema types (i.e., types whose size can vary at runtime), complex numbers, set extensions and more.
Some features of other Pascal standards and dialects are supported, such as operator overloading (Pascal-SC) and some OOP extensions (Delphi).
GPC also contains many extensions not found in other Pascal compilers, e.g. to ease the interfacing with C and other languages in a portable way, and to work with files, directories, dates and more, mostly independent of the underlying operating system.
A number of useful units is included with GPC, such as `RegEx' (regular expressions), `GMP' (arithmetic with integer, rational and real numbers of unlimited size), `Trap' (trapping runtime errors), `Intl' (internationalization), `Pipe' (inter-process communication), `MD5' (message digests) and many more. GPC includes a number of demo programs to show the usage of these units and of many compiler features.
Further units, Pascal programs and other 3rd party contributions can be found at
http://www.gnu-pascal.de/contrib/
Have fun,
The GNU Pascal development team