Implement unusual syntax rules in grammar

Igor V. Burago iburago at gmail.com
Mon Aug 10 06:16:42 UTC 2009


On Sun, Aug 09, 2009 at 11:49:36AM +0200, Moritz Lenz wrote:
> I don't know how octave implements its parser, but it might be worth
> looking at it for prior art.
Of course, I've seen Octave parser.  By the way, I've also wrote Matlab parser for my needs earlier
in C++.  My problems come from the fact that I have not much experince with Parrot yet.

> I don't understand why you can't do it always that way
I've lost sight of '~' operator in Perl 6 rules.  Thank you for suggesting it!

> method identifier($/) {
>     if !$IN_ARRAY_INDEX && $/ eq 'end' {
>         die('Illegal usage of "end" outside array index');
>     }
>     ...
> }
Yes, I thought about exactly the same if:
> >     In other cases, such as usual expressions, I could deny using of 'end' identifier later in NQP.

> I don't know; maybe you can try to use only explicit whitespace matching
> inside array constructors? Or use a different grammar with a different
> we token for that?
Explicit whitespace matching will be just right, but I also need to switch whitespace matching
behavior in unary operators (not to allow space after unary '-', '+', etc.) inside an array
constructor.  And I don't know what is the best way to do that.


More information about the parrot-dev mailing list