Peter Olson <pe...@peabo.com> 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 Dng@lists.dyne.org https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng