[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Apple II/IIGS C++ compiler



Roy Miller <millers@inetnebr.com> wrote in message news:<3BF812AF.94141E36@inetnebr.com>...
> Paul Schlyter wrote:
> 
> >
> > Aztec C had two versions which could be run on the Apple II: one
> > native Apple II version, and another version for CP/M which could be
> > ran on Apple II's with a suitable Z80 card.
> >
> 
> However, Paul, if memory serves, Aztec C was not a full implimentation
> of the language. Only Byteworks' Orca C was a full ANSI C, at the time
> that it was created.
> 

Not really relevent in this case since both C & C++ pre-date ANSI C
standards. Since CFront predates ANSI/ISO C it is doubtful that an
ANSI C compiler is needed.

> >
> > And then you can run AT&T's Cfront, which converts C++ to C.  Yep,
> > that's the way early C++ compilers worked: they compiled C++ into
> > (quite unreadable, but compliable) C, and then you ran that C code
> > through your regular C compiler.
> 
> And does Cfront run on the II? For that route, seems to me that a
> cross-complier would make more sense, if one really wanted to run a C++,
> and create programs for the II.
> 

CFront started, if I recall correctly, as pre-processor macros for C
compilers. The C pre-processor merely manipulates text (in this case
it turns C++ source code into C source code). If an older version of
CFront (or any version, for that matter) is merely C pre-processor
macros then theoretically all you'd need is the source macros for
CFront to have a C++ translator for the Apple II.

> Still, inspiteof your helpful suggestions, I think the answer to his
> question is still "No, there are no C++s that run on any Apple II." And
> only one ANSI C compliant C (by an earlier ANSI standard.)
> 

If CFront can't be made to run as pre-processor macros on an Apple II
at least the output from it might be compiled there and the Apple II
would create the executable. Regarding ANSI C compliance, that only
affects ANSI C code. ANSI/ISO C89 compilers are still required to
accept and translate _valid_ pre-ANSI C.