Subject: RE: Parser implemented in XSL -- stack overflow
From: Bill Cohagan <bill.cohagan@xxxxxxxxxxxxx>
Date: Thu, 3 Apr 2003 07:09:18 -0600
|
Michael-
You say:
> xsl:apply-templates is a call, just like call-template, and it requires
a new stack frame.
So, the "problem" in my XSL is not that the style makes pushes necessary
that "normally" woudln't be; rather it's that the processing of siblings in
order causes there to be no pops until the end of the document -- thus the
overflow.
For my purposes this means I'll have to find an alternative approach to
implementing the generated DFST -- which isn't a huge problem in this case.
In the meantime I encourage you (and other XSL compiler designers) to
consider implementing proper tail recursion in your compilers. I believe it
is fairly straightforward, being a syntactic issue rather than one of
determining the semantics of a particular call. (At least it's
straightforward if you're doing recursive descent.)
Thanks for helping me understand the problem.
Regards,
Bill
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|