6.1 and further changes to the language

Jason Garber jason.gar... at gmail.com
Fri Mar 7 21:25:35 UTC 2008


Thanks so much!  I just used it in SuperRedCloth.  Example:
link = ( "["? '"' C "."* " "* link_says " "* :> title? :> '":' %A uri %
{ STORE_URL(href); } :> "]"? ) >X ;
The optional square bracket at the end wouldn't have been possible (or
at least as simple) before.

Looking forward to the 6.1 release.

- Jason

On Feb 14, 11:05 pm, Adrian Thurston <thurs... at cs.queensu.ca> wrote:
> I just committed an implementation. I was surprised at how little code
> it was.
>
> -Adrian
>
> Manoj Rajagopalan wrote:
> > Now that I understand it, it's a great idea! I just switched to using a
> > different approach because Ragel lacked this feature.
>
> > -- Manoj
>
> > Adrian Thurston wrote:
> >> Hi Wncent, here's an example:
>
> >> main := |*
> >>    'foo' %{ /*leaving action*/ } => { /*scanner pattern action*/ };
> >> *|;
>
> >> -Adrian
>
> >> On Feb 14, 3:13 pm, Wincent Colaiuta <w... at wincent.com> wrote:
> >>> El 14/2/2008, a las 18:37, Adrian Thurston escribió:
>
> >>>> Hi,
> >>>> I'm planning a 6.1 release with further changes to the language that
> >>>> will break backwards compatibility.
> >>>> When scanners were first made there was no consideration to getting
> >>>> leaving actions at the end of a scanner pattern to execute. Now it
> >>>> stands out to me as an inconsistency that needs to be fixed.
> >>>> I don't expect people to embed a leaving action right before the
> >>>> pattern
> >>>> action is specified. You should still use the scanner action instead.
> >>> Can you clarify what you mean by "scanner action"? Just to make sure I
> >>> understand what you're saying here.
>
> >>>> The problem is with machine definitions used at the end of a scanner
> >>>> pattern that have leaving actions inside. These may do some cleanup or
> >>>> other final processing at the end of a machine definition and should
> >>>> be
> >>>> executed.
> >>> Cheers,



More information about the ragel-users mailing list