Gramática ambígua e derivada mais correta

Saurabh Mhase

A gramática ambígua é definida como, "Uma gramática ambígua é uma gramática livre de contexto para a qual existe uma string que pode ter mais de uma derivação ou árvore de análise mais à esquerda."

Minha duvida é,

1) Se a gramática tiver mais de um Right Most Derivatives, isso torna a gramática ambígua?

2) Se a gramática tiver mais de uma Derivada Mais Direita, isso significa que ela terá mais de uma Derivada Mais Direita?

E ter mais de um Right Most Derivatives tem qualquer efeito na capacidade de análise dos analisadores LL (1), LR (0), analisadores LR (1) etc., por quê?

Tudo é definido e abordado com base nas derivadas mais à esquerda. Isso provavelmente ocorre porque nos movemos da esquerda para a direita. Mas podemos obter alguma compreensão da Right Most Derivatives?

dizer

A escolha de esquerda ou direita é totalmente arbitrária. Uma frase que possui mais de uma derivação à esquerda para uma dada gramática também terá mais de uma derivação à direita e vice-versa. Portanto, as duas definições possíveis de ambigüidade são equivalentes.

Isso provavelmente fica mais claro se você considerar a derivação para gerar uma árvore, em vez de uma série de etapas de derivação. As duas ordens de derivação correspondem a dois procedimentos diferentes para percorrer a árvore. (Ambos são de profundidade primeiro, mas um visita os nós da esquerda para a direita e o outro da direita para a esquerda.) Uma gramática é ambígua se alguma frase (ou seja, a orla da árvore) aparece em duas árvores de análise diferentes. Duas árvores diferentes terão sequências de caminhada diferentes para ambos os procedimentos de caminhada, então a travessia pode ser usada para comparar árvores. (Outros procedimentos de caminhada com esta propriedade também são possíveis.)

Este artigo é coletado da Internet.

Se houver alguma infração, entre em [email protected] Delete.

editar em
0

deixe-me dizer algumas palavras

0comentários
loginDepois de participar da revisão

Artigos relacionados

Mudar / reduzir o conflito com gramática ambígua

Como posso fazer essa gramática não ambígua?

CFG: Por que essa gramática é ambígua?

Por que essa gramática ANTLR4 é ambígua?

Esta gramática livre de contexto é ambígua?

por que isso é uma gramática ambígua?

Converter dada gramática de expressão aritmética ambígua em LL inequívoca (1)

Faça uma gramática livre de contexto não ambígua

Alamofire 4.0.0: [String: String] não é conversível para [String: Any] e a solicitação é ambígua sem mais contexto

A classe X tem mais de um construtor padrão e chamada ambígua para função sobrecarregada

std::inicialização variante e ambígua

Sobrecarga ambígua de ponteiro e inteiro?

Como fazer a gramática Perl 6 produzir mais de uma correspondência (como: ex e: ov)?

pyparsing - como antecipar a gramática ambígua (carimbo de data / hora com / sem análise de fuso horário)

Por que uma gramática recursiva à esquerda, não determinística ou ambígua não pode ser LL (1)?

classe base ambígua ao converter ponteiro de classe derivada para classe base

Intenção ambígua e preenchimento de slot

modelos c ++ e chamada ambígua para função sobrecarregada

c ++ cadeia operador e char * causando erro ambígua

Retorno Tipo Resolver e sobrecarga ambígua para 'operator ='

Qual deve ser a gramática correta para a avaliação de precedência correta de +, -, /, *, etc

Gramática C # e switch curinga

LL (1) Gramática e análise

Analisar a gramática alternando e repetindo

lançando Base * para a classe derivada correta

Qual é a diferença entre gramática lexical e gramática sintática?

Como analisar essa gramática simples? É ambíguo?

A coerção Swift Array () é ambígua sem mais contexto - mas apenas na extensão

O Java tem uma sintaxe ambígua que precisa de mais informações sobre um identificador?