This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [using gcc book] ch1 objective-c blurb


On Mon, 25 Aug 2003, Zack Weinberg wrote:

> I'd say it's confusingly worded in its entirety, and contains a number
> of statements which are no longer true or no longer relevant.  I think
> a complete rewrite is in order -- suggested text below.

Thank you for this.  I have edited your proposal into the following draft.

The following text represents the full body of chapter 1 of the manual:

<excerpt>

@node G++ and GCC
@chapter Programming Languages Supported by GCC

@cindex GCC
@cindex GNU Compiler Collection
@cindex GNU C Compiler
@cindex Ada
@cindex Fortran
@cindex Java
@cindex Objective-C
@cindex treelang
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, Java, Fortran, and Ada.

The abbreviation @dfn{GCC} has multiple meanings in common use.
Historically, the abbreviation stood for ``GNU C Compiler''; this sense
of the name is still common when the emphasis is on compiling C programs.
However, the name is now defined generically for the compiler collection
as a whole, referring to all languages supported by the suite.  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.

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.

@cindex C++
@cindex G++
@cindex Ada
@cindex GNAT
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
talk about compiling one of those languages, we might refer to that
compiler by its own name, or as GCC@.  Either is correct.

@cindex compiler compared to C++ preprocessor
@cindex intermediate C version, nonexistent
@cindex C intermediate output, nonexistent
Historically, compilers for many languages, including C++ and Fortran,
have been implemented as ``preprocessors'' which emit another high
level language such as C@.  None of the compilers included in GCC are
implemented this way; they all generate machine code directly.  This
sort of preprocessor should not be confused with the @dfn{C
preprocessor}, which is an integral feature of the C, C++, and
Objective-C languages.

</excerpt>


This is substantially the text as you suggested, with some minor
rearrangements & rephrasings.  In particular, off the top of my head:

 * Several times you wrote about "the six languages currently supported."
   On the assumption that this number may change in the future, I used
   phrases such as "the several languages..." instead.  How often does
   GCC tend to gain support for new languages?  Hopefully often enough to
   justify this little dose of future-proofing.

 * I broke up some paragraphs & re-ordered others. IMO this flows nicely,
   but as with everything else I'm open to second opinions.


How does this look to people? This is the last major area of revision in
the text, so if people are happy with it then we're in pretty good shape.


As noted in an earlier message today, the plan is to submit the final
draft of the manuscript tomorrow, so any commentary within the next 18
hours or so would be greatly appreciated -- sorry for submitting this
for additional review at such a late stage in the process.



-- 
Chris Devers    cdevers@pobox.com

printf, n.
One of several related, dauntingly complex input/output formatting
functions specified in the ANSI C library together with Dr. Kevorkian's
hotline number.

    -- from _The Computer Contradictionary_, Stan Kelly-Bootle, 1995


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]