Requisito previo: gramáticas libres de contexto
1. Gramática ambigua :
una gramática libre de contexto se llama gramática ambigua si existe más de un árbol de derivación o árbol de análisis.
Ejemplo –
S -> S + S / S * S / S / a
2. Gramática inequívoca:
una gramática libre de contexto se denomina gramática inequívoca si existe un único árbol de derivación o árbol de análisis sintáctico.
Ejemplo –
X -> AB A -> Aa / a B -> b
Diferencia entre gramática ambigua e inequívoca:
S.NO | gramática ambigua | Gramática inequívoca |
---|---|---|
1. | En la gramática ambigua, las derivaciones más a la izquierda y más a la derecha no son iguales. | En gramática inequívoca, las derivaciones más a la izquierda y más a la derecha son las mismas. |
2. | La cantidad de no terminales en la gramática ambigua es menor que en la gramática no ambigua. | La cantidad de no terminales en la gramática no ambigua es mayor que en la gramática ambigua. |
3. | La longitud del árbol de análisis en gramática ambigua es comparativamente corta. | La longitud del árbol de análisis sintáctico en una gramática inequívoca es comparativamente grande. |
4. | La velocidad de derivación de un árbol en la gramática ambigua es más rápida que la de la gramática no ambigua. | La velocidad de derivación de un árbol en la gramática no ambigua es más lenta que la de la gramática ambigua. |
5. | La gramática ambigua genera más de un árbol de análisis. | La gramática inequívoca genera solo un árbol de análisis. |
6. | La gramática ambigua contiene ambigüedad. | La gramática inequívoca no contiene ninguna ambigüedad. |