www.digitalmars.com         C & C++   DMDScript  

D - Is Anyone working on the D Frontend to GCC

reply andy <acoliver nc.rr.com> writes:
I'm pleased that the D frontend to GCC has been released.  When I
originally wrote the group I didn't understand just what was meant by
that.  I misunderstood it to mean something more of a D->C
parser/generator and not the "frontend" as is meant.  I don't have any
solid background in writing compilers but I'd really like to see a D
frontend to GCC happen.  I'm willing to start this work on my own but
would like to know first if there is anyone I can collaborate with.  Is
anyone out there working on this?

Thanks,

Andy
May 26 2002
parent reply Andy Walker <Andy_member pathlink.com> writes:
I am working on a GCC front end for D.  If you are working on one as well, I
would like to collaborate.  I have been researching it for the last month.  I
didn't know it was "D" until yesterday.  My skill set is "C" and "C++" in an HP
Unix environment, as well as a Linux environment at home.  Overall, about ten to
twelve years experience, but much of it on IBM Mainframes.  

I am not sure I understand your statement.   

I have downloaded Walter's front end.  I have not unzipped or untarred it.  I
understood it to be a "D to C" compiler.  If it is a D to GCC front end, I will
have to stop and start over.  

Fair warning: I will sort of insist that Walter's opinion is final.  In my
humble opinion, the reason that it is called Linux and not GNU/Hurd/Unix is that
Mr. Torvalds is not a committee.  He exercises good judgment and foresight.  He
vetoes things that are not useful, even if they were formerly part of the
ditribution.  I am not slamming anyone at the FSF or GNU or Hurd.  Mr. Torvalds
is a benevolent dictator.  He has a power that none of the committees possess:
he can, and does, say no.  He says no when it helps the distribution.  

I have now read many of Walter's comments and responses in the D messages.  I am
quite satisfied that he posseses the skill, the temperament, and the vision
suitable for being entrusted with such deference.    

Taken in isolation, there is very good justification for every part of C, C++,
and Unix.  They stand head and shoulders above their predecessors, COBOL,
FORTRAN, PL/1, and assembler Macro languages.  Taken as a whole, they have
problems.  Neither Kernigan nor Ritchie nor Stroustroup had the power to say:
"Umm, in hindsight, that could have been done better.  Here is how we will do it
in the future".   ( I am not slamming COBOL or FORTRAN, either.  I have
programmed in Binary, hand toggled into the front panel of a PDP-11.  Compared
to that, every one of the languages I listed is GREAT.)  

One other point.  Until I get flamed too often, I think I prefer to call it
"Bright" and not "D".  It is inappropriate for Walter to call it that.  Just too
self serving.  I do not have that problem.  And I like the name.  

Please let me know.  

One other point:  I will be out of town, on-site for my employer for the next
two weeks, starting very early Tuesday morning.  I will not be reviewing emails
until I return.  If you email me after Monday evening, I will not respond
quickly, I am not being rude, I am just gone.  I will be working on "Bright to
GCC" while I am out-of-town.  




In article <acr3p9$og8$1 digitaldaemon.com>, andy says...
I'm pleased that the D frontend to GCC has been released.  When I
originally wrote the group I didn't understand just what was meant by
that.  I misunderstood it to mean something more of a D->C
parser/generator and not the "frontend" as is meant.  I don't have any
solid background in writing compilers but I'd really like to see a D
frontend to GCC happen.  I'm willing to start this work on my own but
would like to know first if there is anyone I can collaborate with.  Is
anyone out there working on this?

Thanks,

Andy

Andy Walker jawalker stl.quik.com
May 26 2002
next sibling parent reply andy <acoliver nc.rr.com> writes:
On Sun, 26 May 2002 17:36:31 -0400, Andy Walker wrote:

 I am working on a GCC front end for D.  If you are working on one as
 well, I would like to collaborate.  I have been researching it for the
 last month.  I didn't know it was "D" until yesterday.  My skill set is
 "C" and "C++" in an HP Unix environment, as well as a Linux environment
 at home.  Overall, about ten to twelve years experience, but much of it
 on IBM Mainframes.
 

