Análise sintática (computação): diferenças entre revisões

Conteúdo apagado Conteúdo adicionado
Tipos de analisadores sintaticos
m Desfeita(s) uma ou mais edições de 200.20.228.15, com Reversão e avisos.
Linha 19:
=== Bottom-up ===
Conhecida como análise de empilhar e reduzir, a análise sintática Bottom-Up realiza a redução mais a esquerda uma cadeia de entrada '''X''' ao simbolo inicial da gramática. A árvore gramatical é construída iniciando pelas folhas e indo em direção à raiz. Os símbolos de '''α''' são associados até reconhecer o lado direito de uma produção e a aceitação se dá se, esgotada a sequência '''α''' e o símbolo inicial estiver na raiz da árvore.
 
==== '''Analisador de ascendência recursiva''' ====
o analisador de ascendência recursiva é uma espécie de analisador top-down construído a partir de um conjunto de procedimentos mutuamente recursivo (ou um equivalente não-recursivo) onde cada tal procedimento geralmente implementa uma das produções da gramática. Assim, a estrutura resultante do
programa que espelha a gramática reconhece.
 
===== Analisador preditivo =====
Um '''''analisador preditivo''''' é um analisador de ascendência recursiva que não necessita de retrocesso. Análise preditiva é possível somente para a classe de LL (k) gramáticas, que são as gramáticas livres de contexto para o qual existe algum inteiro positivo ''k'' que permite um analisador descendente recursivo para decidir qual a produção de usar examinando apenas os próximos ''k'' símbolos de entrada. Os LL ''(k)'' gramáticas excluem todas as gramáticas ambíguas, bem como todas as gramáticas que contêm recursão à esquerda. Qualquer gramática livre de contexto pode ser transformada em uma gramática equivalente que não tem recursão à esquerda, mas a remoção da recursão à esquerda nem sempre produzir um LL ''(k)'' gramática. Um analisador preditivo é executado em tempo linear.
 
===== '''Analisador de precedência simples''' =====
Um '''analisador de precedência simples''' é um tipo de analisador de baixo para cima para gramáticas livres de contexto que podem ser usados ​​apenas por gramáticas de precedência simples. A implementação do analisador é bastante semelhante ao genérico analisador bottom-up. Uma pilha é usada para armazenar um prefixo viável de uma forma sentenciai a partir de uma derivação mais à direita são usados ​​para identificar o pivô, e saber quando a tecla Shift ou quando a Reduzir.
 
==== Analisador de precedência do operador ====