Logo Passei Direto
Buscar
Leia o texto a seguir:

Compilação é a tradução (transformação) de um texto de programa escrito em um idioma (origem) em um texto equivalente (preservando a semântica) em outro idioma (destino). Um compilador é um programa que lê o texto do programa na linguagem fonte e o compila. Uma abordagem alternativa é a interpretação, ou seja, execução direta de operações especificadas no código-fonte do programa. Um interpretador é um programa que lê o código-fonte e o interpreta. Além disso, o compilador pode analisar estaticamente o código-fonte do programa, relatar erros e emitir avisos sobre possíveis problemas.

Considerando as reflexões apresentadas, assinale a opção correta.
Na fase de análise da compilação, o texto fonte do programa é lido, então ele é incluído em um único bloco elementar e feita a sua análise estática.
A linguagem de destino também pode ser outra linguagem de programação ou uma linguagem de máquina para alguma máquina virtual.
Na fase de síntese da compilação, com base na representação final e outras informações são feitos mapean no código-alvo.
A linguagem de destino pode ser uma linguagem de máquina, saída do compilador não pode ser executada diretamente pelo interpretador.
Para cada lexema, o analisador gera um token, que é uma combinação de um símbolo semantico (o nome do tipo de token) e um outro conjunto de lexemas.
User badge image
Questões Para o Saber

ano passado

Respostas

User badge image

Ed Verified user icon

ano passado

A opção correta é: A linguagem de destino pode ser uma linguagem de máquina, saída do compilador não pode ser executada diretamente pelo interpretador. Essa afirmação é verdadeira, pois a saída de um compilador geralmente é um código de máquina que precisa ser executado por um processador, enquanto um interpretador executa o código-fonte diretamente, linha por linha. As outras opções contêm imprecisões ou não refletem corretamente o processo de compilação.

Essa resposta te ajudou?

0
Dislike0

Ainda não achou a resposta?

  • Integrado com os principais modelos de IA do mercado
  • Respostas em segundos
  • IA treinada para estudantes brasileiros.
PasseIA logoEvolua sua forma de estudar

Cadastre-se ou realize login

Ainda com dúvidas?

Envie uma pergunta e tenha sua dúvida de estudo respondida!

Essa pergunta também está no material:

Mais perguntas desse material

Leia os textos a seguir:

## Texto I

As gramáticas conhecidas como LL são as gramáticas que podem ser analisadas por parser tipo LL. O primeiro L determina que são analisadas da esquerda para a direita, e o segundo L determina que cria a árvore de derivação mais à esquerda. Gramáticas genéricas livres de contexto são processáveis por meio de algoritmos genéricos, por exemplo, o algoritmo de Earley. No entanto, esses algoritmos apresentam, no pior dos casos, um processamento cuja complexidade é O(n³), em que n é o número de símbolos da sequência de entrada. Contudo, existem subconjuntos de gramáticas que podem ser processadas de modo mais eficiente. Essas formas mais simples são ainda suficientemente genéricas em relação a quase todas as linguagens concebidas para o processamento informático. O analisador LR(0) é basicamente um analisador. O objetivo do analisador é processar o fluxo de entrada de tokens (os elementos básicos da linguagem que o analisador léxico produz com base no fluxo de entrada de caracteres).

Fonte: MONGENSEN, T. Basics of compiler design. Copenhagen: University of Copenhagen, 2010. Torben Mogensen DIKU. Disponível em: http://hjemmesider.diku.dk/ torbenm/Basics/ (ㅁ) (http://hjemmesider.diku.dk/ torbenm/Basics/).. Acesso em: 17 abr. 2023.

## Texto II

Imagine a seguinte situação em que A → α for uma escolha de produção, e se β e γ forem duas cadeias quaisquer de símbolos (incluindo a cadeia vazia ε) tais que βγ=α.

Considerando as reflexões apresentadas, assinale a opção correta.
A → β. γ será um item LR(0).
A → βγ será um item LR(0).
A → βy. a será um item LR(0).
A → β. a será um item LR(0).
→ A. y será um item LR(0).

Mais conteúdos dessa disciplina