Also implementing :: will help for more precise errors reports. That one is one pmichaud plate that is already full
On Tue, Jun 8, 2010 at 1:36 PM, Moritz Lenz via RT <[email protected]> wrote: > Am 07.06.2010 23:23, schrieb Stephane Payrard (via RT): >> # New Ticket Created by Stephane Payrard >> # Please include the string: [perl #75592] >> # in the subject line of all future correspondence about this issue. >> #<URL: http://rt.perl.org/rt3/Ticket/Display.html?id=75592> >> >> >> I am probably a lousy programmer but I hit again and again that >> unhelpful message. >> >> How to reproduce : >> >> eval "{\n\n\n\n\'}" >> >> Unable to parse blockoid, couldn't find final '}' at line 1 >> >> Note that the opening quotes are many lines below the start of the >> blockoid and there may be many statements between them. >> So the line number in the error is unhelpful. >> >> In the simplest case, the quote rules fails because the end of the >> file has been reached. I don't see the need >> to backtrack and to fail the blockoid. > > That's not what's happening. > The blockoid is embedded in the quote, so it fails first, and then the > quote rule fails. > > If you're interested in fixing this, you might look at how STD.pm does > it. Some of its constructs are easily transferable into rakudo's > grammar, some not as easy (but need to be ported at some point anyway). > > Cheers, > Moritz > > > -- cognominal stef
