Conceito de tradução e interpretação
Por: Alexandeerr • 16/5/2017 • Pesquisas Acadêmicas • 349 Palavras (2 Páginas) • 130 Visualizações
Conceitos de tradução e interpretação Aula 2
Tradução: O programa de alto nível é convertido por completo para a linguagem de maquina para então ser executado. Em linguagem de alto nível, esta tradução pé realizada pelo compilador. As linguagens de alto nível são um conjunto de instruções entendidas pelos programadores, o compilador tem o papel de transformar essas instruções para a linguagem que o hardware entenda. Cada tradução pode dividir-se nas seguintes fases:
Análise Léxica
Ela separa a sequência de caracteres que representa o programa fonte em entidades ou tokens, símbolos básicos da linguagem. Ela reconhece os símbolos que representam uma unidade, identificam todas as palavras reservadas, caracteres especiais e tipos básicos e os separa. Um token consiste de um par ordenado (valor, classe). A classe indica a natureza da informação contida em valor.
Análise Sintática
Ele agrupa os tokens fornecidos pela análise léxica e os organiza em estruturas sintáticas da gramatica da linguagem fonte. O analisador também reconhece os erros sintáticos, são construções no programa fonte que não estão de acordo com a gramatica da linguagem. Identifica a gramatica do programa e a função de cada componente.
Analisador Semântico: Ainda na fase da análise sintática, o compilador executa uma análise semântica que identifica operadores das expressões, erros semânticos, verificações de compatibilidade de tipo, analisar o escopo das variáveis e verificar a correspondência entre os parâmetros atuais e formais. A análise semântica trata de aspectos sensíveis ao contexto da sintaxe das linguagens de programação, Por exemplo, não é possível representar em uma gramatica livre de contexto uma regra como “Todo identificador deve ser declarado antes de usado”, e a verificação que essa regra foi aplicada.
Otimização do Código
A otimização do código tem por objetivo verificar sequências de código ineficiente e aplicar um conjunto de heurísticas para detectar essas sequências e substitui-las por outras que renovam as situações de ineficiência. Essa otimização deve, além de manter o significado original do programa, ser capaz de identificar as possíveis melhoras a serem feitas no código.
Interpretação: Depois de cada instrução de alto nível ao ser examinada e decodificada, ela é executada imediatamente
...