Well, using code that I haven't touched in ages and a completely
experimental approach, what I get for http://codepad.org/EvnKQm98  is:

case 1: doesn't do anything, doesn't loop
case 2: behaves like S -> a
case 3: segfault.. hrmmmm.
case 4: reads in aaa.

This is using http://projects.ioreader.com/cp/

Best Regards,

Peter Goodman,
http://www.petergoodman.me
65 High Park Ave. APT 413,
Toronto, Ontario
M6P 2R7



On Sun, Oct 9, 2011 at 4:39 PM, Bryan Ford <bryan.f...@yale.edu> wrote:
> Left recursion in PEGs indeed seems like an interesting can of worms.  For 
> those interested, I'm wondering how a few example grammars behave under your 
> preferred left-recursive parsing technique, and how you think they should 
> behave.
>
> First, a trivially evil left-recursive grammar:
>
> S <- S
>
> For example, does your parser detect and reject this somehow, or does it 
> behave the same as 'S <- f'?  (I hope it doesn't result in an infinite loop 
> at runtime anyway. :) )
>
> Now a grammar that's weird, not necessarily evil, in a slightly more subtle 
> way:
>
> S <- S / a
>
> Does this behave the same as 'S <- a', or do something else?  How should it 
> behave?
>
> Cranking up the evilness factor one notch with a mutually left-recursive 
> grammar…
>
> S <- T / a
> T <- S / &a
>
> Given the input string "a", does this behave the same as 'S <- a' (succeeding 
> and consuming) or the same as 'S <- &a' (succeeding but consuming no input)?  
> Do S and T behave the same way or differently?  Should they?
>
> Now, another grammar that's not necessarily evil but strange in a slightly 
> different way:
>
> S <- Saa / a /
>
> Given the input string 'aaaa', for example, does/should this grammar consume 
> just 3 or all 4 a's, or does it do something else?  What should it do?
>
> Cheers,
> Bryan
> _______________________________________________
> 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