Great, I have very crappy ill suited experience for this, and I offer myself as a lacky. I'll offer what time slices I can and do the dirty work. I'm a quick study and reasonably "bright" so I expect I can keep up. I've 6 years of professional experience, my C and C++ is rusty as I've been doing Java. I've got a fair amount of experience in bulding community around code.
 I am not sure I understand your statement.
 
 I have downloaded Walter's front end.  I have not unzipped or untarred
 it.  I understood it to be a "D to C" compiler.  If it is a D to GCC
 front end, I will have to stop and start over.
 

No, AFAIK Walter has released the source to D front end to the Digital Mars compiler. It should prove pretty helpful in doing a D frontend to GCC.
 Fair warning: I will sort of insist that Walter's opinion is final.  In
 my humble opinion, the reason that it is called Linux and not
 GNU/Hurd/Unix is that Mr. Torvalds is not a committee.  He exercises
 good judgment and foresight.  He vetoes things that are not useful, even
 if they were formerly part of the ditribution.  I am not slamming anyone
 at the FSF or GNU or Hurd.  Mr. Torvalds is a benevolent dictator.  He
 has a power that none of the committees possess: he can, and does, say
 no.  He says no when it helps the distribution.
 

Um, okay. I'm not looking to revise D just create an implementation that will work on Linux/Unix for instance. If Walter has guidence and/or advice I can't imagine I'd do much more than comply.
 I have now read many of Walter's comments and responses in the D
 messages.  I am quite satisfied that he posseses the skill, the
 temperament, and the vision suitable for being entrusted with such
 deference.
 

Again, point is to implement the spec and try to achieve pound for pound compatibility with Walter's compiler.
 Taken in isolation, there is very good justification for every part of
 C, C++, and Unix.  They stand head and shoulders above their
 predecessors, COBOL, FORTRAN, PL/1, and assembler Macro languages. Taken
 as a whole, they have problems.  Neither Kernigan nor Ritchie nor
 Stroustroup had the power to say: "Umm, in hindsight, that could have
 been done better.  Here is how we will do it in the future".   ( I am
 not slamming COBOL or FORTRAN, either.  I have programmed in Binary,
 hand toggled into the front panel of a PDP-11.  Compared to that, every
 one of the languages I listed is GREAT.)
 

I have to say... . I do not like C++. Regardless as to why it is what it is, I don't care, I just do not like C++. (would like to see D take its place).
 One other point.  Until I get flamed too often, I think I prefer to call
 it "Bright" and not "D".  It is inappropriate for Walter to call it
 that.  Just too self serving.  I do not have that problem.  And I like
 the name.
 

Okay, I don't care what you call it but for the purpose of explaining it to others I'll be calling it the D front end to GCC. Even if its self serving on Walter's part (I'm not saying I agree), calling it something other than its name to fight Walter's presumptuousness is NOT worth the confusion. If the language is to be adopted we need it to be known by a single monkier. I'll defer to Walter's judgement on this ;-).
 Please let me know.
 
 One other point:  I will be out of town, on-site for my employer for the
 next two weeks, starting very early Tuesday morning.  I will not be
 reviewing emails until I return.  If you email me after Monday evening,
 I will not respond quickly, I am not being rude, I am just gone.  I will
 be working on "Bright to GCC" while I am out-of-town.
 

Okay, I suggest the following steps: 1. start a project on either Sourceforge (www.sourceforge.net) or Savannah (the GNU sourceforge) and get the sources into CVS. 2. We'll both Look at walters front end code, and I'll look at your code and see what I can offer. 3. I'll study the toy language examples for GCC 4. I'll start capaigning like minded folks to join in our effort and make the dream a reality. 5. Once the project is off to a good start and the front end works and smarter folks are contributing than me I'll fade off from the front end project and work on creating class libraries for D and porting certain class libraries to D. Thoughts? -Andy
 
 
 
 In article <acr3p9$og8$1 digitaldaemon.com>, andy says...
