Baixe o app para aproveitar ainda mais
Prévia do material em texto
Exercício avalie sua aprendizagem Um compilador está veri�cando se uma variável foi declarada somente uma vez, se foi declarada antes do seu primeiro uso, se foi declarada e nunca foi usada e se os tipos de dados em uma expressão aritmética são compatíveis. Essas veri�cações são realizadas na fase de: (FGV/2015) O processo de compilação envolve diversas etapas, como análise léxica, análise sintática, análise semântica, otimização de código e geração do código objeto. O módulo de análise léxica de um compilador tem por objetivo: COMPILADORES KEVENY BORGES DOS SANTOS 202001410261 COMPILADORES 2023.2 (G) / EX Prezado (a) Aluno(a), Você fará agora seu EXERCÍCIO! Lembre-se que este exercício é opcional, mas não valerá ponto para sua avaliação. O mesmo será composto de questões de múltipla escolha. Após responde cada questão, você terá acesso ao gabarito comentado e/ou à explicação da mesma. Aproveite para se familiarizar com este modelo de questões que será usado na sua AV e AVS. O COMPILADOR 1. análise semântica. otimização do código análise sintática. análise léxica. geração do código. Data Resp.: 22/11/2023 20:27:12 Explicação: A resposta correta é: análise semântica. 2. construir as árvores sintáticas dos diversos comandos do programa fonte. veri�car se o programa fonte obedece às regras da gramática da linguagem. agrupar os caracteres do programa fonte em unidades denominadas tokens. javascript:voltar(); javascript:voltar(); javascript:voltar(); javascript:voltar(); Considere os seguintes passos da compilação: I. Otimização II. Análise Léxica III. Geração de Código IV. Geração de Código Intermediário V. Análise Semântica VI. Análise Sintática A ordem correta dos passos durante a compilação é: (FAEPESUL/2019 - Adaptada) A arquitetura de computadores é o campo de estudo que engloba os princípios e os componentes fundamentais dos sistemas de computadores. Por de�nição, um microprocessador, também chamado de processador, é: gerar o código objeto correspondente à tradução do programa fonte para alguma forma intermediária de representação. eliminar comandos supér�uos do programa fonte. Data Resp.: 22/11/2023 20:27:21 Explicação: O objetivo da análise léxica é garantir que o código fonte esteja dividido corretamente em tokens, descartando espaços em branco e comentários, além de identi�car e classi�car corretamente os tokens de acordo com as regras léxicas da linguagem de programação. Essa análise é importante para o processo de compilação, pois fornece a base para as etapas subsequentes, como a análise sintática e a geração de código. 3. II, V, VI, IV, I e III III, IV, V, VI, I e II III, IV, VI, V, I e II III, V, VI, IV, I e II II, VI, V, IV, I e III Data Resp.: 22/11/2023 20:27:26 Explicação: A resposta correta é: II, VI, V, IV, I e III. 4. Componente de hardware que permite um computador conectar-se na internet. Um software responsável pelos cálculos do sistema. Componente de hardware responsável pelo armazenamento temporário de informações para smartphones. Um circuito integrado que realiza as funções de cálculo e tomada de decisões. Uma peça utilizada unicamente em computadores. Data Resp.: 22/11/2023 20:27:31 Explicação: Um microprocessador, também conhecido como processador, é um componente de hardware fundamental em sistemas de computadores. Ele é um circuito integrado que contém a Unidade Central de Processamento (CPU), responsável por executar instruções e realizar operações de cálculo e lógica em um computador. O tradutor que gera um código objeto a partir de uma linguagem de baixo nível é o : (IF-PA/2023 - Adaptada) Na arquitetura de computadores, os registradores são circuitos digitais essenciais para o funcionamento do processador, pois permitem o acesso rápido a dados e operações aritméticas. Podemos a�rmar que a função do registrador é armazenar (ITEP - RN/2018 - Adaptada) Sobre o funcionamento e as características dos compiladores e interpretadores, assinale a alternativa correta. 5. Ligador Montador Compilador Carregador Interpretador Data Resp.: 22/11/2023 20:27:34 Explicação: A resposta correta é: Montador. 6. dados em longo prazo para serem utilizados, posteriormente, pelo processador. somente informações de con�guração do sistema. todos os dados do sistema operacional no hardware. permanentemente todas as instruções executadas no sistema operacional. dados, temporariamente, para serem processados pelo processador. Data Resp.: 22/11/2023 20:27:39 Explicação: Os registradores são circuitos digitais localizados no processador e desempenham um papel fundamental no seu funcionamento. Eles são usados para armazenar dados temporariamente enquanto o processador executa instruções e realiza operações aritméticas. 7. O interpretador converte o código todo para um código-objeto. Esse código objeto é uma tradução do código para uma linguagem que o computador entende. O código-objeto é a entrada para o compilador, o qual compila esse código-objeto gerando um arquivo binário. Uma vez que um compilador gera com sucesso um código-objeto, este último pode ser executado diretamente pelo computador. O código-objeto é a entrada para o interpretador, o qual executa o programa. Um compilador lê, linha por linha, o código do programa, executando a instrução especí�ca de cada linha. Data Resp.: 22/11/2023 20:27:43 Explicação: Um compilador gera um código-objeto a partir do código fonte, que pode ser executado diretamente pelo computador após ser gerado com sucesso. O código-objeto é uma versão traduzida do programa em uma linguagem de baixo nível compreendida pelo computador. O que faz a análise léxica? (IBGE/2019) Linguagens de programação são notações para se descrever computações para pessoas e para máquinas. O sistema de software que faz essa tradução é denominado compilador. Um exemplo tradicional desse tipo de sistema possui fases para traduzir a entrada, que está em uma linguagem original (programa fonte), para uma linguagem destino (programa objeto). Diante do exposto, assinale a alternativa que descreve a fase do analisador semântico. Os compiladores são responsáveis por abstrair a complexidade da programação e proporcionar uma vida mais tranquila para os desenvolvedores. Sobre a análise léxica e sintática executadas pelos compiladores, assinale a opção correta. 8. Veri�ca se as estruturas do programa irão fazer sentido 4 durante a execução; Lê caractere por caractere do texto encontrando sequências que constituem tokens; Veri�ca se a estrutura gramatical do programa está correta; É um sistema que aceita como entrada um programa escrito em uma linguagem de programação e produz como resultado um programa equivalente em outra linguagem; Tratar erros de tipo no programa fonte; Data Resp.: 22/11/2023 20:27:48 Explicação: A resposta correta é: Lê caractere por caractere do texto encontrando sequências que constituem tokens; 9. Terceira fase do compilador. Utiliza a árvore de sintaxe e a tabela de símbolos para veri�car a consistência do programa fonte com a de�nição da linguagem. Segunda fase do compilador. Responsável por criar a árvore de sintaxe a partir dos tokens produzidos pelo analisador léxico. Última fase do compilador. Responsável por gerar o executável através do código otimizado. Quarta fase do compilador. Responsável por gerar o código intermediário após a análise sintática. Primeira fase do compilador. Etapa antes da análise léxica responsável por eliminar da árvore de sintaxe os comentários. Data Resp.: 22/11/2023 20:27:53 Explicação: Durante a análise semântica, são realizadas veri�cações como a compatibilidade de tipos, o uso correto das variáveis, a declaração adequada das funções, entre outros aspectos especí�cos da linguagem de programação. O objetivo é garantir que o programa fonte esteja de acordo com as regras e de�nições da linguagem, evitando erros semânticos que poderiam levar a comportamentos inesperados ou inconsistentesdurante a execução. 10. O analisador sintático processa diretamente o programa fonte a procura de erros. Os analisadores léxico e sintático somente se comunicam via tabela de simbolos. Um analisador léxico serve como o passo �nal de um analisador sintático. Um analisador léxico gera a entrada para o analisador sintático. Técnicas para análise léxica são mais complexas do que as necessárias para a análise sintática. Data Resp.: 22/11/2023 20:27:58 Explicação: O analisador léxico realiza o primeiro passo da etapa de análise da compilação. Uma de suas responsabilidades é gerar a entrada para o analisador sintático. Não Respondida Não Gravada Gravada Exercício inciado em 22/11/2023 20:26:43.
Compartilhar