Buscar

Ted de Construção de Compiladores

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Continue navegando