[spec] Phases of translation

Stefanos Baziotis sdi1600105 at di.uoa.gr
Mon May 20 21:07:26 UTC 2019


On Monday, 20 May 2019 at 20:22:24 UTC, Max Haughton wrote:
>
> You're right, that is definitely an issue with the current 
> specification. One of the really annoying issues is that dmd is 
> understandable locally (e.g. I was able to add a little feature 
> without looking much up) but the global structure of the code 
> is quite disjoint e.g. lots of the analysis code is lumped 
> together and fairly difficult to grok without watching a 
> debugger go through it (Unless you already know)

As a newcomer here, I agree. After the parsing stage, things 
start to get
a little bit unclear.

While I agree that the spec is not supposed to be a tutorial, 
well, there isn't
any tutorial either. I'm not suggesting to make the spec a 
tutorial, but to make
some tutorial.

Compilers are of great interest to me and I think that DMD is 
great study material
if you want to look at a non-trivial compiler. But on the same 
time, I think
it is not attractive for new users. It maybe me that I'm not a 
compiler expert
but I think it's not easy for most people.

The source code guide [1] did not help much. It was way too 
high-level for me
to understand any important parts. I think that the video 
referenced above [2]
way more helpful. In that video, you said that you could talk for 
a month
about the compiler. Well, I would be glad to do that for you with 
some help. :)

After GSoC, I was planning to start diving into the compiler and 
writing about
it. But, I may write a lot of incorrect stuff.
So, if any experienced compiler dev wants to help / review those, 
I would be
very happy. And I think it would help other not-compiler-jedis 
understand it.


[1] https://wiki.dlang.org/DMD_Source_Guide
[2] https://www.youtube.com/watch?v=l_96Crl998E


More information about the Digitalmars-d mailing list