Compilador

Lailson Henrique
Mind Map by Lailson Henrique, updated more than 1 year ago
Lailson Henrique
Created by Lailson Henrique over 5 years ago
56
1

Description

Etapas do processo de compilacao

Resource summary

Compilador
1 Pré-processador

Annotations:

  • Tratamento pré-compilação: expansão de macros.
1.1 Código fonte (Macros expandidas)
1.1.1 Compilador

Annotations:

  • Cada instrução de L1 é substituída por um conjunto de instruções em L0. O programa vai ser traduzido uma unica vez e executado várias vezes.
1.1.1.1 Assembly (Linguagem de Montagem)
1.1.1.1.1 Montador

Annotations:

  • - Traducao de uma linguagem de montagem (assembly) para codigo de maquina. - Nao pode ser executado diretamente pela maquina, por conter referencias a sub-rotinas e dados. - Relacao 1:1 linguagem de montagem com linguagem de maquina - E dependente da arquitetura da maquina. Programacao dificil
1.1.1.1.1.1 Objeto
1.1.1.1.1.1.1 LinkEditor (Ligador)

Annotations:

  • - Programa que liga objetos gerados por um compilador ou montador e gera um executável. - Recebe como entrada arquivos objetos e geram como saída o programa final em linguem de máquina. - Gera um programa executável a partir de um ou mais arquivos objetos. Resolução das chamadas das funções através da unificação dos objetos num único executável.
1.1.1.1.1.1.1.1 Executável
1.1.1.1.1.1.1.1.1 Empacotador (packer)

Annotations:

  • - Compacta um executável e gera outro. - Packer muda a assinatura do executável. - Possibilita a criação de vírus com assinaturas diferentes. - Comprimem, cifram e ofuscam o executável. - Dificultam a identificação do compilador usado por ferramentas adequadas. - Impossibilitam a análise estática, pois o packer é quem se torna o ator principal
1.1.1.1.1.1.1.1.2 Carregador (Loader)

Annotations:

  • - Para executar um programa, um loader deve ser utilizado. O carregador é, em geral, parte do SO. - Copia o arquivo em formato binário para a memória.
1.1.1.1.1.1.1.1.2.1 Binários / absolutos

Annotations:

  • Programa que usa carregadores absolutos é associado com localização específica de memória, e por isso deve sempre ser carregados na mesma área de memória. (.COM)
1.1.1.1.1.1.1.1.2.2 Relocáveis

Annotations:

  • O programa executável relocável é semelhante ao programa executável absoluto, exceto que os endereços são todos relativos a zero (não são absolutos.) (.EXE)
1.1.1.1.1.1.1.1.2.3 Memória
1.1.1.1.1.1.2
1.1.1.2 Análise

Annotations:

  • Divide o programa fonte nas partes contituintes e cria uma representação intermediária
1.1.1.2.1 Léxica (tokens: Tabela de simbolos)
1.1.1.2.2 Sintática (árvore sintática)
1.1.1.2.3 Semântica (incoerência semÂntica)
1.1.1.3 Síntese

Annotations:

  • Constrói o programa alvo desejado a partir da representação intermediária
1.1.1.3.1 Geração do código intermediário
1.1.1.3.2 Otimização do código
1.1.1.3.3 Geração do código
Show full summary Hide full summary

Similar

Memória Computacional
Wiliam Fernandes
Memória Computacional
Junior Filho
Memória Computacional
Filipe Gabriel
Música
Philosophus Rex
VÍRUS
Samara Teles
ARQUITETURAS DE COMPUTADORES
Natan Riboli
Flash cards de Linguagem verbal, não verbal e linguagem mista
Margot Marie
Traduza.
Abel César
Contextualização da aula 1 - Linguagem profissional em saúde
Amanda Ricelly
Simulado de linguagem profissional em Saúde
Amanda Ricelly
Língua e Linguagem
Rodrigo de Freit9506