------art_1380_2660587.1202432554827
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Here is an idea and tell me if it could be accomplished by some other means.


To parse a logic statement like this:

fn:function3(fn:function2(fn:function1(xargs)))

Using a regex sorta like so to grep the function-start-pattern(s) :

/\A((fn\:[\w\-]+)[ ]*\([ ]*)+\z/i

It would be nice to ensure the proper count of ')', without confusion if say
the xargs had ')' literal or escaped string value(s) in there.

One way is to provide a count ref for function-start-pattern, so I could
then group a pattern for match on post-xargs ')' and force the {min,max}
count by some backref to count-of-(function-start-pattern) and put that
in there for the (function-end-pattern)+{X,X}.

Then it might be something like this (ignore the lack of a match on possible
xargs for now) :

/\A((fn\:[\w\-]+)[ ]*\([ ]*)+[ ]*(\)){$#1,$#1}\z/i

Where $#1 would be the count ref of the first group etc. Then there would be
matching count-left-side-( and count-right-side-).

Or I don't understand enuf about the internals of regex to know that this is
impossible.

-ntcm

------art_1380_2660587.1202432554827--