Buscar

Atividade A2

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 3 páginas

Prévia do material em texto

Galera, notem que eu errei 4 questões, a 1, 2, 3 e 6. Porém eu informei as respostas incorretas, então boa sorte para encontrar as respostas corretas, após isso contribua com esse conhecimento!!!
1) O Lex/Yacc é difundido no campo da programação, pois sua utilização, já na geração de compiladores, é extensa. Trata-se de ferramentas um pouco difíceis de serem utilizadas, principalmente no caso de programadores iniciantes. 
Dessa maneira, é correto afirmar que o Lex:
Respostas erradas: É o mais tradicional gerador de analisadores léxicos e deve ser utilizado com sistemas operacionais Unix. Tem declarações do tipo Lex, e todas as importações e declarações globais sempre são realizadas em C
2) 2) Autômatos finitos é um sistema formal M = (K, Σ, d, e0, F), em que K é um conjunto finito não vazio de estados, Σ é o alfabeto de símbolos de entrada, d é a função de transição, e0 é o estado inicial (e0 Î K) e F é o conjunto de estados finais (F Í K), podendo ser representado por meio de diagramas de transição (DT) ou grafos de transição (GT), como também são conhecidos.
MARTINS, J. Linguagens formais e compiladores. 43 f. Notas de Aula (Curso de Ciências da Computação) – Universidade Regional de Blumenau, Blumenau, SC, 2002.
A partir disso, assinale a alternativa verdadeira sobre autômatos finitos.
Respostas erradas: Um estado de autômato infinito é uma situação particular no processo de reconhecimento de uma cadeia somente. Um autômato finito é um modelo natural, do qual se pode usar como entrada um analisador léxico.
3) Um compilador é um programa que tem como entrada um texto escrito em uma determinada linguagem e produz como saída outro texto, escrito em uma outra linguagem, sem perder o significado do texto original. Se o texto estiver em linguagem natural, esse processo é chamado de tradução, por isso, os compiladores também são denominados tradutores.
GRUNE, D. Projeto moderno de compiladores: implementação e aplicações. Tradução de Vanderberg D. de Souza. Rio de Janeiro: Campus, 2001.
Levando em conta o texto anterior, marque a opção correta sobre compiladores. 
Respostas erradas: Um compilador pode ser dividido em duas partes distintas: uma denominada entrada e outra, saída. Os tokens são classificados em categorias, que podem ser apenas palavras reservadas
4) Os tokens são símbolos léxicos que serão reconhecidos por padrão e podem ser divididos em dois grupos distintos. As ferramentas são orientadas ao redor de modelos particulares de linguagem mais adequados para gerar compiladores ou similares ao modelo de interpretação. Sobre o reconhecimento dos tokens, marque a alternativa verdadeira.
R: As ferramentas utilizadas na construção dos compiladores auxiliam na criação das rotinas que constituem o processo completo de um compilador.
5) Leia o trecho a seguir:
“O processamento transformando uma linguagem descrita por uma sequência de caracteres em uma sequência de elementos léxicos, chamados tokens, é denominado análise léxica.”
LANGLOIS, T. Compiladores: da teoria à prática. Rio de Janeiro: LTC, 2018. p. 17.
Quando nos referimos a um token, temos como verdade que:
R: o token também é conhecido como componente léxico.
6) Os autômatos finitos são os primeiros modelos computacionais de definição de linguagens que são definidos por mecanismo de reconhecimento.
Sobre eles, assinale a alternativa correta.
Respostas erradas: Um autômato finito determinístico possibilita construir um autômato finito não determinístico que realiza o mesmo processamento. Um autômato finito com movimento vazio é um autômato finito não determinístico que não aceita o símbolo vazio como entrada
7) Os compiladores são utilizados em diversas técnicas baseadas em outros escopos, como: conversão no formato de arquivos diferentes, leitura e/ou interpretação de arquivos HTML, dentre outros. Todos os compiladores são baseados em algoritmos e nas estruturas dos dados a serem traduzidos e/ou compilados. 
Sendo assim, em compiladores, podemos afirmar que:
R: Quando definimos um algoritmo genérico, percebemos que ele é uma descrição finita dos processos de computação.
8) A partir da definição inicial dada:
“No ramo da computação, a análise léxica, ou tokenização, é o caminho para transformar um agrupamento de caracteres em um arranjo de tokens (strings/palavras com um significado designado e, portanto, distinto). Um programa que realiza a análise léxica pode ser conhecido como lexer, tokenizer ou scanner, apesar de o scanner ser também um termo para a etapa inicial de um lexer”.
BARBOSA, C. da S. et al. Compiladores. Porto Alegre: Sagah, 2021. p. 57.
Dessa forma, podemos afirmar que, para a implementação das análises léxicas:
R: a normalidade utiliza-se de tabelas e algoritmos.
9) Leia o trecho a seguir:
“Durante a varredura, ocorre a análise léxica: sequências de caracteres são organizadas como unidades significativas denominadas marcas, que são como as palavras em uma linguagem natural como o inglês, por exemplo. Um sistema de varredura tem função similar à de um sistema para soletrar.”
LODEUN, K. C. Compiladores: princípios e práticas. São Paulo: Cengage Learning, 2004. p. 22.
A partir disso, sobre a análise léxica, podemos afirmar que ela:
R: tem como função agrupar fluxos de letras e/ou sons.
10) Yacc, ou Yet Another Compiler-Compiler, é o gerador de analisadores sintáticos também desenvolvido para o Unix (por Johnson, em 1975). Ele aceita, em sua entrada, especificações de características sintáticas da linguagem de programação que contêm as ações semânticas de forma embutida e cria uma rotina em C utilizada na análise sintática.
Dessa maneira, podemos afirmar que, no Yacc:
R: com a utilização das regras gramaticais, é possível analisar os tokens do Lex e criar a árvore de sintaxe, a qual impõe a estrutura hierárquica dos tokens.

Continue navegando