| Topic: |
DEVELOP > c-Plus-Plus |
| User: |
"Miroslaw Makowiecki" |
| Date: |
01 Aug 2007 03:39:10 AM |
| Object: |
Where do I download Comeau compiler. |
Where can I download Comeau compiler as a trial version?
Thanks in advice.
.
|
|
| User: "Bo Persson" |
|
| Title: Re: Where do I download Comeau compiler. |
01 Aug 2007 05:26:17 AM |
|
|
Miroslaw Makowiecki wrote:
:: Where can I download Comeau compiler as a trial version?
:: Thanks in advice.
You cannot. You can test-drive it on their web site though
http://www.comeaucomputing.com/tryitout/
Bo Persson
.
|
|
|
| User: "James Kanze" |
|
| Title: Re: Where do I download Comeau compiler. |
02 Aug 2007 02:58:04 AM |
|
|
On Aug 1, 12:26 pm, "Bo Persson" <b...@gmb.dk> wrote:
Miroslaw Makowiecki wrote:
:: Where can I download Comeau compiler as a trial version?
:: Thanks in advice.
You cannot. You can test-drive it on their web site though
http://www.comeaucomputing.com/tryitout/
The purchase price is also dirt cheap; something even a student
could afford.
--
James Kanze (GABI Software) email:james.kanze@gmail.com
Conseils en informatique orient=E9e objet/
Beratung in objektorientierter Datenverarbeitung
9 place S=E9mard, 78210 St.-Cyr-l'=C9cole, France, +33 (0)1 30 23 00 34
.
|
|
|
| User: "Chris Thomasson" |
|
| Title: Re: Where do I download Comeau compiler. |
02 Aug 2007 03:51:29 AM |
|
|
"James Kanze" <james.kanze@gmail.com> wrote in message
news:1186041484.420452.160970@r34g2000hsd.googlegroups.com...
On Aug 1, 12:26 pm, "Bo Persson" <b...@gmb.dk> wrote:
Miroslaw Makowiecki wrote:
:: Where can I download Comeau compiler as a trial version?
:: Thanks in advice.
You cannot. You can test-drive it on their web site though
http://www.comeaucomputing.com/tryitout/
The purchase price is also dirt cheap; something even a student
could afford.
Right. Good price for a high quality product. Nice!
:^)
.
|
|
|
| User: "JohnQ" |
|
| Title: Re: Where do I download Comeau compiler. |
07 Aug 2007 07:00:45 PM |
|
|
"Chris Thomasson" <cristom@comcast.net> wrote in message
news:yvWdnbR3-7tHByzbnZ2dnUVZ_h-vnZ2d@comcast.com...
"James Kanze" <james.kanze@gmail.com> wrote in message
news:1186041484.420452.160970@r34g2000hsd.googlegroups.com...
On Aug 1, 12:26 pm, "Bo Persson" <b...@gmb.dk> wrote:
Miroslaw Makowiecki wrote:
:: Where can I download Comeau compiler as a trial version?
:: Thanks in advice.
You cannot. You can test-drive it on their web site though
http://www.comeaucomputing.com/tryitout/
The purchase price is also dirt cheap; something even a student
could afford.
Right. Good price for a high quality product. Nice!
That's in addition to the compiler you must have to turn Comeau's generated
C code to machine code, yes? Why not just use the platform compiler (VC++ on
Windows, for example) in the first place? I don't understand how adding
translation steps and requiring more compilers is good. I could see how many
years ago when there weren't C++ compilers available on most platforms how
that would be good. But today??
John
.
|
|
|
| User: "Greg Comeau" |
|
| Title: Re: Where do I download Comeau compiler. |
08 Aug 2007 06:54:34 PM |
|
|
In article <NI7ui.44640$Um6.34176@newssvr12.news.prodigy.net>,
JohnQ <johnqREMOVETHISprogrammer@yahoo.com> wrote:
"Chris Thomasson" <cristom@comcast.net> wrote in message
news:yvWdnbR3-7tHByzbnZ2dnUVZ_h-vnZ2d@comcast.com...
"James Kanze" <james.kanze@gmail.com> wrote in message
news:1186041484.420452.160970@r34g2000hsd.googlegroups.com...
On Aug 1, 12:26 pm, "Bo Persson" <b...@gmb.dk> wrote:
Miroslaw Makowiecki wrote:
:: Where can I download Comeau compiler as a trial version?
:: Thanks in advice.
You cannot. You can test-drive it on their web site though
http://www.comeaucomputing.com/tryitout/
The purchase price is also dirt cheap; something even a student
could afford.
Right. Good price for a high quality product. Nice!
That's in addition to the compiler you must have to turn Comeau's generated
C code to machine code, yes?
Yes.
Why not just use the platform compiler (VC++ on
Windows, for example) in the first place?
There's many reasons for using a native compiler and an OS specific one.
There's also many reasons for not. IOWs, there a bag of pros and cons
that we each need to go through: vendor lock in, platform goodies,
portability, compliance, bring code to new platforms, etc, etc.
I don't understand how adding
translation steps and requiring more compilers is good.
You get that anyway. So it's just a question of how, not whether,
and at, the how can wash out too.
I could see how many
years ago when there weren't C++ compilers available on most platforms how
that would be good. But today??
That's still true. It's still one reason why C is very popular.
--
Greg Comeau / 4.3.9 with C++0xisms now in beta!
Comeau C/C++ ONLINE ==> http://www.comeaucomputing.com/tryitout
World Class Compilers: Breathtaking C++, Amazing C99, Fabulous C90.
Comeau C/C++ with Dinkumware's Libraries... Have you tried it?
.
|
|
|
|
| User: "Ian Collins" |
|
| Title: Re: Where do I download Comeau compiler. |
07 Aug 2007 07:11:26 PM |
|
|
JohnQ wrote:
"Chris Thomasson" <cristom@comcast.net> wrote in message
news:yvWdnbR3-7tHByzbnZ2dnUVZ_h-vnZ2d@comcast.com...
"James Kanze" <james.kanze@gmail.com> wrote in message
news:1186041484.420452.160970@r34g2000hsd.googlegroups.com...
On Aug 1, 12:26 pm, "Bo Persson" <b...@gmb.dk> wrote:
Miroslaw Makowiecki wrote:
:: Where can I download Comeau compiler as a trial version?
:: Thanks in advice.
You cannot. You can test-drive it on their web site though
http://www.comeaucomputing.com/tryitout/
The purchase price is also dirt cheap; something even a student
could afford.
Right. Good price for a high quality product. Nice!
That's in addition to the compiler you must have to turn Comeau's
generated C code to machine code, yes? Why not just use the platform
compiler (VC++ on Windows, for example) in the first place? I don't
understand how adding translation steps and requiring more compilers is
good. I could see how many years ago when there weren't C++ compilers
available on most platforms how that would be good. But today??
You might want a better compiler!
Or more likely, you are using one of the many embedded platforms that
don't have a C++ compiler.
--
Ian Collins.
.
|
|
|
| User: "JohnQ" |
|
| Title: Re: Where do I download Comeau compiler. |
07 Aug 2007 08:01:22 PM |
|
|
"Ian Collins" <ian-news@hotmail.com> wrote in message
news:5hsg1eF3lvf8eU19@mid.individual.net...
JohnQ wrote:
"Chris Thomasson" <cristom@comcast.net> wrote in message
news:yvWdnbR3-7tHByzbnZ2dnUVZ_h-vnZ2d@comcast.com...
"James Kanze" <james.kanze@gmail.com> wrote in message
news:1186041484.420452.160970@r34g2000hsd.googlegroups.com...
On Aug 1, 12:26 pm, "Bo Persson" <b...@gmb.dk> wrote:
Miroslaw Makowiecki wrote:
:: Where can I download Comeau compiler as a trial version?
:: Thanks in advice.
You cannot. You can test-drive it on their web site though
http://www.comeaucomputing.com/tryitout/
The purchase price is also dirt cheap; something even a student
could afford.
Right. Good price for a high quality product. Nice!
That's in addition to the compiler you must have to turn Comeau's
generated C code to machine code, yes? Why not just use the platform
compiler (VC++ on Windows, for example) in the first place? I don't
understand how adding translation steps and requiring more compilers is
good. I could see how many years ago when there weren't C++ compilers
available on most platforms how that would be good. But today??
You might want a better compiler!
1. I wouldn't call something that translates from one high level language to
another a compiler. (Just like I wouldn't consider cfront one). I'd call
the components that do translation (to intermediate form) that occurs before
the C code generation a compiler front-end.
2. If by "better", you mean "better compliance with the standard", well it
would have to be an awfully critical need for some feature that would cause
one to go from a compiler to a language-to-language translator.
Or more likely, you are using one of the many embedded platforms that
don't have a C++ compiler.
That niche I can understand.
John
.
|
|
|
| User: "Greg Comeau" |
|
| Title: Re: Where do I download Comeau compiler. |
08 Aug 2007 06:59:17 PM |
|
|
In article <CB8ui.47841$YL5.383@newssvr29.news.prodigy.net>,
JohnQ <johnqREMOVETHISprogrammer@yahoo.com> wrote:
"Ian Collins" <ian-news@hotmail.com> wrote in message
news:5hsg1eF3lvf8eU19@mid.individual.net...
JohnQ wrote:
"Chris Thomasson" <cristom@comcast.net> wrote in message
news:yvWdnbR3-7tHByzbnZ2dnUVZ_h-vnZ2d@comcast.com...
"James Kanze" <james.kanze@gmail.com> wrote in message
news:1186041484.420452.160970@r34g2000hsd.googlegroups.com...
On Aug 1, 12:26 pm, "Bo Persson" <b...@gmb.dk> wrote:
Miroslaw Makowiecki wrote:
:: Where can I download Comeau compiler as a trial version?
:: Thanks in advice.
You cannot. You can test-drive it on their web site though
http://www.comeaucomputing.com/tryitout/
The purchase price is also dirt cheap; something even a student
could afford.
Right. Good price for a high quality product. Nice!
That's in addition to the compiler you must have to turn Comeau's
generated C code to machine code, yes? Why not just use the platform
compiler (VC++ on Windows, for example) in the first place? I don't
understand how adding translation steps and requiring more compilers is
good. I could see how many years ago when there weren't C++ compilers
available on most platforms how that would be good. But today??
You might want a better compiler!
1. I wouldn't call something that translates from one high level language to
another a compiler. (Just like I wouldn't consider cfront one). I'd call
the components that do translation (to intermediate form) that occurs before
the C code generation a compiler front-end.
There is some wiggle room for what we can call things, and I agree we
can explore that, but when push comes to shove, there is little else to
call the process except "compiling C++ to C," given all that needs to
be considered, and hence, calling the tools that does that, a compiler.
Personally I prefer to think Comeau offers a compiler system, since
some other stuff is going on.
2. If by "better", you mean "better compliance with the standard", well it
would have to be an awfully critical need for some feature that would cause
one to go from a compiler to a language-to-language translator.
Mmm, no, if I understand you, that's not the choice. Probably we should
leave this until the above is explored further.
Or more likely, you are using one of the many embedded platforms that
don't have a C++ compiler.
That niche I can understand.
OK :)
--
Greg Comeau / 4.3.9 with C++0xisms now in beta!
Comeau C/C++ ONLINE ==> http://www.comeaucomputing.com/tryitout
World Class Compilers: Breathtaking C++, Amazing C99, Fabulous C90.
Comeau C/C++ with Dinkumware's Libraries... Have you tried it?
.
|
|
|
| User: "JohnQ" |
|
| Title: Re: Where do I download Comeau compiler. |
08 Aug 2007 09:49:01 PM |
|
|
"Greg Comeau" <comeau@panix.com> wrote in message
news:f9dlcl$n6d$1@panix2.panix.com...
In article <CB8ui.47841$YL5.383@newssvr29.news.prodigy.net>,
JohnQ <johnqREMOVETHISprogrammer@yahoo.com> wrote:
"Ian Collins" <ian-news@hotmail.com> wrote in message
news:5hsg1eF3lvf8eU19@mid.individual.net...
JohnQ wrote:
"Chris Thomasson" <cristom@comcast.net> wrote in message
news:yvWdnbR3-7tHByzbnZ2dnUVZ_h-vnZ2d@comcast.com...
"James Kanze" <james.kanze@gmail.com> wrote in message
news:1186041484.420452.160970@r34g2000hsd.googlegroups.com...
On Aug 1, 12:26 pm, "Bo Persson" <b...@gmb.dk> wrote:
Miroslaw Makowiecki wrote:
:: Where can I download Comeau compiler as a trial version?
:: Thanks in advice.
You cannot. You can test-drive it on their web site though
http://www.comeaucomputing.com/tryitout/
The purchase price is also dirt cheap; something even a student
could afford.
Right. Good price for a high quality product. Nice!
That's in addition to the compiler you must have to turn Comeau's
generated C code to machine code, yes? Why not just use the platform
compiler (VC++ on Windows, for example) in the first place? I don't
understand how adding translation steps and requiring more compilers is
good. I could see how many years ago when there weren't C++ compilers
available on most platforms how that would be good. But today??
You might want a better compiler!
1. I wouldn't call something that translates from one high level language
to
another a compiler. (Just like I wouldn't consider cfront one). I'd call
the components that do translation (to intermediate form) that occurs
before
the C code generation a compiler front-end.
There is some wiggle room for what we can call things, and I agree we
can explore that, but when push comes to shove, there is little else to
call the process except "compiling C++ to C," given all that needs to
be considered, and hence, calling the tools that does that, a compiler.
Personally I prefer to think Comeau offers a compiler system, since
some other stuff is going on.
You're saying that it's "compiling" rather than just "translating" because
you are going to an intermediate form in between the C++ source and the
generated C source. I think Bjarne S. called cfront a compiler for that
reason too, noting that it had symbol tables etc. so that made it more than
a preprocessor. It really shouldn't be subjective, there should be industry
definitions that are unambigous. Are there?
Example: A platform compiler that goes from C++ source to intermediate form
to assembly. Is that "compiling"? Maybe it is because the resulting form is
native (x86 assembly, for example) to the hardware. Maybe it's not though.
Maybe it's just "translation to assembly". Maybe the assembler is the real
"compiler" because it produces a target in machine code.
I dunno. Certainly in the common usage, I think of going from source code to
machine code as "compiling". If a product gets me half way there, then to
me, it's a "front end" of some sort. So, more than a preprocessor, but less
than a compiler. A "translator"?
Now that I think about it more though, maybe going from source code to
intermediate form is "compiling", as in "compile to intermediate form" (!).
I know that the C++ defines the phases of translation, so maybe I'm just not
boned up on those definitions.
If "compiling" means going to intermediate form though, what is "going from
source to executable" then? Just a different form of compiling, as in
"compile to exe", "compile to assembly"? Is the terminology really ambiguous
or are there definitions?
2. If by "better", you mean "better compliance with the standard", well it
would have to be an awfully critical need for some feature that would
cause
one to go from a compiler to a language-to-language translator.
Mmm, no, if I understand you, that's not the choice. Probably we should
leave this until the above is explored further.
Or more likely, you are using one of the many embedded platforms that
don't have a C++ compiler.
That niche I can understand.
OK :)
John
.
|
|
|
| User: "Alf P. Steinbach" |
|
| Title: Re: Where do I download Comeau compiler. |
08 Aug 2007 10:17:28 PM |
|
|
* JohnQ -> Greg Comeau:
You're saying that it's "compiling" rather than just "translating"
because you are going to an intermediate form in between the C++ source
and the generated C source. I think Bjarne S. called cfront a compiler
for that reason too, noting that it had symbol tables etc. so that made
it more than a preprocessor. It really shouldn't be subjective, there
should be industry definitions that are unambigous. Are there?
Yes. If you don't have the Dragon book, get it.
Example: A platform compiler that goes from C++ source to intermediate
form to assembly. Is that "compiling"?
Yes.
--
A: Because it messes up the order in which people normally read text.
Q: Why is it such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail?
.
|
|
|
| User: "JohnQ" |
|
| Title: Re: Where do I download Comeau compiler. |
08 Aug 2007 10:42:09 PM |
|
|
"Alf P. Steinbach" <alfps@start.no> wrote in message
news:13bl1u7o9n9eia9@corp.supernews.com...
* JohnQ -> Greg Comeau:
You're saying that it's "compiling" rather than just "translating"
because you are going to an intermediate form in between the C++ source
and the generated C source. I think Bjarne S. called cfront a compiler
for that reason too, noting that it had symbol tables etc. so that made
it more than a preprocessor. It really shouldn't be subjective, there
should be industry definitions that are unambigous. Are there?
Yes. If you don't have the Dragon book, get it.
I don't need it, I'm not building compilers.
Example: A platform compiler that goes from C++ source to intermediate
form to assembly. Is that "compiling"?
Yes.
That was a rhetorical question. The context it was in suggests a more
abstract question.
John
.
|
|
|
|
| User: "JohnQ" |
|
| Title: Re: Where do I download Comeau compiler. |
08 Aug 2007 10:42:09 PM |
|
|
"Alf P. Steinbach" <alfps@start.no> wrote in message
news:13bl1u7o9n9eia9@corp.supernews.com...
* JohnQ -> Greg Comeau:
You're saying that it's "compiling" rather than just "translating"
because you are going to an intermediate form in between the C++ source
and the generated C source. I think Bjarne S. called cfront a compiler
for that reason too, noting that it had symbol tables etc. so that made
it more than a preprocessor. It really shouldn't be subjective, there
should be industry definitions that are unambigous. Are there?
Yes. If you don't have the Dragon book, get it.
I don't need it. I'm not building a compiler.
John
.
|
|
|
| User: "Greg Comeau" |
|
| Title: Re: Where do I download Comeau compiler. |
09 Aug 2007 07:15:19 PM |
|
|
In article <l2wui.27099$RX.3678@newssvr11.news.prodigy.net>,
JohnQ <johnqREMOVETHISprogrammer@yahoo.com> wrote:
"Alf P. Steinbach" <alfps@start.no> wrote in message
news:13bl1u7o9n9eia9@corp.supernews.com...
...
You're saying that it's "compiling" rather than just "translating"..
Yes. If you don't have the Dragon book, get it.
I don't need it. I'm not building a compiler.
Ok, but you asked about some of this stuff, and the "Dragon Book"
is normally considered a solid reference on some of this stuff.
--
Greg Comeau / 4.3.9 with C++0xisms now in beta!
Comeau C/C++ ONLINE ==> http://www.comeaucomputing.com/tryitout
World Class Compilers: Breathtaking C++, Amazing C99, Fabulous C90.
Comeau C/C++ with Dinkumware's Libraries... Have you tried it?
.
|
|
|
| User: "JohnQ" |
|
| Title: Re: Where do I download Comeau compiler. |
10 Aug 2007 02:32:03 AM |
|
|
"Greg Comeau" <comeau@panix.com> wrote in message
news:f9gamn$ajd$1@panix2.panix.com...
In article <l2wui.27099$RX.3678@newssvr11.news.prodigy.net>,
JohnQ <johnqREMOVETHISprogrammer@yahoo.com> wrote:
"Alf P. Steinbach" <alfps@start.no> wrote in message
news:13bl1u7o9n9eia9@corp.supernews.com...
...
You're saying that it's "compiling" rather than just "translating"..
Yes. If you don't have the Dragon book, get it.
I don't need it. I'm not building a compiler.
Ok, but you asked about some of this stuff, and the "Dragon Book"
is normally considered a solid reference on some of this stuff.
I knew someone was going to say that. And I already knew what I was going to
say in return: I'd rather know what the C++ standard has to say about those
things. I've heard "translation phases" in here before, but I don't remember
or know if they actually put names on all of them. As in: translation phase
1, preprocessing.
John
.
|
|
|
| User: "Greg Comeau" |
|
| Title: Re: Where do I download Comeau compiler. |
11 Aug 2007 09:37:12 PM |
|
|
In article <TvUui.1424$3x.23@newssvr25.news.prodigy.net>,
JohnQ <johnqREMOVETHISprogrammer@yahoo.com> wrote:
"Greg Comeau" <comeau@panix.com> wrote in message
news:f9gamn$ajd$1@panix2.panix.com...
In article <l2wui.27099$RX.3678@newssvr11.news.prodigy.net>,
JohnQ <johnqREMOVETHISprogrammer@yahoo.com> wrote:
"Alf P. Steinbach" <alfps@start.no> wrote in message
news:13bl1u7o9n9eia9@corp.supernews.com...
...
You're saying that it's "compiling" rather than just "translating"..
Yes. If you don't have the Dragon book, get it.
I don't need it. I'm not building a compiler.
Ok, but you asked about some of this stuff, and the "Dragon Book"
is normally considered a solid reference on some of this stuff.
I knew someone was going to say that. And I already knew what I was going to
say in return: I'd rather know what the C++ standard has to say about those
things. I've heard "translation phases" in here before, but I don't remember
or know if they actually put names on all of them. As in: translation phase
1, preprocessing.
The closest it really comes to is mentioning preprocessing. The rest is
really dealing with the semantics of things, revolving names not
linking per se, syntax analysis but not how to scan or lex per se
(I'm not saying that right, but hopefully the point comes though),
and so on. This way, it leaves translation open to other options beyond
traditional "compiling".
--
Greg Comeau / 4.3.9 with C++0xisms now in beta!
Comeau C/C++ ONLINE ==> http://www.comeaucomputing.com/tryitout
World Class Compilers: Breathtaking C++, Amazing C99, Fabulous C90.
Comeau C/C++ with Dinkumware's Libraries... Have you tried it?
.
|
|
|
| User: "JohnQ" |
|
| Title: Re: Where do I download Comeau compiler. |
11 Aug 2007 10:34:46 PM |
|
|
"Greg Comeau" <comeau@panix.com> wrote in message
news:f9lroo$rek$1@panix1.panix.com...
In article <TvUui.1424$3x.23@newssvr25.news.prodigy.net>,
JohnQ <johnqREMOVETHISprogrammer@yahoo.com> wrote:
"Greg Comeau" <comeau@panix.com> wrote in message
news:f9gamn$ajd$1@panix2.panix.com...
In article <l2wui.27099$RX.3678@newssvr11.news.prodigy.net>,
JohnQ <johnqREMOVETHISprogrammer@yahoo.com> wrote:
"Alf P. Steinbach" <alfps@start.no> wrote in message
news:13bl1u7o9n9eia9@corp.supernews.com...
...
You're saying that it's "compiling" rather than just "translating"..
Yes. If you don't have the Dragon book, get it.
I don't need it. I'm not building a compiler.
Ok, but you asked about some of this stuff, and the "Dragon Book"
is normally considered a solid reference on some of this stuff.
I knew someone was going to say that. And I already knew what I was going
to
say in return: I'd rather know what the C++ standard has to say about
those
things. I've heard "translation phases" in here before, but I don't
remember
or know if they actually put names on all of them. As in: translation
phase
1, preprocessing.
The closest it really comes to is mentioning preprocessing. The rest is
really dealing with the semantics of things, revolving names not
linking per se, syntax analysis but not how to scan or lex per se
(I'm not saying that right, but hopefully the point comes though),
and so on. This way, it leaves translation open to other options beyond
traditional "compiling".
So there is no list of translation phases then (right?). I have the draft
standard, is the high level view of the phases discussed somewhere that you
know of and can point me to? If it's scattered all over the document without
overview though, that disuades me from diving into it. (I think you are
saying that it is scattered).
If I feel "ambitious" I'll open the pdf and skim through it looking for
relevant passages.
Tell me this though, if you know: are the phases purposely not defined to
give implementations more leeway? As in, "anything can happen between
ingesting the source code and putting out the resulting obj file".
It's all good info, but I'm just curious. Knowing the things that happen
"behind the scenes" somehow help me, but I don't know how. Well tool
selection maybe, but that's a stretch.
John
.
|
|
|
| User: "Greg Comeau" |
|
| Title: Re: Where do I download Comeau compiler. |
11 Aug 2007 11:18:21 PM |
|
|
In article <4avvi.3295$i85.2527@nlpi061.nbdc.sbc.com>,
JohnQ <johnqREMOVETHISprogrammer@yahoo.com> wrote:
"Greg Comeau" <comeau@panix.com> wrote in message
news:f9lroo$rek$1@panix1.panix.com...
In article <TvUui.1424$3x.23@newssvr25.news.prodigy.net>,
JohnQ <johnqREMOVETHISprogrammer@yahoo.com> wrote:
I've heard "translation phases" in here before, but I don't remember
or know if they actually put names on all of them. As in: translation
phase 1, preprocessing.
The closest it really comes to is mentioning preprocessing. The rest
is really dealing with the semantics of things, revolving names not
linking per se, syntax analysis but not how to scan or lex per se
(I'm not saying that right, but hopefully the point comes though),
and so on. This way, it leaves translation open to other options beyond
traditional "compiling".
So there is no list of translation phases then (right?). I have the draft
standard, is the high level view of the phases discussed somewhere that you
know of and can point me to? If it's scattered all over the document without
overview though, that disuades me from diving into it. (I think you are
saying that it is scattered).
If I feel "ambitious" I'll open the pdf and skim through it looking for
relevant passages.
See section 2.1
Tell me this though, if you know: are the phases purposely not defined to
give implementations more leeway? As in, "anything can happen between
ingesting the source code and putting out the resulting obj file".
The phases are defined, just not the way you think :) Otherwise, yes,
that's part of what "leaves translation open" involves.
--
Greg Comeau / 4.3.9 with C++0xisms now in beta!
Comeau C/C++ ONLINE ==> http://www.comeaucomputing.com/tryitout
World Class Compilers: Breathtaking C++, Amazing C99, Fabulous C90.
Comeau C/C++ with Dinkumware's Libraries... Have you tried it?
.
|
|
|
| User: "JohnQ" |
|
| Title: Re: Where do I download Comeau compiler. |
11 Aug 2007 11:51:25 PM |
|
|
"Greg Comeau" <comeau@panix.com> wrote in message
news:f9m1md$he1$1@panix1.panix.com...
In article <4avvi.3295$i85.2527@nlpi061.nbdc.sbc.com>,
JohnQ <johnqREMOVETHISprogrammer@yahoo.com> wrote:
"Greg Comeau" <comeau@panix.com> wrote in message
news:f9lroo$rek$1@panix1.panix.com...
In article <TvUui.1424$3x.23@newssvr25.news.prodigy.net>,
JohnQ <johnqREMOVETHISprogrammer@yahoo.com> wrote:
I've heard "translation phases" in here before, but I don't remember
or know if they actually put names on all of them. As in: translation
phase 1, preprocessing.
The closest it really comes to is mentioning preprocessing. The rest
is really dealing with the semantics of things, revolving names not
linking per se, syntax analysis but not how to scan or lex per se
(I'm not saying that right, but hopefully the point comes though),
and so on. This way, it leaves translation open to other options beyond
traditional "compiling".
So there is no list of translation phases then (right?). I have the draft
standard, is the high level view of the phases discussed somewhere that
you
know of and can point me to? If it's scattered all over the document
without
overview though, that disuades me from diving into it. (I think you are
saying that it is scattered).
If I feel "ambitious" I'll open the pdf and skim through it looking for
relevant passages.
See section 2.1
Thank you. I'll try to procrastinate there instead of "you have 30 minutes
left on your account with 'hotbabe online''".
Tell me this though, if you know: are the phases purposely not defined to
give implementations more leeway? As in, "anything can happen between
ingesting the source code and putting out the resulting obj file".
The phases are defined, just not the way you think :)
Just tell me. It's not my "specialty". I won't buy it if I don't know how it
works (yeah, I know, I'm not the target market).
Otherwise, yes,
that's part of what "leaves translation open" involves.
OK. I don't like definitions. I think that way because a lot of things are
not define-able. This is tech stuff, and it can be defined and I won't
accept it being of importance. Ever.
You asked. I answered.
John
.
|
|
|
|
|
|
|
| User: "James Kanze" |
|
| Title: Re: Where do I download Comeau compiler. |
11 Aug 2007 05:55:31 AM |
|
|
On Aug 10, 9:32 am, "JohnQ" <johnqREMOVETHISprogram...@yahoo.com>
wrote:
"Greg Comeau" <com...@panix.com> wrote in message
news:f9gamn$ajd$1@panix2.panix.com...
In article <l2wui.27099$RX.3...@newssvr11.news.prodigy.net>,
JohnQ <johnqREMOVETHISprogram...@yahoo.com> wrote:
"Alf P. Steinbach" <al...@start.no> wrote in message
news:13bl1u7o9n9eia9@corp.supernews.com...
...
You're saying that it's "compiling" rather than just "translating"..
Yes. If you don't have the Dragon book, get it.
I don't need it. I'm not building a compiler.
Ok, but you asked about some of this stuff, and the "Dragon Book"
is normally considered a solid reference on some of this stuff.
I knew someone was going to say that. And I already knew what I was going to
say in return: I'd rather know what the C++ standard has to say about those
things. I've heard "translation phases" in here before, but I don't remember
or know if they actually put names on all of them. As in: translation phase
1, preprocessing.
John
.
|
|
|
|
| User: "James Kanze" |
|
| Title: Re: Where do I download Comeau compiler. |
11 Aug 2007 06:11:39 AM |
|
|
On Aug 10, 9:32 am, "JohnQ" <johnqREMOVETHISprogram...@yahoo.com>
wrote:
"Greg Comeau" <com...@panix.com> wrote in message
news:f9gamn$ajd$1@panix2.panix.com...
In article <l2wui.27099$RX.3...@newssvr11.news.prodigy.net>,
JohnQ <johnqREMOVETHISprogram...@yahoo.com> wrote:
"Alf P. Steinbach" <al...@start.no> wrote in message
news:13bl1u7o9n9eia9@corp.supernews.com...
...
You're saying that it's "compiling" rather than just "translating"..
Yes. If you don't have the Dragon book, get it.
I don't need it. I'm not building a compiler.
Ok, but you asked about some of this stuff, and the "Dragon Book"
is normally considered a solid reference on some of this stuff.
I knew someone was going to say that. And I already knew what
I was going to say in return: I'd rather know what the C++
standard has to say about those things. I've heard
"translation phases" in here before, but I don't remember or
know if they actually put names on all of them. As in:
translation phase 1, preprocessing.
The standard doesn't really speak of "compiling" formally. It
specifies how a C++ is translated to an executable file, then
executed. The translation has a certain number of steps;
classically, some of those have been considered "compiling",
where as the last has been considered "linking". But modern
systems tend to blur the distinction, and most systems today
also use a single command line for the works. Thus, for
example, g++ is not what would have been called a compiler when
I was learning computer science; it's a driver program which
invokes different phases of the compiler and/or the linker,
depending on command line options, etc.
Depending on the context today, "compiling" can mean what you do
to go from one or more .cc files to an executable binary, or
what you do to go from a single .cc file to a single .o/.obj
file, with linking being a separate step (and I can't think of a
good, simple verb for "building a library"). Note that with
g++, I use the commands g++ and cl (under Windows) for both
compiling and linking, and with Sun CC, I use the command CC for
building a library as well (although I use ar with g++, and lib
with cl).
--
James Kanze (GABI Software) email:james.ka...@gmail.com
Conseils en informatique orient=E9e objet/
Beratung in objektorientierter Datenverarbeitung
9 place S=E9mard, 78210 St.-Cyr-l'=C9cole, France, +33 (0)1 30 23 00 34
.
|
|
|
| User: "JohnQ" |
|
| Title: Re: Where do I download Comeau compiler. |
11 Aug 2007 10:23:53 PM |
|
|
"James Kanze" <james.kanze@gmail.com> wrote in message
news:1186830699.922439.132020@k79g2000hse.googlegroups.com...
On Aug 10, 9:32 am, "JohnQ" <johnqREMOVETHISprogram...@yahoo.com>
wrote:
"Greg Comeau" <com...@panix.com> wrote in message
news:f9gamn$ajd$1@panix2.panix.com...
In article <l2wui.27099$RX.3...@newssvr11.news.prodigy.net>,
JohnQ <johnqREMOVETHISprogram...@yahoo.com> wrote:
"Alf P. Steinbach" <al...@start.no> wrote in message
news:13bl1u7o9n9eia9@corp.supernews.com...
...
You're saying that it's "compiling" rather than just "translating"..
Yes. If you don't have the Dragon book, get it.
I don't need it. I'm not building a compiler.
Ok, but you asked about some of this stuff, and the "Dragon Book"
is normally considered a solid reference on some of this stuff.
I knew someone was going to say that. And I already knew what
I was going to say in return: I'd rather know what the C++
standard has to say about those things. I've heard
"translation phases" in here before, but I don't remember or
know if they actually put names on all of them. As in:
translation phase 1, preprocessing.
"The standard doesn't really speak of "compiling" formally. It
specifies how a C++ is translated to an executable file, then
executed. The translation has a certain number of steps;
classically, some of those have been considered "compiling",
where as the last has been considered "linking". But modern
systems tend to blur the distinction, and most systems today
also use a single command line for the works. Thus, for
example, g++ is not what would have been called a compiler when
I was learning computer science; it's a driver program which
invokes different phases of the compiler and/or the linker,
depending on command line options, etc."
"Depending on the context today, "compiling" can mean what you do
to go from one or more .cc files to an executable binary, or
what you do to go from a single .cc file to a single .o/.obj
file, with linking being a separate step (and I can't think of a
good, simple verb for "building a library"). Note that with
g++, I use the commands g++ and cl (under Windows) for both
compiling and linking, and with Sun CC, I use the command CC for
building a library as well (although I use ar with g++, and lib
with cl)."
See, now that's what I think of as "compiling" also: the traditional use of
the term. So, would you consider going from source code to an intermediate
form, doing semantic analysis and such along the way, compiling? (The
intermediate form being symbol tables and such).
John
.
|
|
|
| User: "Greg Comeau" |
|
| Title: Re: Where do I download Comeau compiler. |
11 Aug 2007 11:13:36 PM |
|
|
In article <T%uvi.3292$i85.2324@nlpi061.nbdc.sbc.com>,
JohnQ <johnqREMOVETHISprogrammer@yahoo.com> wrote:
"James Kanze" <james.kanze@gmail.com> wrote in message
news:1186830699.922439.132020@k79g2000hse.googlegroups.com...
On Aug 10, 9:32 am, "JohnQ" <johnqREMOVETHISprogram...@yahoo.com>
wrote:
"Greg Comeau" <com...@panix.com> wrote in message
news:f9gamn$ajd$1@panix2.panix.com...
In article <l2wui.27099$RX.3...@newssvr11.news.prodigy.net>,
JohnQ <johnqREMOVETHISprogram...@yahoo.com> wrote:
"Alf P. Steinbach" <al...@start.no> wrote in message
news:13bl1u7o9n9eia9@corp.supernews.com...
...
You're saying that it's "compiling" rather than just "translating"..
Yes. If you don't have the Dragon book, get it.
I don't need it. I'm not building a compiler.
Ok, but you asked about some of this stuff, and the "Dragon Book"
is normally considered a solid reference on some of this stuff.
I knew someone was going to say that. And I already knew what
I was going to say in return: I'd rather know what the C++
standard has to say about those things. I've heard
"translation phases" in here before, but I don't remember or
know if they actually put names on all of them. As in:
translation phase 1, preprocessing.
"The standard doesn't really speak of "compiling" formally. It
specifies how a C++ is translated to an executable file, then
executed. The translation has a certain number of steps;
classically, some of those have been considered "compiling",
where as the last has been considered "linking". But modern
systems tend to blur the distinction, and most systems today
also use a single command line for the works. Thus, for
example, g++ is not what would have been called a compiler when
I was learning computer science; it's a driver program which
invokes different phases of the compiler and/or the linker,
depending on command line options, etc."
"Depending on the context today, "compiling" can mean what you do
to go from one or more .cc files to an executable binary, or
what you do to go from a single .cc file to a single .o/.obj
file, with linking being a separate step (and I can't think of a
good, simple verb for "building a library"). Note that with
g++, I use the commands g++ and cl (under Windows) for both
compiling and linking, and with Sun CC, I use the command CC for
building a library as well (although I use ar with g++, and lib
with cl)."
See, now that's what I think of as "compiling" also: the traditional use of
the term.
I'm surprised about this whole thread then! :)
So, would you consider going from source code to an intermediate
form, doing semantic analysis and such along the way, compiling? (The
intermediate form being symbol tables and such).
I prefer to think of things as a "compiler system" with a
"compiler proper" as one part.
--
Greg Comeau / 4.3.9 with C++0xisms now in beta!
Comeau C/C++ ONLINE ==> http://www.comeaucomputing.com/tryitout
World Class Compilers: Breathtaking C++, Amazing C99, Fabulous C90.
Comeau C/C++ with Dinkumware's Libraries... Have you tried it?
.
|
|
|
| User: "JohnQ" |
|
| Title: Re: Where do I download Comeau compiler. |
11 Aug 2007 11:44:08 PM |
|
|
"Greg Comeau" <comeau@panix.com> wrote in message
news:f9m1dg$n5e$1@panix1.panix.com...
In article <T%uvi.3292$i85.2324@nlpi061.nbdc.sbc.com>,
JohnQ <johnqREMOVETHISprogrammer@yahoo.com> wrote:
"James Kanze" <james.kanze@gmail.com> wrote in message
news:1186830699.922439.132020@k79g2000hse.googlegroups.com...
On Aug 10, 9:32 am, "JohnQ" <johnqREMOVETHISprogram...@yahoo.com>
wrote:
"Greg Comeau" <com...@panix.com> wrote in message
news:f9gamn$ajd$1@panix2.panix.com...
In article <l2wui.27099$RX.3...@newssvr11.news.prodigy.net>,
JohnQ <johnqREMOVETHISprogram...@yahoo.com> wrote:
"Alf P. Steinbach" <al...@start.no> wrote in message
news:13bl1u7o9n9eia9@corp.supernews.com...
...
You're saying that it's "compiling" rather than just
"translating"..
Yes. If you don't have the Dragon book, get it.
I don't need it. I'm not building a compiler.
Ok, but you asked about some of this stuff, and the "Dragon Book"
is normally considered a solid reference on some of this stuff.
I knew someone was going to say that. And I already knew what
I was going to say in return: I'd rather know what the C++
standard has to say about those things. I've heard
"translation phases" in here before, but I don't remember or
know if they actually put names on all of them. As in:
translation phase 1, preprocessing.
"The standard doesn't really speak of "compiling" formally. It
specifies how a C++ is translated to an executable file, then
executed. The translation has a certain number of steps;
classically, some of those have been considered "compiling",
where as the last has been considered "linking". But modern
systems tend to blur the distinction, and most systems today
also use a single command line for the works. Thus, for
example, g++ is not what would have been called a compiler when
I was learning computer science; it's a driver program which
invokes different phases of the compiler and/or the linker,
depending on command line options, etc."
"Depending on the context today, "compiling" can mean what you do
to go from one or more .cc files to an executable binary, or
what you do to go from a single .cc file to a single .o/.obj
file, with linking being a separate step (and I can't think of a
good, simple verb for "building a library"). Note that with
g++, I use the commands g++ and cl (under Windows) for both
compiling and linking, and with Sun CC, I use the command CC for
building a library as well (although I use ar with g++, and lib
with cl)."
See, now that's what I think of as "compiling" also: the traditional use
of
the term.
I'm surprised about this whole thread then! :)
It's probably because I'm learning stuff along the way. I _use_ C++, I don't
_implement_ it.
So, would you consider going from source code to an intermediate
form, doing semantic analysis and such along the way, compiling? (The
intermediate form being symbol tables and such).
I prefer to think of things as a "compiler system" with a
"compiler proper" as one part.
I think I was asking JK, but OK. What you said though, probably in this day
needs more definition and can have it. (I mean, it's clear in my mind :) ).
John
.
|
|
|
|
|
| User: "LR" |
|
| Title: Re: Where do I download Comeau compiler. |
12 Aug 2007 09:57:20 AM |
|
|
JohnQ wrote:
See, now that's what I think of as "compiling" also: the traditional use
of the term. So, would you consider going from source code to an
intermediate form, doing semantic analysis and such along the way,
compiling? (The intermediate form being symbol tables and such).
I'm not sure I understand that.
"(The intermediate form being symbol tables and such)."
What makes you think that the intermediate form would include symbol
tables? For what reason? And what does "and such" include?
I always thought that the intermediate form would be code of some kind.
In the case of Comeau's compiler, C code. But no reason it couldn't be
something else. For example I understand that more recent versions of
Visual C++ compile to MSIL or CIL and from there to various native
machine codes. You may find this of interest:
http://en.wikipedia.org/wiki/MSIL
Not to say that a symbol table wouldn't be useful for, say, a cross
reference tool or something, but I don't see why it would be included in
the intermediate form.
But perhaps I'm wrong. What do you think the intermediate form is?
LR
.
|
|
|
| User: "JohnQ" |
|
| Title: Re: Where do I download Comeau compiler. |
14 Aug 2007 01:50:35 AM |
|
|
"LR" <lruss@superlink.net> wrote in message
news:46bf1f7e$0$25583$cc2e38e6@news.uslec.net...
JohnQ wrote:
See, now that's what I think of as "compiling" also: the traditional use
of the term. So, would you consider going from source code to an
intermediate form, doing semantic analysis and such along the way,
compiling? (The intermediate form being symbol tables and such).
I'm not sure I understand that.
"(The intermediate form being symbol tables and such)."
What makes you think that the intermediate form would include symbol
tables? For what reason? And what does "and such" include?
Well I was trying to narrow down what I meant. Whatever kind of constructs
the source code is parsed into, that's what I was considering "intermediate
form". "The place from which anything can be generated". "Symbol tables" was
just a traditional construct I tried to use to give an idea of what I
consider as "intermediate form".
I always thought that the intermediate form would be code of some kind.
Not me. No way. That's code generation. That comes after syntax checking and
semantic analysis and "putting into proprietary constructs". When source
code turns into those traditional programming constructs (say STL containers
and algos), THAT is intermediate form. (Or PRIMARY intermediate form).
In the case of Comeau's compiler, C code.
Nope. That comes after. That's "code generation". Sure, it's "intermediate",
but auxiliary.
Not to say that a symbol table wouldn't be useful for, say, a cross
reference tool or something, but I don't see why it would be included in
the intermediate form.
I think it pretty much IS the intermediate form.
But perhaps I'm wrong. What do you think the intermediate form is?
I tried to explain more above.
John
.
|
|
|
| User: "LR" |
|
| Title: Re: Where do I download Comeau compiler. |
14 Aug 2007 08:05:54 AM |
|
|
JohnQ wrote:
"LR" <lruss@superlink.net> wrote in message
news:46bf1f7e$0$25583$cc2e38e6@news.uslec.net...
JohnQ wrote:
See, now that's what I think of as "compiling" also: the traditional
use of the term. So, would you consider going from source code to an
intermediate form, doing semantic analysis and such along the way,
compiling? (The intermediate form being symbol tables and such).
I'm not sure I understand that.
"(The intermediate form being symbol tables and such)."
What makes you think that the intermediate form would include symbol
tables? For what reason? And what does "and such" include?
Well I was trying to narrow down what I meant. Whatever kind of
constructs the source code is parsed into, that's what I was considering
"intermediate form". "The place from which anything can be generated".
"Symbol tables" was just a traditional construct I tried to use to give
an idea of what I consider as "intermediate form".
I always thought that the intermediate form would be code of some kind.
Not me. No way. That's code generation. That comes after syntax checking
and semantic analysis and "putting into proprietary constructs". When
source code turns into those traditional programming constructs (say STL
containers and algos), THAT is intermediate form. (Or PRIMARY
intermediate form).
In the case of Comeau's compiler, C code.
Nope. That comes after. That's "code generation". Sure, it's
"intermediate", but auxiliary.
A different usage of the word intermediate then? I suppose I lost that
context. My bad.
Not to say that a symbol table wouldn't be useful for, say, a cross
reference tool or something, but I don't see why it would be included
in the intermediate form.
I think it pretty much IS the intermediate form.
But perhaps I'm wrong. What do you think the intermediate form is?
I tried to explain more above.
Ok. I understand what you meant now, and so even though it wasn't
directed to me, the question you asked:
"So, would you consider going from source code to an intermediate form,
doing semantic analysis and such along the way, compiling? (The
intermediate form being symbol tables and such)."
May be answered in a word: No.
But I would consider going from C++ to C code that can be compiled by a
C compiler compiling. Just as I'd consider going from C++ to assembler
compiling. Or going from C++ to either executable or linkable machine
code (what is often called object code) compiling.
But the creation of symbol tables "and such", while it might be part of
a compiler, is not in and of itself compiling.
Wikipedia, http://en.wikipedia.org/wiki/Compiler, gives this definition:
"A compiler is a computer program (or set of programs) that translates
text written in a computer language (the source language) into another
computer language (the target language)."
And so I think my understanding fits.
I really do like that parenthetical comment "(or set of programs)". So
I suppose taking C++ through Comeau's compiler to C, and taking the
produced C to assembler, and taking the produced assembler to machine
code, may in total be considered to be compiling by wikipedia's
definition. And by the definition each of the steps may be considered
to be compiling too. I like that. It's like triangles. Each one can
be made up of other triangles.
Although, of course, it's pretty easy to find definitions that differ.
This one for example from
http://foldoc.org/index.cgi?query=compiler&action=Search
"A program that converts another program from some source language (or
programming language) to machine language (object code). Some compilers
output assembly language which is then converted to machine language by
a separate assembler."
But IMO the second sentence dilutes the strict meaning of the first.
Tsk, tsk, that's two tools in the chain.
But frankly, I suspect it's all besides the point.
I don't use it myself, except the online try it out function, but I'd
guess that plenty of people find Comeau's compiler to be a useful tool.
If I was in other circumstances, I think I'd find it useful too. But I
think you don't imagine yourself to be in this group.
LR
.
|
|
|
|
|
|
|
|
|
|
|
|
| User: "Greg Comeau" |
|
| Title: Re: Where do I download Comeau compiler. |
09 Aug 2007 07:12:02 PM |
|
|
In article <xgvui.13353$eY.3151@newssvr13.news.prodigy.net>,
JohnQ <johnqREMOVETHISprogrammer@yahoo.com> wrote:
"Greg Comeau" <comeau@panix.com> wrote in message
news:f9dlcl$n6d$1@panix2.panix.com...
There is some wiggle room for what we can call things, and I agree we
can explore that, but when push comes to shove, there is little else to
call the process except "compiling C++ to C," given all that needs to
be considered, and hence, calling the tools that does that, a compiler.
Personally I prefer to think Comeau offers a compiler system, since
some other stuff is going on.
You're saying that it's "compiling" rather than just "translating" because
you are going to an intermediate form in between the C++ source and the
generated C source. I think Bjarne S. called cfront a compiler for that
reason too, noting that it had symbol tables etc. so that made it more than
a preprocessor. It really shouldn't be subjective, there should be industry
definitions that are unambigous. Are there?
Most things have some subjective level to them. But most definitions
usually come to similar conclusion. Anyway, I'm not just saying it's
compiling because it is going to an intermediate form. I think it's
worth point out that error checking, syntax checking, semantic analysis,
etc are all done. The difference is that the code generation phase
emits a different object code.
Example: A platform compiler that goes from C++ source to intermediate form
to assembly. Is that "compiling"? Maybe it is because the resulting form is
native (x86 assembly, for example) to the hardware. Maybe it's not though.
Maybe it's just "translation to assembly". Maybe the assembler is the real
"compiler" because it produces a target in machine code.
One way to look at it is as a special compiler. Just like a compiler
is a special translator. And so on.
I dunno. Certainly in the common usage, I think of going from source code to
machine code as "compiling". If a product gets me half way there, then to
me, it's a "front end" of some sort. So, more than a preprocessor, but less
than a compiler. A "translator"?
Maybe front-end compiler would work for what I believe you're seeking.
Now that I think about it more though, maybe going from source code to
intermediate form is "compiling", as in "compile to intermediate form" (!).
Aha! :)
I know that the C++ defines the phases of translation, so maybe I'm just not
boned up on those definitions.
Right, actually many of the standards (certainly C and C++) punt on
terms like compiling, linking, etc. and stick instead to issues
such as phases, and semantics.
If "compiling" means going to intermediate form though, what is "going from
source to executable" then? Just a different form of compiling, as in
"compile to exe", "compile to assembly"? Is the terminology really ambiguous
or are there definitions?
If I understand your question, yes, I would say they are different
forms and different stages of compiling.
--
Greg Comeau / 4.3.9 with C++0xisms now in beta!
Comeau C/C++ ONLINE ==> http://www.comeaucomputing.com/tryitout
World Class Compilers: Breathtaking C++, Amazing C99, Fabulous C90.
Comeau C/C++ with Dinkumware's Libraries... Have you tried it?
.
|
|
|
| User: "JohnQ" |
|
| Title: Re: Where do I download Comeau compiler. |
10 Aug 2007 02:43:47 AM |
|
|
"Greg Comeau" <comeau@panix.com> wrote in message
news:f9gagi$lid$1@panix2.panix.com...
In article <xgvui.13353$eY.3151@newssvr13.news.prodigy.net>,
JohnQ <johnqREMOVETHISprogrammer@yahoo.com> wrote:
"Greg Comeau" <comeau@panix.com> wrote in message
news:f9dlcl$n6d$1@panix2.panix.com...
There is some wiggle room for what we can call things, and I agree we
can explore that, but when push comes to shove, there is little else to
call the process except "compiling C++ to C," given all that needs to
be considered, and hence, calling the tools that does that, a compiler.
Personally I prefer to think Comeau offers a compiler system, since
some other stuff is going on.
You're saying that it's "compiling" rather than just "translating" because
you are going to an intermediate form in between the C++ source and the
generated C source. I think Bjarne S. called cfront a compiler for that
reason too, noting that it had symbol tables etc. so that made it more
than
a preprocessor. It really shouldn't be subjective, there should be
industry
definitions that are unambigous. Are there?
Most things have some subjective level to them. But most definitions
usually come to similar conclusion. Anyway, I'm not just saying it's
compiling because it is going to an intermediate form. I think it's
worth point out that error checking, syntax checking, semantic analysis,
etc are all done. The difference is that the code generation phase
emits a different object code.
So, you're telling me that "compiling" = error checking + syntax checking +
semantic analysis + etc? I'd accept that. Then everything that happens after
that is translation. Translate to assembly or C or machine code or whatever.
Yes?
Example: A platform compiler that goes from C++ source to intermediate
form
to assembly. Is that "compiling"? Maybe it is because the resulting form
is
native (x86 assembly, for example) to the hardware. Maybe it's not though.
Maybe it's just "translation to assembly". Maybe the assembler is the real
"compiler" because it produces a target in machine code.
One way to look at it is as a special compiler. Just like a compiler
is a special translator. And so on.
I dunno. Certainly in the common usage, I think of going from source code
to
machine code as "compiling". If a product gets me half way there, then to
me, it's a "front end" of some sort. So, more than a preprocessor, but
less
than a compiler. A "translator"?
Maybe front-end compiler would work for what I believe you're seeking.''
Or how about, "precompiler"?
Now that I think about it more though, maybe going from source code to
intermediate form is "compiling", as in "compile to intermediate form"
(!).
Aha! :)
I know that the C++ defines the phases of translation, so maybe I'm just
not
boned up on those definitions.
Right, actually many of the standards (certainly C and C++) punt on
terms like compiling, linking, etc. and stick instead to issues
such as phases, and semantics.
OK, I need to look up those phases out of curiosity now. (Or someone can
post them! :) ).
If "compiling" means going to intermediate form though, what is "going
from
source to executable" then? Just a different form of compiling, as in
"compile to exe", "compile to assembly"? Is the terminology really
ambiguous
or are there definitions?
If I understand your question, yes, I would say they are different
forms and different stages of compiling.
Or different contextual uses of the term 'compiling' more likely.
John
.
|
|
|
| User: "Greg Comeau" |
|
| Title: Re: Where do I download Comeau compiler. |
11 Aug 2007 10:02:08 PM |
|
|
In article <TGUui.1426$3x.688@newssvr25.news.prodigy.net>,
JohnQ <johnqREMOVETHISprogrammer@yahoo.com> wrote:
So, you're telling me that "compiling" = error checking + syntax checking +
semantic analysis + etc? I'd accept that. Then everything that happens after
that is translation. Translate to assembly or C or machine code or whatever.
Yes?
You're starting to loose me, but I'll try: compiling does include those
things, but compiling (in the case of compiling) is the translation act.
And yes, I guess it's valid to say that there are subtranslations
occuring within that sometimes.
--
Greg Comeau / 4.3.9 with C++0xisms now in beta!
Comeau C/C++ ONLINE ==> http://www.comeaucomputing.com/tryitout
World Class Compilers: Breathtaking C++, Amazing C99, Fabulous C90.
Comeau C/C++ with Dinkumware's Libraries... Have you tried it?
.
|
|
|
| User: "JohnQ" |
|
| Title: Re: Where do I download Comeau compiler. |
11 Aug 2007 10:47:51 PM |
|
|
"Greg Comeau" <comeau@panix.com> wrote in message
news:f9lt7g$t6h$1@panix1.panix.com...
In article <TGUui.1426$3x.688@newssvr25.news.prodigy.net>,
JohnQ <johnqREMOVETHISprogrammer@yahoo.com> wrote:
So, you're telling me that "compiling" = error checking + syntax checking
+
semantic analysis + etc? I'd accept that. Then everything that happens
after
that is translation. Translate to assembly or C or machine code or
whatever.
Yes?
You're starting to loose me, but I'll try: compiling does include those
things, but compiling (in the case of compiling) is the translation act.
And yes, I guess it's valid to say that there are subtranslations
occuring within that sometimes.
I made another post that more firmly describes how I'm thinking of the
process. So pick it up there if you want to and let this tangential
subthread end. (I actually refer to the stuff in this subthread there).
John
.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
Related Articles |
|
|