Thanks all. I'll read these couple of papers with great interest.

Dominic

2009/11/19 Sérgio Medeiros <tamp...@yahoo.com>

> Hi!
>
> I have prepared a draft explaining the semantics and
> put it available on:
> http://www.lua.inf.puc-rio.br/~sergio/leftpeglist.pdf
>
> I present an operational semantics for PEGs and
> after I extend it in order to support left recursion.
> Some statements are not proved in this draft.
>
> I have a toy implementation of this semantics in Lua,
> using the LPEG library.
> An actual implementation should optimize the case of
> right-recursive rules, by not trying to expand the result
> of their matching.
>
> The semantics works for the grammar provided by
> Peter Goodman :-)
>
> Sérgio
>
>
> ----- Mensagem original ----
> De: Peter Goodman <peter.good...@gmail.com>
> Para: peg@lists.csail.mit.edu
> Enviadas: Terça-feira, 17 de Novembro de 2009 21:30:12
> Assunto: Re: [PEG] Res: Problem w/ nullable left recursion and trailing
> rules in "Packrat Parsers Can Support Left Recursion"
>
> Sérgio,
>
> I am quite interested in these semantics. I developed a PEG parser in
> C earlier this year as a part of a personal project and I attempted to
> come up with my own left recursive handling loosely based off of Warth
> et al. but I always had problems with cases such as:
>
> A <- A 'a'
>  <- B
>
> B <- B 'b'
>  <- A
>  <- C
>
> C <- C 'c'
>  <- B
>  <- 'd'.
>
> That is a fairly contrived example, however, the main problems I had
> that I eventually could not overcome was with the
> intertwining/braiding of A and B. If your semantics are able to
> properly handle such awful grammars then I think that would be
> excellent and I would be really interested in reading more in-depth
> into them.
>
> Best Regards,
>
> Peter Goodman,
> http://ioreader.com
> 70 Winston Circle,
> Montreal, Quebec
> H9S 4X6
>
>
>
> 2009/11/17 Sérgio Medeiros <tamp...@yahoo.com>:
> >> Is there any more recent work that I should be aware of that corrects
> this?
> >
> >
> > I am studying left-recursion on PEGs and I am working on a new
> operational
> > semantics for PEGs that gives meaning for left-recursive rules in a
> grammar,
> > so it is another approach.
> >
> > It has some in common with the approach of Warth et al., but I think it
> is
> > simpler.
> >
> > The basic idea is based on the expansion of a nonterminal. Given the
> > definition:
> > A <- A 'a' / 'b'
> >
> > The expansion of A is as follows:
> > A^0 = fail
> > A^1 = A^0 'a' / 'b'
> > A^2 = A^1 'a' / 'b'
> > A^3 = A^2 'a' / 'b'
> > ...
> >
> > A nonterminal (left-recursive or not) should keep expanding while the
> > result of the matching increases, where expansion A^n uses the
> > previous result of the matching of expansion A^(n-1)
> >
> > Given the input "bac"
> > match A^0 = fail
> > match A^1 = "b"
> > match A^2 = "ba"
> > match A^3 = "b" (stops here)
> >
> > The result of the matching of A against input "bac" is "ba".
> >
> > I have a draft of this semantics and I also can give a lengthier
> > explanation if somebody is interested on it.
> >
> > Sérgio
> >
> >
> >
>  
> ____________________________________________________________________________________
> > Veja quais são os assuntos do momento no Yahoo! +Buscados
> > http://br.maisbuscados.yahoo.com
> >
> > _______________________________________________
> > PEG mailing list
> > PEG@lists.csail.mit.edu
> > https://lists.csail.mit.edu/mailman/listinfo/peg
> >
>
> _______________________________________________
> PEG mailing list
> PEG@lists.csail.mit.edu
> https://lists.csail.mit.edu/mailman/listinfo/peg
>
>
>
>
>  
> ____________________________________________________________________________________
> Veja quais são os assuntos do momento no Yahoo! +Buscados
> http://br.maisbuscados.yahoo.com
>
> _______________________________________________
> PEG mailing list
> PEG@lists.csail.mit.edu
> https://lists.csail.mit.edu/mailman/listinfo/peg
>
_______________________________________________
PEG mailing list
PEG@lists.csail.mit.edu
https://lists.csail.mit.edu/mailman/listinfo/peg

Reply via email to