Diego Novillo wrote:
This idea is still very raw in my mind, so apologies in advance for
being deliberately vague.  For the last few weeks I have been thinking
on ways to address the sorry state of our internal documentation.

We all agree that none of us has global knowledge of all aspects of
the compiler.  It's just impossible.  So, we have the collective
knowledge distributed all over the place but it is pretty hard for
someone to navigate the compiler without talking to N different
people.

So, I think the problem goes a bit beyond mere documentation of how a
module works at a high level.  I would like to have a navigable
document that also describes the flow of things, interfaces and
helpers.  Starting at main.c:main() and ending at toplev.c:finalize().


Maybe a possible approach would be to use literate programming techniques; By previous experience (still limited), I would believe that it would be more worthwhile on the interface files (ie the *.h files, some *.opt, etc...) than on the implementation files (*.c)

Still, it is a lot of work, and it would mean to change the coding guidelines & coding rules expected by GCC contributors.

I am more thinking loud than actually believing that it would be a good idea to switch to literate programming; I have mixed feelings towards this approach, which has been extensively used in the C-- compiler http://cminusminus.org/ . My personal (biased) view is that sophisticated compiler technology should be coded in higher level languages than C, C++ or Java

Maybe a better discipline would be to expect every coder to document his stuff on the GCC wiki.

All this is more a social issue than anything else. We developers don't like documenting our work (and this is sadly true for me too!)


(Diego, I am busy preparing the basilys branch, see my GCC summit paper).


--
Basile STARYNKEVITCH         http://starynkevitch.net/Basile/
email: basile<at>starynkevitch<dot>net mobile: +33 6 8501 2359
8, rue de la Faiencerie, 92340 Bourg La Reine, France
*** opinions {are only mines, sont seulement les miennes} ***

Reply via email to