www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Re: DDMD

reply Andrej Mitrovic <andrej.mitrovich gmail.com> writes:
On 6/12/11, Nick Sabalausky <a a.a> wrote:
 Actually, what I meant was this: DDMD is currently based on DMD 2.040. Ie,
 ATM, it's DMD 2.040 ported to D. You said you were trying to use the 2.053
 backend with DDMD, so I was just wondering if you were also updating DDMD
 frontend to be a D port of something newer than 2.040.

Yeah now it hit me what you meant. First I was trying to build with 2.053, which works now (and I can see you've made an update which allows building with 2.053, that's great!). Then I've tried building DMD 2.053 as a library to link it with DDMD. With a few changes in bridge.cpp and elsewhere that actually works, so I can build ddmd.exe. That's good news, but it does segfault at runtime, and when it doesn't it can't compile much (or any) D code since it will choke on anything in std/druntime that doesn't work with 2.040. That's kind of obvious though. :) The next step is to diff DMD frontends 2.040 and 2.053, and port these to DDMD. I can see from the directory diff that this will take quite a bit of work. But I don't know who is working on what? From posts around here I've seen a mention of someone overhauling DDMD to use the GC, and Nick seems to work on his own code injection mechanism. It seems like there will be duplicated work unless we all know who is doing what. Me, I'd like to start doing diffs and slowly porting the old frontend to the newest one (2.053). But maybe someone is already doing that work.. hard to tell when there's no organization.
Jun 27 2011
next sibling parent reply "Nick Sabalausky" <a a.a> writes:
"Andrej Mitrovic" <andrej.mitrovich gmail.com> wrote in message 
news:mailman.1253.1309231919.14074.digitalmars-d puremagic.com...
 But I don't know who is working on what? From posts around here I've
 seen a mention of someone overhauling DDMD to use the GC,

Yea, that's Denis Koroskin ("korDen"). From what I understand, he's the main guy behind DDMD. Although what he's doing, from what he described to me, is adding *a* GC to DDMD to clean up the leeks the ported frontend leaves behind (Ie, not the druntime GC).
 and Nick
 seems to work on his own code injection mechanism.