I'm pleased that the D frontend to GCC has been released.  When I
originally wrote the group I didn't understand just what was meant by
that.  I misunderstood it to mean something more of a D->C
parser/generator and not the "frontend" as is meant.  I don't have any
solid background in writing compilers but I'd really like to see a D
frontend to GCC happen.  I'm willing to start this work on my own but
would like to know first if there is anyone I can collaborate with.  Is
anyone out there working on this?

Thanks,

Andy

Andy Walker jawalker stl.quik.com

May 26 2002
parent reply Andy Walker <Andy_member pathlink.com> writes:
In article <acrrln$1iq0$1 digitaldaemon.com>, andy says...
On Sun, 26 May 2002 17:36:31 -0400, Andy Walker wrote:

 I am working on a GCC front end for D.  If you are working on one as
 well, I would like to collaborate. 

I've 6 years of professional experience, my C and C++ is rusty as I've been doing Java.

From an old FORTRAN programmer's point of view, Java is C++ with a little bit different accent. ( please direct flames to my email address and do not clog up this list with them. Please do not bother to try to enlighten me. I have programmed in all this stuff, and I have a better idea about specific language differences than most programmers. )
No, AFAIK Walter has released the source to D front end to the Digital
Mars compiler.  It should prove pretty helpful in doing a D frontend to
GCC.

I have looked at it a little. I plan to leave most of it as-is and slavishly follow the style. The really tough part is figuring out the GCC tree stuff. At least Walter's code is well written. A lot of the GCC code is literally so bad that no one understands it. I fear that confusion is intentional.
Again, point is to implement the spec and try to achieve pound for pound
compatibility with Walter's compiler.

Exactly.
 
 One other point:  I will be out of town, on-site for my employer for the
 next two weeks, starting very early Tuesday morning. 

Okay, I suggest the following steps: 1. start a project on either Sourceforge (www.sourceforge.net) or Savannah (the GNU sourceforge) and get the sources into CVS.

Good, with Walter's blessing. Walter?
2. We'll both Look at walters front end code, and I'll look at your code and see
what I can offer.

I have been mangling GCC code, and what I have does not compile. It also expects things like { _if ( true ) a =b; } ;-) I am going to delete it all and start over.
3. I'll study the toy language examples for GCC

We need a syntax for the tree in GCC. With Walter's release of the Bright (D) front-end code, the only thing left to do is adapt it to generate GCC tree data. See if you can figure something out for the GCC tree. I will also be worrking on it for the next two weeks. When I get back, maybe we can reduce the "Duuuh" factor. Please do not be too offended if the people that post on the gcc development list are quite unhelpful. Richard M. Stallman and many of the decision makers at the Free Software Foundation (FSF) appear to be hostile to explicit, clear descriptions of the GCC tree. Many of the contributors apparently do not share this attitude. It was your post there that brought me to this site. I cannot now find your post or the responses, or Tim Josling's related post regarding ALGOL, in the gcc message history logs. Those posts directed readers to the Sourceforge COBOL site, and particularly, Tim's chapter 14 that talks about the GCC tree.
4. I'll start capaigning like minded folks to join in our effort and make
the dream a reality.

5. Once the project is off to a good start and the front end works and
smarter folks are contributing than me I'll fade off from the front end
project and work on creating class libraries for D and porting certain
class libraries to D.  

Thoughts?

