------ 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--