Mindmap
Análise sintática
Inhalt der Mindmap
Análise sintática
O analisador sintático interage com o analisador léxico e semântico, acionando-os quando necessário.
O analisador sintático tem como função verificar se o programa fonte está escrito de acordo com as regras definidas pela sua gramática, ou seja, as estruturas sintáticas.
Para alcançar esse objetivo, ele solicita ao analisador léxico a análise do fluxo dos tokens de entrada e, após receber o retorno do léxico, verifica se o fluxo - o conjunto de tokens - pode ser gerado pela gramática da linguagem, isto é, se a estrutura do comando está em conformidade a regra definida.
métodos
- Descendentes
- Análise de cima para baixo, isto é, da raiz para as folhas
- Ascendentes
- Análise de baixo para cima, ou seja, das folhas para a raiz.
- Descendentes
Recuperação de erros
- É frequente os programadores escreverem programas incorretamente, assim, se o planejamento do tratamento de erros for pensado pelo projetista do compilador desde o início do projeto, pode-se melhorar o desempenho do compilador e a resposta aos erros. Isto é, mensagens melhores e uma recuperação mais eficiente.
- Modalidade do desespero
- Após encontrar um erro no compilador, descarta-se token a token até encontrar um token de sincronização, a partir do qual se reinicia a análise.
- A vantagem dessa estratégia é a simplicidade para a implementação, desde que na especificação da gramática haja tokens delimitadores, os chamados pontos de sincronização.
- Nível de frase
- Quando o analisador sintático se depara com um erro, ele tenta realizar uma correção para poder continuar a análise do restante do programa.
- Para utilizar essa estratégia, o projetista do compilador precisa construir produções na gramática que considerem os pontos passíveis de intervenção para correção, e também tomar cuidado para que o processo de compilação não entre em um loop infinito.
- Correção global
- Incorpora as duas estratégias apresentadas: modalidade do desespero e nível de frase. Nos deparamos com um algoritmo que é muito custoso, isto é, o tempo de processamento é lento, o que torna o processo de compilação vagaroso.
Informationen
- Beschreibung
- Mindmap am Análise sintática, erstellt von Kykaze . am 24/03/2020.
- Erstellt von
- Kykaze .
- Aufrufe
- 0
- Bewertung