Foram encontradas 30 questões.
Disciplina: TI - Organização e Arquitetura dos Computadores
Banca: IF-MG
Orgão: IF-MG
Provas
Em relação a fase de geração de código de um compilador, considere as afirmativas abaixo:
I - O problema de gerar código objeto ótimo para determinado programa fonte é indecidível.
II - A geração de um programa em linguagem de máquina realocável, frequentemente denominado módulo objeto, permite que os subprogramas sejam compiladores separadamente. Um conjunto de módulos objeto realocáveis podem ser carregados para execução por um editor de ligação.
III - A arquitetura do conjunto de instruções da máquina alvo tem um impacto significativo sobre a dificuldade de construir um bom gerador de código que produza código de alta qualidade. As arquiteturas de máquina alvo mais comuns são: a RISC (reduced instruction set computer), a CISC (complex instruction set computer) e as baseadas em pilha.
IV - Uma arquitetura RISC (reduced instruction set computer) normalmente possui muitos registradores, instruções de três endereços, modos de endereçamentos simples e uma arquitetura do conjunto de instruções relativamente simples.
Assinale a alternativa que apresenta apenas afirmações corretas:
Provas
Uma das fases de um compilador é a geração de código. A respeito dessa fase considere as afirmativas abaixo:
I - Um gerador de código é composto por três tarefas principais, a saber: seleção de instrução, alocação e atribuição de registrador e escalonamento de instruções.
II - A seleção de instruções compreende a escolha de instruções apropriadas da arquitetura alvo para implementar os comandos da representação intermediária. Uma solução para esse problema é realizar a seleção de instruções por reescrita de árvore.
III - O escalonamento de instruções envolve a decisão a respeito da ordem em que a execução das instruções deve ser escalonada. Uma abordagem para resolver esse problema é o uso do algoritmo Sethi–Ullman.
IV - A alocação e atribuição de registrador decidem quais valores devem ser mantidos em registradores e quais registradores usar. Para resolver esse problema pode-se adotar estratégias de alocação de registradores por coloração de grafos.
Assinale a alternativa que apresenta apenas afirmações corretas:
Provas
Em relação à etapa de geração e otimização de código intermediário de um compilador, analise as alternativas a seguir, assinalando V, se verdadeiras, ou F, se falsas.
( ) Uma representação intermediária normalmente é alguma combinação de uma notação gráfica e código de três endereços.
( ) Uma representação intermediária pode ser uma linguagem de alto nível ou pode consistir em estruturas de dados internas que são compartilhadas pelas fases do compilador.
( ) Árvores de sintaxe é uma das possíveis representações intermediárias utilizadas por um compilador. As árvores de sintaxe normalmente durante as análises léxica e semântica.
( ) A fase de otimização de código independente das arquiteturas de máquina alvo faz algumas transformações no código intermediário com o objetivo de produzir um código melhor. Em geral, melhor significa mais rápido. Pode-se, também, otimizar outros objetivos, tais como: menor consumo de memória ou de energia.
( ) Uma das desvantagens da aplicação da fase de geração de código intermediário é a possibilidade de realização de otimização e a tradução do código para diversas máquinas.
A ordem correta de preenchimento dos parênteses, de cima para baixo, é:
Provas
Em relação às análises léxica e sintática, assinale a alternativa incorreta:
Provas
A estrutura de um compilador pode ser dividida em duas partes, a saber: análise e síntese. Em relação a parte de análise assinale a alternativa incorreta:
Provas
As expressões regulares são ferramentas poderosas e amplamente utilizadas para a manipulação e busca de padrões em cadeias de texto, sendo essenciais em diversas áreas da computação. Sobre expressões regulares, considere as seguintes afirmações:
I - Expressões regulares são notações utilizadas para representar a classe de linguagens mais simples que se conhece, a classe das linguagens regulares, a mais restrita dentro da Hierarquia de Chomsky.
II - Os parênteses são empregados para modificar localmente a precedência ou a associatividade predefinida dos operadores, assim como ocorre nas expressões aritméticas tradicionais da matemática.
III - A notação das expressões regulares foi desenvolvida na década de 1950 como alternativa para a representação dos conjuntos regulares.
IV - As expressões regulares são utilizadas em áreas que abrangem desde a especificação de linguagens de programação até a entrada de dados em editores de texto e programas de busca.
Assinale a alternativa que apresenta apenas afirmações corretas:
Provas
Os autômatos finitos são amplamente utilizados na computação devido à sua simplicidade e eficiência para resolver problemas que envolvem o reconhecimento de padrões e a manipulação de cadeias de caracteres. Sobre autômatos finitos, considere as seguintes afirmações:
I - A máquina de estados de um autômato finito, também denominada controle finito, é definida pelo conjunto de estados e pela função de transição.
II - Uma cadeia de entrada é aceita por um autômato quando, após esgotamento da cadeia, o estado corrente do autômato é do tipo final.
III - Estados inacessíveis são aqueles para os quais não existe no autômato qualquer caminho, formado por transições válidas, que permita atingi-los a partir do estado inicial do autômato.
IV - Uma das características dos autômatos finitos é a existência de memória auxiliar.
Assinale a alternativa que apresenta apenas afirmações corretas:
Provas
As linguagens sensíveis ao contexto desempenham um papel importante em aplicações que exigem uma análise mais detalhada e precisa de cadeias, especialmente quando há restrições que dependem do contexto de um símbolo na cadeia. Sobre as linguagens sensíveis ao contexto, considere as seguintes afirmações:
I - Gramáticas sensíveis ao contexto eliminam a restrição de que o lado esquerdo das regras seja formado por um único símbolo, e de que este seja um símbolo não terminal.
II - As gramáticas sensíveis ao contexto são ditas monotônicas, pois o comprimento das formas sentenciais obtidas durante o processo de derivação de uma sentença nunca sofre redução.
III - O conjunto das gramáticas sensíveis ao contexto sobre um alfabeto qualquer não é enumerável.
IV - Toda linguagem livre de contexto é também uma linguagem sensível ao contexto.
Assinale a alternativa que apresenta apenas afirmações corretas:
Provas
As linguagens livres de contexto são essenciais nas áreas de Linguagens de Programação e Compiladores, onde desempenham um papel central na definição da sintaxe de linguagens de alto nível. A sua importância reside, principalmente, na capacidade de capturar a estrutura recursiva de linguagens complexas. Sobre as linguagens livres de contexto, considere as seguintes afirmações:
I - A característica que torna as gramáticas livres de contexto especialmente adequadas à formalização sintática das linguagens de programação é a sua capacidade de representação de construções aninhadas, que são frequentemente encontradas em linguagens dessa categoria.
II - Uma linguagem L é dita estritamente livre de contexto se ela for livre de contexto e for regular.
III - Dado o elevado interesse pelas gramáticas livres de contexto, inúmeras notações, denominadas metalinguagens, foram desenvolvidas para facilitar a formalização sintática das linguagens artificiais.
IV - A representação da estrutura de sentenças ou formas sentenciais de linguagens livres de contexto, na forma de árvores bidimensionais, é um recurso muito utilizado, tanto na teoria quanto na prática da implementação de linguagens.
Assinale a alternativa que apresenta apenas afirmações corretas:
Provas
Caderno Container