Ybadoo - Soluções em Software Livre
Turmas
1º Semestre de 2026

Para compiladores e interpretadores, é essencial que a gramática livre de contexto utilizada para descrever a linguagem de programação não seja ambígua, pois, do contrário, não será possível determinar univocamente qual árvore de derivação deverá ser selecionada para uma dada sentença. Se uma gramática livre de contexto G é considerada ambígua, então:

A Todas as sentenças de L(G) possuem duas ou mais derivações mais à esquerda diferentes.

B Todas as sentenças de L(G) possuem duas ou mais derivações mais à direita diferentes.

C Todas as sentenças de L(G) possuem duas ou mais árvores de sintaxe diferentes.

D Existe pelo menos uma sentença pertencente à L(G) com duas ou mais derivações mais à direita diferentes.

E Todas as sentenças de L(G) possuem pelo menos uma derivação mais à direita.

Uma gramática livre de contexto é formalmente definida como ambígua se, e somente se, existe pelo menos uma sentença em L(G) que possui:

Diante do exposto, vamos analisar cada uma das afirmações a seguir.

A Todas as sentenças de L(G) possuem duas ou mais derivações mais à esquerda diferentes.

Uma gramática livre de contexto será considerada ambígua caso uma única cadeia na linguagem tenha duas ou mais derivações mais à esquerda diferentes, mesmo que todas as outras sejam geradas de forma única.

B Todas as sentenças de L(G) possuem duas ou mais derivações mais à direita diferentes.

Uma gramática livre de contexto será considerada ambígua caso uma única cadeia na linguagem tenha duas ou mais derivações mais à direita diferentes, mesmo que todas as outras sejam geradas de forma única.

C Todas as sentenças de L(G) possuem duas ou mais árvores de sintaxe diferentes.

Uma gramática livre de contexto será considerada ambígua caso uma única cadeia na linguagem tenha duas ou mais árvores de sintaxe (derivação) diferentes, mesmo que todas as outras sejam geradas de forma única.

D Existe pelo menos uma sentença pertencente à L(G) com duas ou mais derivações mais à direita diferentes.

Uma gramática livre de contexto é formalmente definida como ambígua se, e somente se, existe pelo menos uma sentença em L(G) que possui duas ou mais derivações mais à direita diferentes.

E Todas as sentenças de L(G) possuem pelo menos uma derivação mais à direita.

Embora seja verdade que toda sentença gerada por uma gramática livre de contexto possua pelo menos uma derivação mais à direita, essa é uma propriedade geral de gramáticas livres de contexto e não define nem caracteriza a ambiguidade. Gramáticas não ambíguas também satisfazem essa condição.