OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gcc-4.2.2/] [gcc/] [doc/] [frontends.texi] - Diff between revs 154 and 816

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 154 Rev 816
@c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
@c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
@c 1999, 2000, 2001, 2004 Free Software Foundation, Inc.
@c 1999, 2000, 2001, 2004 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
@c For copying conditions, see the file gcc.texi.
 
 
@node G++ and GCC
@node G++ and GCC
@chapter Programming Languages Supported by GCC
@chapter Programming Languages Supported by GCC
 
 
@cindex GCC
@cindex GCC
@cindex GNU Compiler Collection
@cindex GNU Compiler Collection
@cindex GNU C Compiler
@cindex GNU C Compiler
@cindex Ada
@cindex Ada
@cindex Fortran
@cindex Fortran
@cindex Java
@cindex Java
@cindex Objective-C
@cindex Objective-C
@cindex Objective-C++
@cindex Objective-C++
@cindex treelang
@cindex treelang
GCC stands for ``GNU Compiler Collection''.  GCC is an integrated
GCC stands for ``GNU Compiler Collection''.  GCC is an integrated
distribution of compilers for several major programming languages.  These
distribution of compilers for several major programming languages.  These
languages currently include C, C++, Objective-C, Objective-C++, Java,
languages currently include C, C++, Objective-C, Objective-C++, Java,
Fortran, and Ada.
Fortran, and Ada.
 
 
The abbreviation @dfn{GCC} has multiple meanings in common use.  The
The abbreviation @dfn{GCC} has multiple meanings in common use.  The
current official meaning is ``GNU Compiler Collection'', which refers
current official meaning is ``GNU Compiler Collection'', which refers
generically to the complete suite of tools.  The name historically stood
generically to the complete suite of tools.  The name historically stood
for ``GNU C Compiler'', and this usage is still common when the emphasis
for ``GNU C Compiler'', and this usage is still common when the emphasis
is on compiling C programs.  Finally, the name is also used when speaking
is on compiling C programs.  Finally, the name is also used when speaking
of the @dfn{language-independent} component of GCC: code shared among the
of the @dfn{language-independent} component of GCC: code shared among the
compilers for all supported languages.
compilers for all supported languages.
 
 
The language-independent component of GCC includes the majority of the
The language-independent component of GCC includes the majority of the
optimizers, as well as the ``back ends'' that generate machine code for
optimizers, as well as the ``back ends'' that generate machine code for
various processors.
various processors.
 
 
@cindex COBOL
@cindex COBOL
@cindex Mercury
@cindex Mercury
@cindex Pascal
@cindex Pascal
The part of a compiler that is specific to a particular language is
The part of a compiler that is specific to a particular language is
called the ``front end''.  In addition to the front ends that are
called the ``front end''.  In addition to the front ends that are
integrated components of GCC, there are several other front ends that
integrated components of GCC, there are several other front ends that
are maintained separately.  These support languages such as Pascal,
are maintained separately.  These support languages such as Pascal,
Mercury, and COBOL@.  To use these, they must be built together with
Mercury, and COBOL@.  To use these, they must be built together with
GCC proper.
GCC proper.
 
 
@cindex C++
@cindex C++
@cindex G++
@cindex G++
@cindex Ada
@cindex Ada
@cindex GNAT
@cindex GNAT
Most of the compilers for languages other than C have their own names.
Most of the compilers for languages other than C have their own names.
The C++ compiler is G++, the Ada compiler is GNAT, and so on.  When we
The C++ compiler is G++, the Ada compiler is GNAT, and so on.  When we
talk about compiling one of those languages, we might refer to that
talk about compiling one of those languages, we might refer to that
compiler by its own name, or as GCC@.  Either is correct.
compiler by its own name, or as GCC@.  Either is correct.
 
 
@cindex compiler compared to C++ preprocessor
@cindex compiler compared to C++ preprocessor
@cindex intermediate C version, nonexistent
@cindex intermediate C version, nonexistent
@cindex C intermediate output, nonexistent
@cindex C intermediate output, nonexistent
Historically, compilers for many languages, including C++ and Fortran,
Historically, compilers for many languages, including C++ and Fortran,
have been implemented as ``preprocessors'' which emit another high
have been implemented as ``preprocessors'' which emit another high
level language such as C@.  None of the compilers included in GCC are
level language such as C@.  None of the compilers included in GCC are
implemented this way; they all generate machine code directly.  This
implemented this way; they all generate machine code directly.  This
sort of preprocessor should not be confused with the @dfn{C
sort of preprocessor should not be confused with the @dfn{C
preprocessor}, which is an integral feature of the C, C++, Objective-C
preprocessor}, which is an integral feature of the C, C++, Objective-C
and Objective-C++ languages.
and Objective-C++ languages.
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.