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

Re: Proposed changes for pass 1 wml_p1_ipp

Hi Denis,

On Fri, 4 Feb 2000, Denis Barbier wrote:
> ipp is much more complex that it looks like, so i have to be very
> careful. I discuss below some of your points.

Ok, but I think I've got the idea ;-)

> > $(INCLUDE_SRC). If you want to use them in the further passes, you have to
> > assign variables like <set-var INCLUDE_SRC=$(INCLUDE_SRC).
> Hmmm, i am not convinced this is the best approach for your problem, i
> will think about it.

First: it's not my problem, it's only a idea. Why I use this is very easy
to explain: after including you don't have any more any information about
the included files - therefore it must be done in the way of pass 1.

If you don't need or use these variables, nothing will happen, and you
don't have to think about it in pass 2-9.

> > *  The handling of comments is now done in another part and should be
> > faster than previos (therefore I deleted the warning in the man page).
> Here is where we have to be careful, do these changes break anything?

I know that's the main disadvantage, but it doesn't break any of the
standard include files. Thinking about a safier solution I've got the idea
not to detect (regexp) ".*/\*.*" and '.*/\*.*' as start of comment. The
combination /* outside of file selection is quite rare. 

And you may not forget, that you can build everytime a source code which
breaks any innovation - even against the old comment concept ;-)

With this little enhancement I don't fear any problem... (except in some
rare cases in regexps, where someone wants to detect zero ore more

> > *  Silent Assign Methods: to assign variables without writing themselves
> > to the output (file) I've invented the following "variable substitutions":
> This is a very nice idea.

Thanks. Firstly I thought, this would be the main discussion point because
it breaks the compatibility to the Bourne Shell concept. But in all the
shells you can assign variables without printing them, but not in ipp.

> You're right, that's my first name. As i said before, some of your code
> will be put into wml-SNAP soon, but not everything.

Ok! Please tell me which parts, that I can fight for the other ones ;-)

> Another point: please avoid constructs like
>   +    ($l =~ m/^#(use|include|depends)\s+(\S+)(.*)$/ and $use = 1)
>   +       or next if $l =~ m/^[ \t]*#.*$/ ;
> these are very hard to maintain.

ACK. But I was so happy to create PERLish code ;-) Ok - no problem, but
this regexp is a copy of the regexp in the #(use|include|depends) part ;-)



Franz KNIPP                                               +34 65 44 26 555 
C/ Poeta Ricard Sanmarti, 4-10                            E-46020 Valencia
http://www.knipp.org/franz/                                franz@knipp.org
Website META Language (WML)                www.engelschall.com/sw/wml/
Official Support Mailing List                   sw-wml@engelschall.com
Automated List Manager                       majordomo@engelschall.com