FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

enki ?

 
Post new topic   Reply to topic     Forum Index -> DDL - D Dynamic Libraries
View previous topic :: View next topic  
Author Message
lurker



Joined: 18 Apr 2008
Posts: 4
Location: Internet

PostPosted: Tue Mar 24, 2009 3:48 am    Post subject: enki ? Reply with quote

hi,

will there be compilable versions for the latest 2.x and 1.x compiler?
getting desperate for 2.026

thanks

any chance not to use tango with prospective updates?
Back to top
View user's profile Send private message
Trass3r



Joined: 29 Feb 2008
Posts: 66
Location: Germany

PostPosted: Tue May 12, 2009 2:54 pm    Post subject: Reply with quote

Seems to be quite dead, just like most other great D projects Sad
Back to top
View user's profile Send private message
h3r3tic



Joined: 30 Mar 2004
Posts: 261
Location: Torun, Poland

PostPosted: Tue May 12, 2009 4:47 pm    Post subject: Reply with quote

It's not as dead as you might think Wink Yesterday I've decided I'd need a new parser generator as APaGeD is dead and broken. I've downloaded Enki2 and updated it to DMD 1.043+ and Tango rev. 4569 (which is pretty much 0.99.8 plus stack tracing). It was surprisingly easy and within a few hours I had my own parser rolling Smile Enki2 may seem a bit hard on the syntax at a first look, but it seems pretty stable and is nice to work with after you get used to it.

I've got commit rights to DDL's SVN, so I might fold my changes there. But before that happens, Pragma might want to commit some more stuff. I've talked to him yesterday and he might have some uncommited local changes.
The updated version of Enki2 sits at: http://team0xf.com:1024/ext/file/70b9addb42d5/enki/

As an extra example, here's my own stuff using it: http://team0xf.com:1024/nucleus/file/ae070c52dc88/kernel/
The relevant files are:
KDefLexer.bnf -> generates KDefLexer.d
KDefParser.bnf -> generates KDefParser.d
KDefLexerBase.d
KDefParserBase.d
KDefToken.d
... and these are used in KernelParser.d

Happy hacking!
Back to top
View user's profile Send private message MSN Messenger
Trass3r



Joined: 29 Feb 2008
Posts: 66
Location: Germany

PostPosted: Sat May 16, 2009 8:26 am    Post subject: Reply with quote

But the rest, the main DDL project, isn't developed anymore, is it?
Back to top
View user's profile Send private message
h3r3tic



Joined: 30 Mar 2004
Posts: 261
Location: Torun, Poland

PostPosted: Sat May 16, 2009 11:41 am    Post subject: Reply with quote

That's going to be a similar answer Wink I'm using DDL and maitaining a fork as well as an enhanced linker on top of its lower level features. It's in the team0xf 'ext' repo as well: http://team0xf.com:1024/ext/file/70b9addb42d5/ddl/ ; The linker can be found at: http://team0xf.com:1024/linker/
Until recently DDL has only supported OMF, but the fork recently acquired some ELF code: http://gim.jogger.pl/2009/05/01/ddl-in-linux-part-1/ ; I haven't tested it myself yet, but apparently it works for some simple tests Smile

I've given a talk about DDL and xf.linker at the 2008 Tango Conference: http://vimeo.com/2264486 ; perhaps you can filter some info from it Wink it sorta sucks, but I blame it all on total lack of time and finishing up the slides 15 minutes before the talk Razz
DDL and xf.linker are also briefly mentioned in http://vimeo.com/2164813 - at the end I showcase a system which does D code generation, runtime compilation and dynamic (re)linking of modules.

As for other examples, I've used DDL to load and run complete apps in cases where OPTLINK crashed badly. I think the editor/rendering system shown in the gamedev conference talk was one program I've thrown at it. Others included DWT apps for which I tested the approach of having weakly linked executables (in the form of libs loaded by a host), which pretty much gave the functionality of Java's dynamic class loading and latent component/plugin linking.

I also had a nice blog post about xf.linker, but I had to take it down because some spammer hacked my wordpress and put crap in the RSS, as well as screwing up my code formatting. I'll get it up again when I find some free time. For now, the samples in xf.linker and the presentation will have to suffice as documentation Razz
Back to top
View user's profile Send private message MSN Messenger
doob



Joined: 06 Jan 2007
Posts: 367

PostPosted: Sun May 17, 2009 3:12 am    Post subject: Reply with quote

