GCC Front Ends
Currently the main GCC distribution contains front ends for C
(gcc), C++ (g++), Objective C,
Fortran, Java (GCJ), and Ada (GNAT).
There are several more front ends for different languages that have
been written for GCC but not yet integrated into the main distribution
of the GNU Compiler Collection. Some of these may be integrated in
future; others may not, for various reasons.
Example front ends for toy languages and guidance on writing
front ends are listed along with other links
and readings. The source files tree.h
and
tree.def
are the key ones to be familiar with.
Some of these front ends are very much works in progress; others
are very mature.
- GNU Pascal Compiler (GPC).
- Mercury,
a declarative logic/functional language. The University of Melbourne Mercury
compiler is written in Mercury; originally it compiled via C but now it also
has a backend that generates assembler directly, using the GCC backend.
- Cobol For GCC
(at an early stage of development).
- GNU Modula-2 (in development).
This compiler is mostly written in
Modula-2, but includes a bootstrap procedure via a modified version of
p2c.
- Modula-3 (for links see www.m3.org); SRC M3 is based on an old
version of GCC and PM3 and CAM3 derive from SRC M3. This compiler is
written in Modula-3; for copyright and licensing reasons neither the
small amount of C code that links to GCC and provides the interface to
the back end, nor the front end proper, is likely to be integrated in
GCC, nor is the front-end likely to change to a more normal interface
of linking directly to the back end.
- GHDL is a GCC front end for the
VHDL (IEEE 1076) hardware design language. GHDL and its runtime library
are written in Ada95 using GNAT and are distributed under the GPL.
Currently they only support GNU/Linux x86 systems.
- PL/1 for GCC is a
GCC front end for the PL/I language.
Please send FSF & GNU inquiries & questions to
gnu@gnu.org.
There are also other ways
to contact the FSF.
These pages are maintained by
the GCC team.
For questions related to the use of GCC, please consult these web
pages and the GCC manuals. If
that fails, the gcc-help@gcc.gnu.org
mailing list might help.
Please send comments on these web pages and the development of GCC to our
developer mailing list at gcc@gnu.org
or gcc@gcc.gnu.org. All of our lists
have public archives.
Copyright (C) Free Software Foundation, Inc.,
51 Franklin St, Fifth Floor, Boston, MA 02110, USA.
Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.
Last modified 2006-06-21
|
|