-@cindex Ada
-Several versions of the compiler (C, C++, Objective-C, Ada,
-Fortran, and Java) are integrated; this is why we use the name
-``GNU Compiler Collection''. GCC can compile programs written in any of these
-languages. The Ada, Fortran, and Java compilers are described in
-separate manuals.
-
-@cindex GCC
-``GCC'' is a common shorthand term for the GNU Compiler Collection. This is both
-the most general name for the compiler, and the name used when the
-emphasis is on compiling C programs (as the abbreviation formerly
-stood for ``GNU C Compiler'').
+@cindex Objective-C
+@cindex Objective-C++
+GCC stands for ``GNU Compiler Collection''. GCC is an integrated
+distribution of compilers for several major programming languages. These
+languages currently include C, C++, Objective-C, Objective-C++, Java,
+Fortran, and Ada.
+
+The abbreviation @dfn{GCC} has multiple meanings in common use. The
+current official meaning is ``GNU Compiler Collection'', which refers
+generically to the complete suite of tools. The name historically stood
+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
+of the @dfn{language-independent} component of GCC: code shared among the
+compilers for all supported languages.
+
+The language-independent component of GCC includes the majority of the
+optimizers, as well as the ``back ends'' that generate machine code for
+various processors.
+
+@cindex COBOL
+@cindex Mercury
+@cindex Pascal
+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
+integrated components of GCC, there are several other front ends that
+are maintained separately. These support languages such as Pascal,
+Mercury, and COBOL@. To use these, they must be built together with
+GCC proper.