I think this bug should now be fixed in 456ade5 -- it no longer
segfaults on the test program I'm giving it. The problem appears to
have been that 'when' statements (and 'loop' and 'repeat') were failing
to create the implicit $/ lexical var (as well as $_ and $!), and thus
the 'make' function would segfault when attempting to set $/.ast .
The test program I was using no longer segfaults as of 456ade5:
$ cat x
grammar A {
regex TOP { \' (.*?) \' {*} }
};
class B {
method TOP($/) {
when * {
make ['Text', ~$0];
}
}
};
A.parse("'foo'", :action(B.new))
or die 'no match'; say $/.ast.perl;
$ ./perl6 x
["Text", "foo"]
$
I'll assign the ticket to moritz++, who can then decide what spectests
(if any) we need and then close the ticket.
Thanks!
Pm