#173: lexicals not found in PIRC
----------------------+-----------------------------------------------------
Reporter: kjs | Owner: kjs
Type: bug | Status: reopened
Priority: normal | Milestone:
Component: core | Version:
Severity: medium | Resolution:
Keywords: lexicals | Lang:
Patch: | Platform:
----------------------+-----------------------------------------------------
Old description:
> lexicals can't be found in nested .subs.
> the following works in parrot, but the generated bytecode doesn't seem to
> work:
>
> {{{
> .sub main
> .lex "x", $P0
> $P0 = new "Integer"
> $P0 = 42
> foo()
> .end
>
> .sub foo :outer("main")
> $P0 = find_lex "x"
> print $P0
> .end
> }}}
>
> So, apparently, lexicals are not stored correctly.
> This needs fixing.
New description:
lexicals can't be found in nested .subs.
the following works in parrot, but the generated bytecode doesn't seem to
work:
{{{
.sub main
.lex "x", $P0
$P0 = new "Integer"
$P0 = 42
foo()
.end
.sub foo :outer("main")
$P0 = find_lex "x"
print $P0
.end
}}}
So, apparently, lexicals are not stored correctly.
This needs fixing.
--
Comment(by bacek):
This is output of sample from description.
{{{
~/src/parrot (master)$ ./parrot lex.pir
42
~/src/parrot (master)$ ./parrot -o lex.pbc lex.pir
~/src/parrot (master)$ ./parrot lex.pbc
Null PMC in say
current instr.: 'foo' pc 21 (lex.pir:10)
called from Sub 'main' pc 13 (lex.pir:5)
}}}
--
Bacek.
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/173#comment:7>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
http://lists.parrot.org/mailman/listinfo/parrot-dev