Compiladores
Compiladores
Introdução a Compiladores
Prof. Ms. Anderson Pazin
Aula 1
Introdução
Introdução
• Linguagem de programação (LP):
– meio de comunicação entre usuário e computador – Solução de Problemas computacionais
• O desenvolvimento de um programa torna-se mais fácil se a LP em uso estiver próxima ao problema a ser resolvido.
• Hierarquia de linguagens:
– Linguagem de alto nível: próxima ao pensamento humano
– Linguagem de baixo n ível (linguagem de máquina): usada pelo computador
LP
Pensamento
Humano
(não estruturado)
Introdução
• Compilador: software básico de computador capaz de traduzir uma linguagem de alto nível (código fonte) em outra mais simples (código destino) geralmente um execut ável
Evolução Cronológica
As Gerações das Linguagens
Código fonte Compilador
Código destino Mensagens de erro
1
Evolução das LP (Cronologia)
•
Cinco gerações de LP
1.
2.
3.
4.
5.
Linguagens de Máquina
Linguagens Simb ólica(Assembly)
Linguagens Orientadas ao usuário
Linguagens Orientadas à aplicação
Linguagens de conhecimento
Baixo
Nível
1ª Geração: Linguagens de
Máquina
• Programação em notação binária;
• Instrução:
– código de operação + endereço de registradores ou memória.
Alto
Nível
2ª Geração: Linguagens
Simbólicas (Assembly)
• Projetada para minimizar as dificuldades da programação em notação binária.
• Introdução dos mnemônicos
– sistema onde grupos de códigos operacionais semelhantes recebem nomes que lembram suas funções – Um mnemônico é um nome reservado de uma família de códigos operacionais que realizam tarefas semelhantes no processador.
– Exemplo base Hexadecimal para endereços de memória • Requer a tradução para uma linguagem de máquina antes de ser executado.
4ª Geração: Linguagens
Orientadas à Aplicações
• Objetivos:
– Facilitar a programação de computadores (usuários finais resolvendo problemas);
– Apressar o