Thread overview
dmdfe / dflect update
Dec 07, 2006
bls
Dec 08, 2006
bls
December 07, 2006
Same as: http://dsource.org/forums/viewtopic.php?t=839
------------------------------------------------------

I wanted to have a look at the dmd frontend so ended up checking out
this (dmdfe).
It was 0.121 and I found dflect as well which was 0.126.

I grabbed dflect which is almost the same as dmdfe, except it generates some runtime reflection code (which I have not tested, but the app runs and generates some output).

dmdfe wise: Except for the Module::genobjfile they are all still stubs.

The upgrade to 0.176 was actually pretty easy, so I might have missed something, but it compiles...

Hope somebody will find this useful.

http://famolsen.dk/d/dflect-176.zip

-- Tomas

December 07, 2006
Hi Tomas,
please explain the sense and possible practical use of your dflect
implementation.
 I guess it is in Cpp so why the  brave D Developer should spend time in
investigating this software ?
(Could be a matter of interrest if Stubs have a DLL interface)

In case that I pick on your nerves ...Not my intention!! Just wonder .. Bjoern


"Tomas Lindquist Olsen" <tomas@famolsen.dk> schreef in bericht news:ela360$1fch$1@digitaldaemon.com...
> Same as: http://dsource.org/forums/viewtopic.php?t=839
> ------------------------------------------------------
>
> I wanted to have a look at the dmd frontend so ended up checking out
> this (dmdfe).
> It was 0.121 and I found dflect as well which was 0.126.
>
> I grabbed dflect which is almost the same as dmdfe, except it generates some runtime reflection code (which I have not tested, but the app runs and generates some output).
>
> dmdfe wise: Except for the Module::genobjfile they are all still stubs.
>
> The upgrade to 0.176 was actually pretty easy, so I might have missed something, but it compiles...
>
> Hope somebody will find this useful.
>
> http://famolsen.dk/d/dflect-176.zip
>
> -- Tomas
>


December 07, 2006
bls wrote:

> Hi Tomas,
> please explain the sense and possible practical use of your dflect
> implementation.
>  I guess it is in Cpp so why the  brave D Developer should spend time
> in investigating this software ?
> (Could be a matter of interrest if Stubs have a DLL interface)
> 
> In case that I pick on your nerves ...Not my intention!! Just wonder ..  Bjoern
> 
> 
> "Tomas Lindquist Olsen" <tomas@famolsen.dk> schreef in bericht news:ela360$1fch$1@digitaldaemon.com...
> > Same as: http://dsource.org/forums/viewtopic.php?t=839
> > ------------------------------------------------------
> > 
> > I wanted to have a look at the dmd frontend so ended up checking out
> > this (dmdfe).
> > It was 0.121 and I found dflect as well which was 0.126.
> > 
> > I grabbed dflect which is almost the same as dmdfe, except it generates some runtime reflection code (which I have not tested, but the app runs and generates some output).
> > 
> > dmdfe wise: Except for the Module::genobjfile they are all still stubs.
> > 
> > The upgrade to 0.176 was actually pretty easy, so I might have missed something, but it compiles...
> > 
> > Hope somebody will find this useful.
> > 
> > http://famolsen.dk/d/dflect-176.zip
> > 
> > -- Tomas
> > 

I personally wanted to see how the DMD frontend worked.
The dflect stuff is just because dflect used dmdfe and was a newer
version of DMD than dmdfe.

If someone wishes to do something with the DMD frontend, then this project could be helpful in getting started faster...

Reason I looked into it was to learn more about compilers - something I have never investigated before. I've also been reading the LLVM docs for a while since there was a post about it.

Who knows, if I keep finding this interesting enough I might use the code I just posted as a base for making a LLVM based D compiler.

I found it much easier to figure out (somewhat) what is going on in DMD using this compared to the raw DMD, as I can actually compile this an get an app with a DMD commandline interface.

-- Tomas

