On Mon, Nov 28, 2005 at 01:16:49PM -0500, Will Coleda wrote: > With patches from myself (to tcl) and leo (to parrot), partcl is once > again passing 100% of the tests, using PDD20.
Yay! > The biggest hurdle was having some arbitrary (non :lex-ified) parrot > sub issue our find_lex and store_lex for us to ease transition. As > more of tcl becomes compiled, we can probably eliminate this code > path entirely, but that's a ways off. Yow. The below code looks a bunch like what the find_lex opcode is supposed to do. What made it necessary? > .sub find_lex_pdd20 > .param string variable_name > > .local pmc interp, lexpad, variable > .local int depth > interp = getinterp > depth = 2 # we know it's not us or our direct caller. > > get_lexpad: > # Is there a lexpad at this depth? > lexpad = interp["lexpad";depth] > unless_null lexpad, got_lexpad > > # try again > inc depth > goto get_lexpad > got_lexpad: > variable = lexpad[variable_name] > .return(variable) > .end > > -- Chip Salzenberg <[EMAIL PROTECTED]>