View previous topic :: View next topic |
Author |
Message |
lurker
Joined: 18 Apr 2008 Posts: 4 Location: Internet
|
Posted: Tue Mar 24, 2009 3:48 am Post subject: enki ? |
|
|
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 |
|
|
Trass3r
Joined: 29 Feb 2008 Posts: 66 Location: Germany
|
Posted: Tue May 12, 2009 2:54 pm Post subject: |
|
|
Seems to be quite dead, just like most other great D projects |
|
Back to top |
|
|
h3r3tic
Joined: 30 Mar 2004 Posts: 261 Location: Torun, Poland
|
Posted: Tue May 12, 2009 4:47 pm Post subject: |
|
|
It's not as dead as you might think 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 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 |
|
|
Trass3r
Joined: 29 Feb 2008 Posts: 66 Location: Germany
|
Posted: Sat May 16, 2009 8:26 am Post subject: |
|
|
But the rest, the main DDL project, isn't developed anymore, is it? |
|
Back to top |
|
|
h3r3tic
Joined: 30 Mar 2004 Posts: 261 Location: Torun, Poland
|
Posted: Sat May 16, 2009 11:41 am Post subject: |
|
|
That's going to be a similar answer 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
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 it sorta sucks, but I blame it all on total lack of time and finishing up the slides 15 minutes before the talk
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 |
|
Back to top |
|
|
doob
Joined: 06 Jan 2007 Posts: 367
|
Posted: Sun May 17, 2009 3:12 am Post subject: |
|
|
I would be nice if we could get that code back in the ddl repo. And Mach-O support. |
|
Back to top |
|
|
h3r3tic
Joined: 30 Mar 2004 Posts: 261 Location: Torun, Poland
|
Posted: Sun May 17, 2009 10:53 am Post subject: |
|
|
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
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 |
|
Back to top |
|
|
doob
Joined: 06 Jan 2007 Posts: 367
|
Posted: Mon May 18, 2009 4:41 am Post subject: |
|
|
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 |
|
|
Trass3r
Joined: 29 Feb 2008 Posts: 66 Location: Germany
|
Posted: Wed May 20, 2009 6:17 am Post subject: |
|
|
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 |
|
|
h3r3tic
Joined: 30 Mar 2004 Posts: 261 Location: Torun, Poland
|
Posted: Wed May 20, 2009 11:14 am Post subject: |
|
|
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?
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 |
|
|
Trass3r
Joined: 29 Feb 2008 Posts: 66 Location: Germany
|
Posted: Tue Jun 02, 2009 11:23 am Post subject: |
|
|
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 |
|
|
h3r3tic
Joined: 30 Mar 2004 Posts: 261 Location: Torun, Poland
|
Posted: Tue Jun 02, 2009 6:17 pm Post subject: |
|
|
Not yet, he's being silent :/ |
|
Back to top |
|
|
|