Compiladores Basico
Compiladores = O compilador realiza a tradução de um programa de um código fonte para um programa alvo. O compilador também retorna uma lista de erros, quando eles existirem.
Interpretadores = O interpretador executa o código fonte e não gera um código alvo.
2) Descreva o que faz cada etapa do processo tradicional de execução de um código.
Pré processador :
Macros;
Inclusão de arquivos;
Substituição de comandos while
Extensor de linguagem
Consulta em banco(##)
Acesso remoto (horb)
Aspectos
Compilador: Divide o programa fonte criado em uma representação intermediaria;
Constroi o programa alvo
Montador:
Transforma em código relocável
Substituindo símbolos por endereços
Substituindo operações por codigos
Carregador: Carrega o código montado trocando os endereços ;
Liga o código alvo com as bibliotecas
3) É correto afirmar que o compilador recebe como entrada um programa alvo e retorna como saída um programa fonte?
Não, é feito o processo inverso. Pimeiro ele recebe como entrado um programa fonte e retorna como saída um programa alvo.
4) Qual é o papel do analisador léxico de um compilador?
A função do analisador léxico, também denominado scanner, é ler o código fonte, caracter a caracter, buscando a separação e identificação dos elementos componentes do programa fonte, denominados símbolos léxicos ou tokens.
É também de responsabilidade desta fase a eliminação de elementos "decorativos" do programa
5) Descreva qual a importância da etapa de otimização de código em um compilador.
O processo de otimização que também é a etapa final de geração de código, consiste em melhorar o código intermediário de tal forma que o programa objeto resultante seja mais rápido em tempo de execução.
6) No contexto de compiladores, o que são tokens?
É cada símbolo existente dentro do programa;
7) É correto afirmar que a análise semântica é responsável pela geração das árvores