Peter Olson <[email protected]> wrote:
> What happens with
>
> a = b((7, c[3)])
Unless it's a really strange syntax, IMO that should throw up an error when it
hits the ")" after the "3".
Taking a step back a few messages, under what conditions would it not work to
recurse down each time an opening tag is found and step back up one level each
time a matching closing tag is found ? If "((" is a distinct tag rather than
two nested "(" tags, then you'd need to look ahead to differentiate that.
Taking the above, I'd expect it to parse like :
b( - recurse new parser instance, do we impose any restrictions based on
context - eg are we expecting a particular type of result ?
> ( - recurse new parser instance
>> 7
>> c[ - recurse new parser instance
>>> 3
>>> ) - syntax error, expecting "]"
Or if "((" is a tag, then :
b(( - recurse new parser instance
> 7
> c[ - recurse new parser instance
>> 3
>> ) - syntax error, expecting "]"
Of course, rather than true recursion, you could be using a stack or ...
_______________________________________________
Dng mailing list
[email protected]
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng