6.1 and further changes to the language

Adrian Thurston thurs... at cs.queensu.ca
Thu Feb 14 23:06:42 UTC 2008


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