Sounds good to me. FWIW, I have met a lot of programmers. Very few of them were stupid. The stupid ones could not compose a sentence. Mostly, it is matter of learning the language and understanding the algorithms. If you can do that, most of the rest of it is debugging. Gotta go now. I have to pack. Andy Walker jawalker stl.quik.com
May 27 2002
next sibling parent "Walter" <walter digitalmars.com> writes:
"Andy Walker" <Andy_member pathlink.com> wrote in message
news:aculda$9cs$1 digitaldaemon.com...
1. start a project on either Sourceforge (www.sourceforge.net) or
Savannah (the GNU sourceforge) and get the sources into CVS.


Sounds good to me. -Walter
May 28 2002
prev sibling parent reply andy <acoliver apache.org> writes:
(using my other email address...same person as acoliver at nc dot rr dot 
com)

 From an old FORTRAN programmer's point of view, Java is C++ with a little bit
 different accent.  ( please direct flames to my email address and do not clog
up
 this list with them.  Please do not bother to try to enlighten me. I have
 programmed in all this stuff, and I have a better idea about specific language
 differences than most programmers. )
 

Why would I do that? I don't really care. Not sure how this was relevant. Java is not the greatest thing ever invented (neither was fortran -- not that I've done any work on it but it looks yucky), but it pays the bills. I hate some of the restrictions of the VM, but love having a basically OO language that doesn't have some of the painful features of C++. D looks like it could 1 up that. I don't profess to be as enlightened as you.
 I have looked at it a little.  I plan to leave most of it as-is and slavishly
 follow the style.  The really tough part is figuring out the GCC tree stuff. 
At
 least Walter's code is well written.  A lot of the GCC code is literally so bad
 that no one understands it.  I fear that confusion is intentional.  
 

Possibly. Though one should never attribute to malevolence what can be just as easily attributed to incompetance or laziness...or something to that affect. Came up with the idea for stealing that line all by myself.
 
Again, point is to implement the spec and try to achieve pound for pound
compatibility with Walter's compiler.

Exactly.

Great.
One other point:  I will be out of town, on-site for my employer for the
next two weeks, starting very early Tuesday morning. 

Okay, I suggest the following steps: 1. start a project on either Sourceforge (www.sourceforge.net) or Savannah (the GNU sourceforge) and get the sources into CVS.

Good, with Walter's blessing. Walter?

Great. I'll start the project on Savannah (only because sourceforge seems to be rather poor performing and have a lot of outages as of late). Things to keep in mind: 1. is it possible to maintain the same environment with imports, isolation from C/C++ features in a GCC front end format? 2. Effect of differences between walters linker/environment and GCC? Maybe these are not as serious as it seems to me they might be.
 
2. We'll both Look at walters front end code, and I'll look at your code and see
what I can offer.

I have been mangling GCC code, and what I have does not compile. It also expects things like { _if ( true ) a =b; } ;-) I am going to delete it all and start over.

OK.
 
3. I'll study the toy language examples for GCC

We need a syntax for the tree in GCC. With Walter's release of the Bright (D) front-end code, the only thing left to do is adapt it to generate GCC tree data. See if you can figure something out for the GCC tree. I will also be worrking on it for the next two weeks. When I get back, maybe we can reduce the "Duuuh" factor.

Yes. I'm going to lean heavily on your experience to get an overall structure. I believe strongly in documentation as a pain-reliever. Its better than tylenol, asprin and doesn't hurt your stomache! Great for preventing headaches! So I'll do what I can to that aim as we go.
 Please do not be too offended if the people that post on the gcc development
 list are quite unhelpful.  Richard M. Stallman and many of the decision makers
 at the Free Software Foundation (FSF) appear to be hostile to explicit, clear
 descriptions of the GCC tree.  Many of the contributors apparently do not share
 this attitude.  
 

So far they were pretty helpful. Yes, Stallman isn't my favorite person. If we generate such a description, they can't really do a damn thing about it. *shrug*
 It was your post there that brought me to this site.  I cannot now find your
 post or the responses, or Tim Josling's related post regarding ALGOL, in the
