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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [doc/] [frontends.texi] - Blame information for rev 729

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 711 jeremybenn
@c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
2
@c 1999, 2000, 2001, 2002, 2004, 2008, 2010 Free Software Foundation, Inc.
3
@c This is part of the GCC manual.
4
@c For copying conditions, see the file gcc.texi.
5
 
6
@node G++ and GCC
7
@chapter Programming Languages Supported by GCC
8
 
9
@cindex GCC
10
@cindex GNU Compiler Collection
11
@cindex GNU C Compiler
12
@cindex Ada
13
@cindex Fortran
14
@cindex Go
15
@cindex Java
16
@cindex Objective-C
17
@cindex Objective-C++
18
GCC stands for ``GNU Compiler Collection''.  GCC is an integrated
19
distribution of compilers for several major programming languages.  These
20
languages currently include C, C++, Objective-C, Objective-C++, Java,
21
Fortran, Ada, and Go.
22
 
23
The abbreviation @dfn{GCC} has multiple meanings in common use.  The
24
current official meaning is ``GNU Compiler Collection'', which refers
25
generically to the complete suite of tools.  The name historically stood
26
for ``GNU C Compiler'', and this usage is still common when the emphasis
27
is on compiling C programs.  Finally, the name is also used when speaking
28
of the @dfn{language-independent} component of GCC: code shared among the
29
compilers for all supported languages.
30
 
31
The language-independent component of GCC includes the majority of the
32
optimizers, as well as the ``back ends'' that generate machine code for
33
various processors.
34
 
35
@cindex COBOL
36
@cindex Mercury
37
@cindex Pascal
38
The part of a compiler that is specific to a particular language is
39
called the ``front end''.  In addition to the front ends that are
40
integrated components of GCC, there are several other front ends that
41
are maintained separately.  These support languages such as Pascal,
42
Mercury, and COBOL@.  To use these, they must be built together with
43
GCC proper.
44
 
45
@cindex C++
46
@cindex G++
47
@cindex Ada
48
@cindex GNAT
49
Most of the compilers for languages other than C have their own names.
50
The C++ compiler is G++, the Ada compiler is GNAT, and so on.  When we
51
talk about compiling one of those languages, we might refer to that
52
compiler by its own name, or as GCC@.  Either is correct.
53
 
54
@cindex compiler compared to C++ preprocessor
55
@cindex intermediate C version, nonexistent
56
@cindex C intermediate output, nonexistent
57
Historically, compilers for many languages, including C++ and Fortran,
58
have been implemented as ``preprocessors'' which emit another high
59
level language such as C@.  None of the compilers included in GCC are
60
implemented this way; they all generate machine code directly.  This
61
sort of preprocessor should not be confused with the @dfn{C
62
preprocessor}, which is an integral feature of the C, C++, Objective-C
63
and Objective-C++ languages.

powered by: WebSVN 2.1.0

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