SóProvas


ID
425131
Banca
COPEVE-UFAL
Órgão
UFAL
Ano
2011
Provas
Disciplina
Arquitetura de Computadores
Assuntos

Em um compilador, o analisador léxico

Alternativas
Comentários
  • Análise léxica é o processo de analisar a entrada de linhas de caracteres (tal como o código-fonte de um programa de computador) e produzir uma seqüência de símbolos chamado "símbolos léxicos" (lexical tokens), ou somente "símbolos" (tokens), que podem ser manipulados mais facilmente por um parser (leitor de saída).
  • Fases do compilador:
    1. Análise
               1.1. Léxica (desmembra cada expressão do código em tokens ou símbolos)
               1.2. Sintática (dispõe os símbolos através de uma estrutura hierárquica - árvore)
               1.3. Semântica (verifica se há incoerências na estrutura formada)

    2. Síntese - Otimização do código.
  • O esquema abaixo traz a representação genérica com parte dos passos de um processo de compilação:

    Fontes:
    http://www.codeproject.com/Articles/26557/Building-systems-for-automatic-C-C-code-logging
    http://caml.inria.fr/pub/docs/oreilly-book/html/book-ora065.html
    http://wiki.answers.com/Q/What_is_compilation_process_in_programming
  •  a) cria uma estrutura de dados.
    Resultado do analisador gramatical: uma parse tree ou uma abstract syntax tree; de qualquer forma, uma estrutura de dados.
     b) cria o código objeto.
    Resultado de todo o projeto de compilação; esse código pode estar em linguagem de montagem.
     c) cria uma sequência de símbolos.
    É o resultado do analisador léxico, já explicado acima.
     d) cria uma gramática livre de contexto.
    É o resultado da análise sintática, o segundo passo da compilação.
     e) cria um código intermediário
    É o mesmo que código objeto.
  •       1.1. Léxica (desmembra cada expressão do código em tokens ou símbolos)
           1.2. Sintática (dispõe os símbolos através de uma estrutura hierárquica - árvore)
               1.3. Semântica (verifica se há incoerências na estrutura formada)