www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - dmdfe / dflect update

reply "Tomas Lindquist Olsen" <tomas famolsen.dk> writes:
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
Dec 07 2006
parent reply "bls" <killing__Zoe web.de> writes:
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
Dec 07 2006
parent reply "Tomas Lindquist Olsen" <tomas famolsen.dk> writes:
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
Dec 07 2006
next sibling parent "Tomas Lindquist Olsen" <tomas famolsen.dk> writes:
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)
Dec 07 2006
prev sibling parent reply "bls" <killing__Zoe web.de> writes:
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
Dec 07 2006
parent "Tomas Lindquist Olsen" <tomas famolsen.dk> writes:
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.
Dec 07 2006