Compiladores de linguagens de programação traduzemprogramas-fonte, em uma linguagem de entrada, paraprogramas-objeto, em uma linguagem de saída. Durante oprocesso de tradução, o compilador deve verificar se assentenças do programa-fonte estão sintaticamente corretas.Esse processo de análise sintática pode ser realizadoconstruindo-se uma árvore de análise segundo duasprincipais abordagens: top-down, quando a árvore éinvestigada da raiz às folhas; ou bottom-up, das folhas àraiz. Acerca desse assunto, julgue os itens seguintes.I A análise top-down é adequada quando a linguagem deentrada é definida por uma gramática recursiva àesquerda.II Independentemente da abordagem adotada, top-downou bottom-up, o analisador sintático utiliza informaçõesresultantes da análise léxica.III Se os programas em uma linguagem podem seranalisados tanto em abordagem top-down como embottom-up, a gramática dessa linguagem é ambígua.IV A análise bottom-up utiliza ações comumenteconhecidas como deslocamentos e reduções sobre assentenças do programa-fonte.Estão certos apenas os itensA I e II.B I e III.C II e IV.D I, III e IV.E II, III e IV.
#ENADE
Soluções para a tarefa
Alternativa correta C) afirmacoes II e IV sao corretas.
Um compilador é um programa de computador (ou um grupo de programas) que, a partir de um código fonte escrito em uma linguagem compilada, cria um programa semanticamente equivalente, porém escrito em outra linguagem, código objeto.
Classicamente, um compilador traduz um programa de uma linguagem textual facilmente entendida por um ser humano para uma linguagem de máquina , específica para um processador e sistema operacional. Atualmente, porém, são comuns compiladores que geram código para uma máquina virtual que é, depois, interpretada por um interpretador.
Ele é chamado compilador por razões históricas; nos primeiros anos da programação automática, existiam programas que percorriam bibliotecas de sub-rotinas e as reunia, ou compilava, as subrotinas necessárias para executar uma determinada tarefa.