December 08, 2006
Tomas Lindquist Olsen wrote:
> I personally wanted to see how the DMD frontend worked.
> The dflect stuff is just because dflect used dmdfe and was a newer
> version of DMD than dmdfe.
> 
> If someone wishes to do something with the DMD frontend, then this project could be helpful in getting started faster...
> 
> Reason I looked into it was to learn more about compilers - something I have never investigated before. I've also been reading the LLVM docs for a while since there was a post about it.
> 
> Who knows, if I keep finding this interesting enough I might use the code I just posted as a base for making a LLVM based D compiler.
> 
> I found it much easier to figure out (somewhat) what is going on in DMD using this compared to the raw DMD, as I can actually compile this an get an app with a DMD commandline interface.
> 
> -- Tomas

In other words. The DMD frontend from the dmd zips doesn't compile out of the box. This does*...

* (At least on Windows using dmc)
December 08, 2006
Hmmmm,
Tomas  Having fun in finding a special solution for a special problem is
pretty okay, but who can participate and enjoy in this case?
Still, where is the pragmatic : This is good for ....

Bjoern



"Tomas Lindquist Olsen" <tomas@famolsen.dk> schreef in bericht news:ela7sf$1k7o$1@digitaldaemon.com...
> bls wrote:
>
> > Hi Tomas,
> > please explain the sense and possible practical use of your dflect
> > implementation.
> >  I guess it is in Cpp so why the  brave D Developer should spend time
> > in investigating this software ?
> > (Could be a matter of interrest if Stubs have a DLL interface)
> >
> > In case that I pick on your nerves ...Not my intention!! Just wonder ..  Bjoern
> >
> >
> > "Tomas Lindquist Olsen" <tomas@famolsen.dk> schreef in bericht news:ela360$1fch$1@digitaldaemon.com...
> > > Same as: http://dsource.org/forums/viewtopic.php?t=839
> > > ------------------------------------------------------
> > >
> > > I wanted to have a look at the dmd frontend so ended up checking out
> > > this (dmdfe).
> > > It was 0.121 and I found dflect as well which was 0.126.
> > >
> > > I grabbed dflect which is almost the same as dmdfe, except it generates some runtime reflection code (which I have not tested, but the app runs and generates some output).
> > >
> > > dmdfe wise: Except for the Module::genobjfile they are all still stubs.
> > >
> > > The upgrade to 0.176 was actually pretty easy, so I might have missed something, but it compiles...
> > >
> > > Hope somebody will find this useful.
> > >
> > > http://famolsen.dk/d/dflect-176.zip
> > >
> > > -- Tomas
> > >
>
> I personally wanted to see how the DMD frontend worked.
> The dflect stuff is just because dflect used dmdfe and was a newer
> version of DMD than dmdfe.
>
> If someone wishes to do something with the DMD frontend, then this project could be helpful in getting started faster...
>
> Reason I looked into it was to learn more about compilers - something I have never investigated before. I've also been reading the LLVM docs for a while since there was a post about it.
>
> Who knows, if I keep finding this interesting enough I might use the code I just posted as a base for making a LLVM based D compiler.
>
> I found it much easier to figure out (somewhat) what is going on in DMD using this compared to the raw DMD, as I can actually compile this an get an app with a DMD commandline interface.
>
> -- Tomas
>


December 08, 2006
bls wrote:

> Hmmmm,
> Tomas  Having fun in finding a special solution for a special problem
> is pretty okay, but who can participate and enjoy in this case?
> Still, where is the pragmatic : This is good for ....
> 
> Bjoern

Ben Hinkle who originally made it describes it like this:

"The dmdfe program consists of the Digital Mars D compiler frontend with the backend hooks stubbed out. The goal is to make it easy to write tools that can parse and do basic semantics analysis on D code."

That's really all there is to it. It *might* be useless for real world stuff, but I found it interesting none the less. Someone else might as well - which is why I decided to announce it.