Mercurial > hg > CbC > CbC_gcc
annotate gcc/doc/frontends.texi @ 67:f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
author | nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 22 Mar 2011 17:18:12 +0900 |
parents | a06113de4d67 |
children | 04ced10e8804 |
rev | line source |
---|---|
0 | 1 @c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, |
67
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
2 @c 1999, 2000, 2001, 2002, 2004, 2008, 2010 Free Software Foundation, Inc. |
0 | 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 | |
67
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
14 @cindex Go |
0 | 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, | |
67
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
21 Fortran, Ada, and Go. |
0 | 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. |