gcc
 message history logs.  Those posts directed readers to the Sourceforge COBOL
 site, and particularly, Tim's chapter 14 that talks about the GCC tree.  
 

Ahh, probably because they posted to me directly.
 
4. I'll start capaigning like minded folks to join in our effort and make
the dream a reality.

5. Once the project is off to a good start and the front end works and
smarter folks are contributing than me I'll fade off from the front end
project and work on creating class libraries for D and porting certain
class libraries to D.  

Thoughts?

Sounds good to me. FWIW, I have met a lot of programmers. Very few of them were stupid. The stupid ones could not compose a sentence. Mostly, it is matter of learning the language and understanding the algorithms. If you can do that, most of the rest of it is debugging.

Cool. Lets get to work. I'll start by trying to make sense from the GCC tree, etc. -Andy
 Gotta go now.  I have to pack.  
 
 Andy Walker
 jawalker stl.quik.com

May 28 2002
next sibling parent reply andy <acoliver apache.org> writes:
I was going to set this up on savannah as it seemed the most appropriate 
place for it but....  After reading some of the conditions...

like following GNU coding standards (bah!) etc etc.

Secondly, Walter has chosen to release the front end under GPL version 
as opposed to 2.  Dunno if this was a conscious decision or not, but 
Savannah requires us to use 2 or later.

I think I'd rather set it up on sourceforge and maintain a safe distance 
from Stallman and friends for the moment.  We can always move to 
savannah later.  Its much harder to kill a living breathing piece of 
source than politic it from being born.

So if there are no objections I'll start this on sourceforge so that we 
can maintain some freedom through the benevolent indifference of the VA 
Linux folks.  Any Objections?  Andy?  Walter?

-Andy
May 28 2002
parent "Walter" <walter digitalmars.com> writes:
"andy" <acoliver apache.org> wrote in message
news:3CF39D04.9050408 apache.org...
 Secondly, Walter has chosen to release the front end under GPL version
 as opposed to 2.  Dunno if this was a conscious decision or not, but
 Savannah requires us to use 2 or later.

What is 2?
 So if there are no objections I'll start this on sourceforge so that we
 can maintain some freedom through the benevolent indifference of the VA
 Linux folks.  Any Objections?  Andy?  Walter?

No objections, feel free.
May 28 2002
prev sibling parent "Walter" <walter digitalmars.com> writes:
"andy" <acoliver apache.org> wrote in message
news:3CF39545.2090302 apache.org...
 2. Effect of differences between walters linker/environment and GCC?
 Maybe these are not as serious as it seems to me they might be.

2) should not be a big deal.
May 28 2002
prev sibling next sibling parent reply "Sean L. Palmer" <seanpalmer earthlink.net> writes:
I was under the impression that the D frontend that's available is a "D to
walter's backend" compiler.

Walter next wants to do a "D to C" compiler (DFront) and after that
potentially GCC (though you guys might beat him to that one)

Anyhow, intense flaming will surely ensue if you propose changing the name D
to something else.  Not that I don't like the name "Bright" or dislike the
name "D" or anything... I really don't care what it's called, I just want it
to exist and gain popularity.

Sean