That's already in (and it's totally optional for anyone who doesn't like it). Although it's possible I may have missed a few classes I should have added it to...(Actually, I know I missed at least one, I'll have to check again to see what it was...something like "DIdent" or "Identifier" maybe?) It's a trivial change though. Just the same two little lines added to each affected module. Unless Jacob Carlborg's already back on it, I've been temped to finish the work he started on making it build on Linux (I had assumed that was complete, but he told me there was still more to be done on that.)
 It seems like there
 will be duplicated work unless we all know who is doing what.

Yea, probably a good idea for us to take a poll on that.
 Me, I'd like to start doing diffs and slowly porting the old frontend
 to the newest one (2.053). But maybe someone is already doing that
 work.. hard to tell when there's no organization.

I was thinking of doing that since I didn't see anyone else doing it, but I have a ton of other things keeping me plenty busy, so that'd be great if you could. I don't know if anyone else is already working on it though (although the last pushes besides mine were 7 months ago, so I suspect not). According to a quick look at the changeset page ( http://hg.dsource.org/projects/ddmd/ ), the other contributors to DDMD, besides me and Denis, are Trass3r, Eldar Insafutdinov, and Jacob Carlborg. To all of them: Are you currently working on anything in DDMD, and if so, what? To all: Is there anyone else working on anything?
Jun 28 2011
parent Jacob Carlborg <doob me.com> writes:
On 2011-06-28 20:30, Nick Sabalausky wrote:
 Unless Jacob Carlborg's already back on it, I've been temped to finish the
 work he started on making it build on Linux (I had assumed that was
 complete, but he told me there was still more to be done on that.)

When I stopped working on DDMD it was not working on Posix. There were some bugs that I couldn't get around (C++ symbol mangling IIRC), I think they all have been fixed now. If I recall there wasn't much left to get it to work, unless new bugs or other bugs hidden by the first ones show up. I have no plans on working on DDMD any time soon. -- /Jacob Carlborg
Jun 28 2011
prev sibling next sibling parent reply Andrej Mitrovic <andrej.mitrovich gmail.com> writes:
On 6/28/11, Nick Sabalausky <a a.a> wrote:
 I was thinking of doing that since I didn't see anyone else doing it, but I
 have a ton of other things keeping me plenty busy, so that'd be great if you
 could.

I don't have a lot of experience with DDMD/DMD since I'm new to its codebase. But I do have some experience porting C/C++ code to D. I don't think it would be too hard to figure out how to port the new changes, since DDMD seems to keep an almost 1to1 representation of C++ and D code (well apart from a slightly different structure of its modules). But it's the scale of changes that is the biggest issue. I've got plenty of free time so I can volunteer to give it a go.
Jun 28 2011
parent "Nick Sabalausky" <a a.a> writes:
"Andrej Mitrovic" <andrej.mitrovich gmail.com> wrote in message 
news:mailman.1257.1309287037.14074.digitalmars-d puremagic.com...
 On 6/28/11, Nick Sabalausky <a a.a> wrote:
 I was thinking of doing that since I didn't see anyone else doing it, but 
 I
 have a ton of other things keeping me plenty busy, so that'd be great if 
 you
 could.

I don't have a lot of experience with DDMD/DMD since I'm new to its codebase. But I do have some experience porting C/C++ code to D. I don't think it would be too hard to figure out how to port the new changes, since DDMD seems to keep an almost 1to1 representation of C++ and D code (well apart from a slightly different structure of its modules).

There's a page on the D Wiki with some helpful information on some of DMD's internals, but I never seem to be able to find the link. Anyone have it handy? (And of course, I or anyone else could certainly try to help with any questions.)
 But it's the scale of changes that is the biggest issue. I've got
 plenty of free time so I can volunteer to give it a go.

Great! :)
Jun 28 2011
prev sibling next sibling parent Trass3r <un known.com> writes:
 According to a quick look at the changeset page (
 http://hg.dsource.org/projects/ddmd/ ), the other contributors to DDMD,
 besides me and Denis, are Trass3r, Eldar Insafutdinov, and Jacob  
 Carlborg.

I've done a few upgrades to newer frontend versions back then but don't work on ddmd anymore.
Jun 28 2011
prev sibling next sibling parent Andrej Mitrovic <andrej.mitrovich gmail.com> writes:
http://prowiki.org/wiki4d/wiki.cgi?DMDSourceGuide

KennyTM was kind enough to add a whole bunch of front-end info in
recent weeks, thanks Kenny!

Ok well if somebody is already doing the port they should let me now
on this NG, otherwise I'll start doing this the next day.
Jun 28 2011
prev sibling parent reply Andrej Mitrovic <andrej.mitrovich gmail.com> writes:
This is much harder than I expected it to be..

It's problematic because everything has to be hand-ported. And things
aren't so obvious, as DDMD introduces some of its own helper
functions.

I think to really port this properly I would need to know the ins and
outs of the compiler (or at least its front-end). Otherwise I could
end up blindly converting C code to D without paying too much
attention on what it does.

Yikes! Sorry guys, I think I'll have to pass on this project for now.
Maybe in a few months I'll check it out again, but not now. I hate
chickening out, but I'd do more damage than good if I blindly
translated this to D. Sowwy! :/
Jul 05 2011
parent dolive <dolive89 sina.com> writes:
Andrej Mitrovic Wrote:

 This is much harder than I expected it to be..
 
 It's problematic because everything has to be hand-ported. And things
 aren't so obvious, as DDMD introduces some of its own helper
 functions.
 
 I think to really port this properly I would need to know the ins and
 outs of the compiler (or at least its front-end). Otherwise I could
 end up blindly converting C code to D without paying too much
 attention on what it does.
 
 Yikes! Sorry guys, I think I'll have to pass on this project for now.
 Maybe in a few months I'll check it out again, but not now. I hate
 chickening out, but I'd do more damage than good if I blindly
 translated this to D. Sowwy! :/

thanks! Call ddmd resurrection ! thanks all ! dolive
Dec 07 2011