SóProvas


ID
1952281
Banca
IADES
Órgão
PC-DF
Ano
2016
Provas
Disciplina
Arquitetura de Computadores
Assuntos

Conhecer as metodologias utilizadas por um compilador para a análise e síntese de um programa de computador pode ser muito útil para entender como um software funciona por dentro. Assim, atividades como a engenharia reversa podem ser mais facilmente entendidas e realizadas. A esse respeito, no que se refere aos programas de computadores e às fases de um compilador, assinale a alternativa correta.

Alternativas
Comentários
  • Entendo que o gabarito se dê pois no momento da compilação são feitas 3 análises, mais precisamente análise sintática, léxica e semantica. Se duas foram efetuadas, logo, a  maioria dos erros foram detectadas..

  • Qual o erro da C?

  • Mas a analise semantica, não pode ser detectavel na maioria dos casos pelo compilar. O mesmo faz análise sintática, da construção de termos que condizem com a linguagem na qual foi construída. Ainda acho que a resposta correta deveria ser a letra C.

  • O Erro da letra C é o final da assertiva: Durante a análise sintática do programa fonte, o compilador procura encontrar as construções que possuam a estrutura sintática correta, sem se preocupar com o significado da operação envolvida

    Claro que há uma preocupação com o significado da operação. Por exemplo: x =+ 10; Ao compilar essa linha de código, na análise sintática ele vai perceber que o "+" está invertido com o "=". Assim que ele montar a árvore sintática vai perceber a precedência durante a "OPERAÇÃO" e vai parar o processo de compilação acusando o erro. Lembrando o seguinte: o processo de compilação é dividido nas fases de análise e síntese. A fase final é a síntese. A intermediária é a análise que se divide em: léxica (tokes), sintática e semântica. 
    Na análise sintática ocorre a identificação de sequências de símbolos que constituem estruturas como expressões e comandos, através de uma varredura, ou parsing, da representação interna do programa fonte, produzindo uma estrutura em árvore, chamada árvore de derivação.

  • Letra A.

     

    Note abaixo uma questão envolvendo a identificação de um erro de análise sintática:

    CESPE – INMETRO (2010): Pesquisador
    Considere que, em uma linguagem de programação hipotética, um comando condicional IF exija o uso de THEN, representando a clausula então. Nesse caso, se a instrução THEN não for usada no código fonte, uma resposta do compilador na identificação do erro de programação estará
    a) no nível léxico.
    b) no nível sintático.
    c) no nível semântico.
    d) no nível lógico.
    e) nos níveis sintático e semântico, ao mesmo tempo.

    *** Na semânticas são detectados, por exemplo, os conflitos entre tipos, a ausência de declarações de variáveis, funções e procedimentos.

     

    Letra B = é a fase de síntese que constrói o alvo desejado.
    Letra C = ele se preocupa com a operação sim, mas não se preocupa com as variáveis envolvidas e aqui é onde entra a análise semântica.
    Letra D = análise gramatical = análise sintática
    Letra E = A fase final é a "fase de geração do código"

     

  • A) CORRETA: "As fases de análise sintática e semântica tratam usualmente de uma ampla fatia dos erros detectáveis pelo compilador".

    Fonte: http://professor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17389/material/Texto_Parte1.pdf