I would be nice if we could get that code back in the ddl repo. And Mach-O support.
Back to top
View user's profile Send private message
h3r3tic



Joined: 30 Mar 2004
Posts: 261
Location: Torun, Poland

PostPosted: Sun May 17, 2009 10:53 am    Post subject: Reply with quote

There'd have to be some volunteers to do Mach-O. I don't know anyone who'd have a Mac and interest in co-developing DDL Confused
As for getting the code into SVN, the ELF support should not be a problem to merge into the trunk, but the guy doing it hasn't yet shared all the changes he's done, probably wants to add some more polish.
I'm not sure about the xf.linker stuff, it's quite different from the workings of DDL's high level code. Integrating it would mean changing the API and the general way one interacts with loading and linking. It's still Pragma's project so I would not want to just go in and stomp over it like that Razz
Back to top
View user's profile Send private message MSN Messenger
doob



Joined: 06 Jan 2007
Posts: 367

PostPosted: Mon May 18, 2009 4:41 am    Post subject: Reply with quote

I would like to do Mach-O support but right now I just don't have the time. The school is taking almost all of my time and I'm working on some other projects too (dwt-cocoa for example). I have to wait for school to settle down a bit and then I want to update dwt-cocoa to swt 3.5, perhaps after that.

I've looked at the ddl source code and tried to understand how it worked. I tried finding mac equivalent functions to the windows functions but that was almost impossible and I had a hard time getting an overview of what code actually did.
Back to top
View user's profile Send private message
Trass3r



Joined: 29 Feb 2008
Posts: 66
Location: Germany

PostPosted: Wed May 20, 2009 6:17 am    Post subject: Reply with quote

h3r3tic wrote:
That's going to be a similar answer Wink I'm using DDL and maitaining a fork as well as an enhanced linker on top of its lower level features. It's in the team0xf 'ext' repo as well: http://team0xf.com:1024/ext/file/70b9addb42d5/ddl/ ; The linker can be found at: http://team0xf.com:1024/linker/

I could imagine using it for a plugin system.
Is it likely that it will still work with future versions of dmd?
Back to top
View user's profile Send private message
h3r3tic



Joined: 30 Mar 2004
Posts: 261
Location: Torun, Poland

PostPosted: Wed May 20, 2009 11:14 am    Post subject: Reply with quote

doob wrote:
I would like to do Mach-O support but right now I just don't have the time. The school is taking almost all of my time and I'm working on some other projects too (dwt-cocoa for example). I have to wait for school to settle down a bit and then I want to update dwt-cocoa to swt 3.5, perhaps after that.

Time... what is that? Wink

doob wrote:
I've looked at the ddl source code and tried to understand how it worked. I tried finding mac equivalent functions to the windows functions but that was almost impossible and I had a hard time getting an overview of what code actually did.

Um, I don't think you can do it this way. Any Windows-specific functions you'll find in DDL will likely be just utility stuff. You'd have to implement Mach-O parsing from ground-up (unless there is a lib that does it and is made available on a permissive license).

Trass3r wrote:
I could imagine using it for a plugin system.
Is it likely that it will still work with future versions of dmd?

I don't see why it wouldn't. The implementation will have to be ported to D2, but otherwise DDL as a technology can live on without any obstacles. When I move to D2, I'll make sure DDL goes there as well, but perhaps someone will tackle the task a bit earlier.
Back to top
View user's profile Send private message MSN Messenger
Trass3r



Joined: 29 Feb 2008
Posts: 66
Location: Germany

PostPosted: Tue Jun 02, 2009 11:23 am    Post subject: Reply with quote

h3r3tic wrote:
I've downloaded Enki2 and updated it to DMD 1.043+ and Tango rev. 4569
...
I've got commit rights to DDL's SVN, so I might fold my changes there. But before that happens, Pragma might want to commit some more stuff. I've talked to him yesterday and he might have some uncommited local changes.

Any updates on that?
Back to top
View user's profile Send private message
h3r3tic



Joined: 30 Mar 2004
Posts: 261
Location: Torun, Poland

PostPosted: Tue Jun 02, 2009 6:17 pm    Post subject: Reply with quote

Not yet, he's being silent :/
Back to top
View user's profile Send private message MSN Messenger
Display posts from previous:   
Post new topic   Reply to topic     Forum Index -> DDL - D Dynamic Libraries All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group