"Andy Walker" <Andy_member pathlink.com> wrote in message
news:acrkgv$16gn$1 digitaldaemon.com...
 I am working on a GCC front end for D.  If you are working on one as well,

 would like to collaborate.  I have been researching it for the last month.

 didn't know it was "D" until yesterday.  My skill set is "C" and "C++" in

 Unix environment, as well as a Linux environment at home.  Overall, about

 twelve years experience, but much of it on IBM Mainframes.

 I am not sure I understand your statement.

 I have downloaded Walter's front end.  I have not unzipped or untarred it.

 understood it to be a "D to C" compiler.  If it is a D to GCC front end, I

 have to stop and start over.

 Fair warning: I will sort of insist that Walter's opinion is final.  In my
 humble opinion, the reason that it is called Linux and not GNU/Hurd/Unix

 Mr. Torvalds is not a committee.  He exercises good judgment and

 vetoes things that are not useful, even if they were formerly part of the
 ditribution.  I am not slamming anyone at the FSF or GNU or Hurd.  Mr.

 is a benevolent dictator.  He has a power that none of the committees

 he can, and does, say no.  He says no when it helps the distribution.

 I have now read many of Walter's comments and responses in the D messages.

 quite satisfied that he posseses the skill, the temperament, and the

 suitable for being entrusted with such deference.

 Taken in isolation, there is very good justification for every part of C,

 and Unix.  They stand head and shoulders above their predecessors, COBOL,
 FORTRAN, PL/1, and assembler Macro languages.  Taken as a whole, they have
 problems.  Neither Kernigan nor Ritchie nor Stroustroup had the power to

 "Umm, in hindsight, that could have been done better.  Here is how we will

 in the future".   ( I am not slamming COBOL or FORTRAN, either.  I have
 programmed in Binary, hand toggled into the front panel of a PDP-11.

 to that, every one of the languages I listed is GREAT.)

 One other point.  Until I get flamed too often, I think I prefer to call

 "Bright" and not "D".  It is inappropriate for Walter to call it that.

 self serving.  I do not have that problem.  And I like the name.

 Please let me know.

 One other point:  I will be out of town, on-site for my employer for the

 two weeks, starting very early Tuesday morning.  I will not be reviewing

 until I return.  If you email me after Monday evening, I will not respond
 quickly, I am not being rude, I am just gone.  I will be working on

 GCC" while I am out-of-town.




 In article <acr3p9$og8$1 digitaldaemon.com>, andy says...
I'm pleased that the D frontend to GCC has been released.  When I
originally wrote the group I didn't understand just what was meant by
that.  I misunderstood it to mean something more of a D->C
parser/generator and not the "frontend" as is meant.  I don't have any
solid background in writing compilers but I'd really like to see a D
frontend to GCC happen.  I'm willing to start this work on my own but
would like to know first if there is anyone I can collaborate with.  Is
anyone out there working on this?

Thanks,

Andy

Andy Walker jawalker stl.quik.com

May 26 2002
parent "Walter" <walter digitalmars.com> writes:
"Sean L. Palmer" <seanpalmer earthlink.net> wrote in message
news:acs0sd$1pf7$1 digitaldaemon.com...
 I was under the impression that the D frontend that's available is a "D to
 walter's backend" compiler.

That's correct.
 Walter next wants to do a "D to C" compiler (DFront) and after that
 potentially GCC (though you guys might beat him to that one)

The Dfront is currently nowhere. If the GCC project gets well underway, the dfront will be rendered pretty much irrelevant. Frankly, it's probably much less work to do a GCC version than a dfront, although I can't be sure since I've never worked with GCC.
May 26 2002
prev sibling parent "Walter" <walter digitalmars.com> writes:
"Andy Walker" <Andy_member pathlink.com> wrote in message
news:acrkgv$16gn$1 digitaldaemon.com...
 Fair warning: I will sort of insist that Walter's opinion is final.  In my
 humble opinion, the reason that it is called Linux and not GNU/Hurd/Unix

 Mr. Torvalds is not a committee.  He exercises good judgment and

 vetoes things that are not useful, even if they were formerly part of the
 ditribution.  I am not slamming anyone at the FSF or GNU or Hurd.  Mr.

 is a benevolent dictator.  He has a power that none of the committees

 he can, and does, say no.  He says no when it helps the distribution.

 I have now read many of Walter's comments and responses in the D messages.

 quite satisfied that he posseses the skill, the temperament, and the

 suitable for being entrusted with such deference.

Thanks. My main concern is to keep the core language compatible across the various implementations. That's essential to gain market acceptance of D. What's also needed is a verification suite, which will help implementors immensely in getting the semantics right with the minimum of effort.
May 27 2002