<- previous index next ->
See project description A CFL that is inherently ambiguous is one for which no unambiguous CFG can exists. i i j j i j j i L= {a b c d | i,j>0} union {a b c d | i,j>0} is such a language i i j j The productions for a b c d could be 1) S -> I J 2) I -> a b 3) I -> a I b 4) J -> c d 5) J -> c J d i j j i The productions for a b c d could be (using K instead of J) 6) S -> a K d 7) S -> a S d 8) K -> b c 9) K -> b K c Now consider the case i = j. This is a string generated by both grammars and thus will have two rightmost derivations. (one involving I and J, and one involving K) Thus ambiguous and not modifiable to make it unambiguous. An ambiguous grammar is a grammar for a language where at least one string in the language has two parse trees. This is equivalent to saying some string has more than one leftmost derivation or more than one rightmost derivation.
<- previous index next ->