Baixe o app para aproveitar ainda mais
Prévia do material em texto
UNIESP Disciplina: Construção de Compiladores Prof: Danilo Rangel Arruda Leite Alunos: Brayan José de Souza Andrade Soennio Sousa da Silva 1 - Analise Léxica: É o processo de converter uma sequência de caracteres (como em um programa de computador ou página da web) em uma sequência de tokens (strings com um significado atribuído e, portanto, identificado). Um programa que realiza análise lexical pode ser denominado Lexer, Tokenizer,[1] ou scanner, embora scanner também seja um termo para o primeiro estágio de um lexer. Um lexer geralmente é combinado com um analisador, que juntos analisam a sintaxe de linguagens de programação, páginas da Web e assim por diante. 2 - Análise Sintática: é o processo de analisar uma sequência de entrada (lida de um arquivo de computador ou do teclado, por exemplo) para determinar sua estrutura gramatical segundo uma determinada gramática formal. Essa análise faz parte de um compilador, junto com a análise léxica e análise semântica. A análise sintática, ou análise gramatical é o processo de se determinar se uma cadeia de símbolos léxicos pode ser gerada por uma gramática. 3 - Análise semântica: é um processo de um compilador (de uma linguagem de programação) na qual são verificados os erros semânticos (por exemplo, divisão de um número inteiro por outro número real (float) no padrão ANSI) no código fonte e coletadas as informações necessárias para a próxima fase da compilação, que é a geração de código objeto. A análise semântica trata a entrada sintática e transforma-a numa representação mais simples e mais adaptada a geração de código. Esta camada do compilador fica igualmente encarregada de analisar a utilização dos identificadores e de ligar cada uma delas a sua declaração. Nesta situação verificar-se se o programa respeita as regras de visibilidade e de porte dos identificadores. Além disso, é também esperado que no processo da compilação verifique se cada expressão definida tem um tipo adequado conforme as regras próprias da linguagem. O objetivo da análise semântica é trabalhar nesse nível de inter-relacionamento entre partes distintas do programa. As tarefas básicas desempenhadas durante a análise semântica incluem a verificação de tipos, a verificação do fluxo de controle e a verificação da unicidade da declaração de variáveis. Dependendo da linguagem de programação, outros tipos de verificações podem ser necessários. 4 – Comparativo: Em suma, a grande diferença está na forma de execução. Enquanto um compilador analisa todo o código a fim de traduzi-lo de uma vez (muitas vezes, o resultado é um arquivo executável ou uma biblioteca), o interpretador faz esse trabalho de conversão aos poucos, sempre que uma declaração ou função é executada, por exemplo. 5 - Compilado Interpretado C Python Java PHP Cobol Java Script C# C# C++ Ruby
Compartilhar