Hello!
I developed a PEG that supports left (direct indirect hidden) recursion, right
recursion, both (left and right) recursion, generating a linear algorithm for
these tasks.
Capable of assist in FRONT END compiler development (syntactical, lexical,
semantical analysis)
And you're going to be able to generate morphing computer algorithms like
katadhin.
There are many powerful characteristics and those issues below are covered and
many more for example, rules like:
S -> S a | S S | S S S | b
with linear parsing time!!!!!
Somebody knows someone who's interested in this matter?
________________________________
From: Sérgio Medeiros <[email protected]>
To: Bryan Ford <[email protected]>; peg lista <[email protected]>
Sent: Monday, October 10, 2011 11:24 AM
Subject: Re: [PEG] Fun with left recursion
> 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. :) )
The same as 'S <- f'.
> 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?
The same as 'S <- a'.
> 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?
The same as 'S <- &a'.
> 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?
It consumes just 3 a's.
The general behavior is like this:
* If the input has 2n a's, then 2n-1 a's are matched.
* If the input has 2n+1 a's, then 2n+1 a's are matched.
Sérgio
_______________________________________________
PEG mailing list
[email protected]
https://lists.csail.mit.edu/mailman/listinfo/peg
_______________________________________________
PEG mailing list
[email protected]
https://lists.csail.mit.edu/mailman/listinfo/peg