@c Copyright (C) 1996-2002 Free Software Foundation, Inc.
@c For copying conditions, see the file gpc.texi.
@c This file is part of the GPC Manual.
@c
@c Authors: Peter Gerwinski <peter@gerwinski.de>
@c          Frank Heckenbach <frank@pascal.gnu.de>
@c
@c Last modification: 2002-05-10 (file up to date)

@include macros.texi

@node Resources
@appendix Resources For Use With GPC.
@cindex Resources
@cindex Contributions

Many of the programs mentioned here, plus some more, can be found at
@example
@uref{http://www.gnu-pascal.de/contrib/}
@end example

@htmlhrule

@anch{Drawing}@c
@ifset html
@html
<table align=right><tr><td>
<a href="GnuPascal.png">
<img alt="[Gnu and Blaise Pascal]" src="GnuPascal-small-framed.png" width=133 height=109 border=no><br>
(PNG, 10 KB)
</a>
</td></tr></table>
@end html
@end ifset
@subheading GNU Pascal Drawing
@cindex Drawing
@cindex Blaise Pascal
@cindex Pascal, Blaise

@iftex
@image{GnuPascal,6cm}
@end iftex
@ifset html
Here is
@end ifset
@ifclear html
On the web you can find
@end ifclear
our GNU Pascal drawing as a small PNG file,
@localuref{GnuPascal-small-framed.png,with} and
@localuref{GnuPascal-small.png,without a frame}, as a
@localuref{GnuPascal.png,large PNG image (10 KB)}, as an
@localuref{GnuPascal.eps,EPS file (45 KB)}, and as a
@localuref{GnuPascal.pdf,PDF file (18 KB)}.

Due to
@uref{http://www.gnu.org/philosophy/gif.html,patent problems}
we do not use GIF files. Fortunately
@uref{http://www.libpng.org,the PNG format}, the successor of GIF,
does not have this problem -- and introduces better compression and
more advanced features anyway.

@c DEMO-START
@anch{gradient}@c
By the way, the @localuref{gradient.png,color gradient} that makes
our page background is a PNG file of only 632 bytes. It was
generated by a Pascal program compiled with GPC and @samp{pnmtopng}.
@examplehref{gradient.pas}
@c DEMO-END

@htmlbrclear

@htmlhrule

@anch{PENG}@c
@ifset html
@html
<table align=left><tr><td>
<a href="peng-screen.png">
<img alt="[PENG screen]" src="peng-screen-small.png" width=133 height=83><br>
(PNG, 7 KB)
</a>
</td></tr></table>
@end html
@end ifset
@subheading PENG
@cindex PENG
@cindex IDE
@cindex Editor
@cindex Text editor

PENG is an integrated development environment (IDE) for GNU
Compilers and other purposes on any platform supported by GPC,
written by Frank Heckenbach. The home page of PENG is
@example
@uref{http://fjf.gnu.de/peng/}.
@end example

@htmlbrclear

@htmlhrule

@anch{RHIDE}@c
@ifset html
@html
<table align=right><tr><td>
<a href="rhide-screen.png">
<img alt="[RHIDE screen]" src="rhide-screen-small.png" width=115 height=104><br>
(PNG, 8 KB)
</a>
</td></tr></table>
@end html
@end ifset
@subheading RHIDE
@cindex RHIDE
@cindex IDE
@cindex Editor
@cindex Text editor

RHIDE is an integrated development environment (IDE) for GNU
Compilers on DOS (DJGPP) or Linux, written by Robert Hoehne. The
home page of RHIDE is
@example
@uref{http://www.tu-chemnitz.de/~sho/rho/rhide.html}.
@end example

@htmlbrclear

@htmlhrule

@anch{GRX}@c
@ifset html
@html
<table align=left><tr><td>
<a href="grx-screen.png">
<img alt="[GRX demo program screen]" src="grx-screen-small.png" width=96 height=72><br>
(PNG, 38 KB)
</a>
</td></tr></table>
@end html
@end ifset
@subheading GRX
@cindex GRX
@cindex Graphics

GRX is a graphics library for C and GNU Pascal, including a mostly
BP compatible @samp{Graph} unit. It is available from
@example
@uref{http://www.gnu.de/software/grx/}
@end example

Although GRX originated on DJGPP, a DOS programming platform, it is
portable to Linux with SVGAlib, to all Unix-like systems running the
X11 window system, and to MS-Windows 9x/NT.

@htmlbrclear

@htmlhrule

@anch{Internationalization}@c
@subheading Internationalization
@cindex Internationalization
@cindex gettext

Units and tools for internationalization are available in
@example
@uref{http://www.gnu-pascal.de/contrib/eike/}
@end example

@htmlhrule

@anch{Database}@c
@subheading Database units
@cindex Database
@cindex MySQL
@cindex GNU DBM
@cindex DBM
@cindex GDBM
@cindex PostgreSQL
GNU Pascal units to access MySQL, GNU DBM and PostgreSQL databases
are available in
@example
@uref{http://www.gnu-pascal.de/contrib/eike/}
@end example

@htmlhrule

@anch{GTK}@c
@subheading GTK units
@cindex GTK
@cindex GUI

GNU Pascal units for the GTK+ and GTK+ GL libraries are available in
@example
@uref{http://www.gnu-pascal.de/contrib/nicola/}
@end example

@htmlhrule

@anch{svgalib}@c
@subheading Svgalib unit
@cindex svgalib
@cindex Graphics
Nicola Girardi wrote a unit which you can use to interface Svgalib.
You can find it at @uref{http://www.gnu-pascal.de/contrib/nicola/}.

@htmlhrule

@anch{SysUtils}@c
@subheading SysUtils unit
@cindex SysUtils
Prof.@: Abimbola A.@: Olowofoyeku (``The African Chief'') wrote a
Delphi-compatible (though a few routines are still missing)
@samp{SysUtils} unit. It has been tested under Cygwin, mingw, Linux
(Mandrake 7.0), and Solaris 7. It can be downloaded from
@uref{http://www.gnu-pascal.de/contrib/chief/}.

@htmlhrule

@anch{Crystal}@c
@subheading Crystal, a mailing list archive program
@cindex Crystal
@cindex Mailing List Archives

Crystal is a web based mailing list archive, written for GNU Pascal
and used for the archives of GPC's mailing lists (@pxref{Mailing
List Archives}). The source code can be found at
@uref{http://fjf.gnu.de/crystal/}.

@htmlhrule

@anch{ISO}@c
@subheading ISO standards
@cindex ISO 7185
@cindex ISO 10206
@cindex ANSI
@cindex Classic Pascal
@cindex Standard Pascal
@cindex Extended Pascal
@cindex Standards
@cindex Pascal standards

The Pascal standard specifications are available in PostScript
format at
@example
@uref{http://ftp.digital.com/pub/Digital/Pascal/iso10206_a4.ps.gz}
(ISO-7185 Pascal)
@end example
@example
@uref{http://ftp.digital.com/pub/Digital/Pascal/iso10206.ps.gz}
(ISO-10206 Extended Pascal)
@end example

Alternative addresses are
@example
@uref{ftp://ftp.europe.digital.com/pub/DEC/Pascal/}
@end example
@example
@uref{ftp://ftp.digital.com/pub/DEC/Pascal/}
@end example

There are also copies at
@example
@uref{http://www.employees.org/~samiam/iso7185.ps}
(ISO-7185 Pascal)
@end example
@example
@uref{http://www.employees.org/~samiam/iso10206.ps}
(ISO-10206 Extended Pascal)
@end example

Note: These documents are a bit hard to navigate (e.g., in
ghostview) because they are missing the so called ``document
structuring comments'' (DSC). The GPC source distribution contains a
little script @file{ps2dsc} to add the DSC again and make the
documents easier to navigate. Note that for reasons of copyright,
you are probably only allowed to do this for your own use and not to
distribute the modified files.

You can find an easy-to-read introduction to Extended Pascal by
Prospero Software at
@example
@uref{http://www.prosperosoftware.com/epintro.html}
@end example

Please note that Standard Pascal is @strong{not} the same as Borland
Pascal nor a subset of it. See @ref{Highlights} for examples of
Standard Pascal features that are missing in Borland Pascal.

The @uref{http://www.employees.org/~samiam/ansiiso.faq,ANSI-ISO Pascal FAQ (132 KB)}
by @uref{http://www.employees.org/~samiam/,Scott A. Moore} discusses
the differences between both dialects in detail.

@htmlhrule

@subheading Protect your freedom!
@cindex Freedom

Programming activities of small companies and individuals are
threatened by software patents. If you are a programmer, you are in
danger, too! Your employer or yourself might be sued by a large
company holding a patent on some @emph{ideas} you are using in your
programs. (You need not use foreign code in order to become
vulnerable.)

For more information look at
@example
@uref{http://lpf.ai.mit.edu/}
@end example
