guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: doc snarfing does not work with Sun Forte preprocessor


From: thi
Subject: Re: doc snarfing does not work with Sun Forte preprocessor
Date: Fri, 11 May 2001 12:18:34 -0700

   From: Jim Blandy <address@hidden>
   Date: 11 May 2001 11:40:07 -0500

   I actually got really fed up with the snarfer and wrote up most of a
   replacement in C.  It was working fine, until it started pulling out
   info on functions that were in the disabled branch of a "#if".  Then I
   realized I would have to implement #include, #define, and full CPP
   conditionals (with expression evaluation!) to do the job accurately.

   The advantage of using the real CPP is that you're seeing exactly what
   the compiler's going to see.

yes...

   If we're going to throw out CPP, I think we should scrap the whole
   idea of snarfing altogether.  Putting that info in a separate file,
   whose syntax we can choose, would settle the issue permanently.  Not
   that having the info right next to the function definition isn't
   deliciously convenient, but it isn't really C, and we should expect to
   suffer.

well, i don't suggest throwing out CPP since it provides rudimentary
(but conforming ;-) processing.  any attempt to integrate this step is
bound to ultimately require re-implementation.

on the other hand, the awk scripts are prime targets for replacement.
an immediate grand rewrite would be a rush, probably, but would not
yield useful components.  my approach, instead, is to (slowly over many
releases) nibble out snarfing functionality into these "executable
modules" since they might be useful elsewhere, and then when everything
is in place, scripts/doc-snarf will be easy to convert.

speaking of components, i think test-suite/guile-test would be a fine
addition to the `guile-tools' collection and have medium-term plans to
integrate it (and install test-suite/lib.scm also -- maybe in ice-9?).

thi



reply via email to

[Prev in Thread] Current Thread [Next in Thread]