Buscar

Teste_ Atividade 2_compiladores

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 6 páginas

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 6, do total de 6 páginas

Prévia do material em texto

17/10/23, 07:22 Teste: Atividade 2
https://famonline.instructure.com/courses/31548/quizzes/158469/take 1/6
Atividade 2
Iniciado: 8 out em 20:34
Instruções do teste
Importante:
Caso você esteja realizando a atividade através do aplicativo "Canvas Student", é necessário que
você clique em "FAZER O QUESTIONÁRIO", no final da página.
0,2 ptsPergunta 1
Leia o texto a seguir:
 
As expressões regulares podem facilitar a validação de dados, a procura por
palavras em um determinado texto, o desenvolvimento de analisadores sintáticos,
etc. Aumentam a produtividade e reduzem o tempo de busca em função dos
padrões estabelecidos. Podem ser definidas como expressões simples,
compostas por conjuntos básicos e operações de concatenação e união que
inferem na construção das palavras de uma linguagem.
 
Fonte: BARBOSA, C. S. et al. Compiladores. São Paulo. Grupo A, 2021.
 
Considerando as reflexões apresentadas, assinale a opção correta.
Uma expressão regular assume a forma de uma cadeia de caracteres, que pode
conter elementos literais sem incluir caracteres especiais.
Dada uma string, uma expressão regular consegue reconhecer, encontrar ou validar
um padrão em um texto.
Uma das primeiras coisas a fazer ao projetar uma expressão regular é definir um
conjunto de comandos.
Uma expressão regular é o que colocamos como parâmetro em comandos como rm,
cp, etc. para se referir a vários arquivos no disco rígido.
Todos os programas usam as mesmas expressões regulares, utilizando a mesma
sintaxe.
A+
A
A-
17/10/23, 07:22 Teste: Atividade 2
https://famonline.instructure.com/courses/31548/quizzes/158469/take 2/6
0,2 ptsPergunta 2
Leia o texto a seguir:
 
Expressões regulares são unidades de descrição de linguagens racionais que
fazem parte das linguagens formais. Eles são um instrumento central da ciência
da computação teórica, que forma notavelmente a base para o desenvolvimento
e execução de programas de computador, bem como a construção dos
compiladores necessários para esse fim. É por isso que as expressões regulares
são usadas especialmente no desenvolvimento de software. Na maioria das
vezes, você pode argumentar que os novos operadores são uma questão de
conveniência e podem ser definidos em termos de nossos operadores mais
básicos. Por exemplo, o uso de + para significar uma ou mais repetições pode ser
descartado observando que, para qualquer expressão regular r, podemos
reescrever (r)+como r(r)*. Esta última está perfeitamente de acordo com a
definição básica. Mas se for longo ou complicado, a nova notação mais pode
reduzir a quantidade que precisamos digitar e reduzir as chances de cometermos
erros ao longo do caminho.
 
Considerando o texto, avalie as afirmações abaixo:
 
I. As expressões regulares são usadas para definir um padrão, extrair cadeias
de caracteres ou validar entradas.
II. Se p e p 2 são expressões regulares, então a concatenação p · p uma
expressão regular.
III. Para Σ = { a, b, c }, o padrão ab*|ba* deve ser entendido como ((a)(b*))|((b)
(a*)).
 
É correto o que se afirma em: 
 
1 1 2 é
I, apenas.
III, apenas.
II, apenas.
A+
A
A-
17/10/23, 07:22 Teste: Atividade 2
https://famonline.instructure.com/courses/31548/quizzes/158469/take 3/6
II e III, apenas.
I, II e III.
0,2 ptsPergunta 3
Leia o texto a seguir:
 
A modelagem de linguagens regulares, quer tenham sido especificadas por
expressões regulares quer por gramáticas regulares, pode ser efetuada por
autômatos finitos. Da mesma forma, uma linguagem reconhecida por um
autômato finito é uma linguagem regular. Existem diversos algoritmos
representados pelas setas da figura seguinte, que permitem converter
expressões regulares de/para diversos tipos de autômatos finitos, cada um com o
seu campo de aplicação.
Fonte: SANTOS, P. R.; LANGLOIS, T. Compiladores da Teoria à Prática. São
Paulo.LTC, 2018. p. 19.
 
Considerando as informações, avalie as afirmativas abaixo:
 
I. O autômato finito pode ser representado somente por tabelas.
II. Um autômato finito pode ser representado como uma árvore binária, cujas
folhas são os estados.
A+
A
A-
17/10/23, 07:22 Teste: Atividade 2
https://famonline.instructure.com/courses/31548/quizzes/158469/take 4/6
III. Autômatos finitos são constituídos por conjunto de estados transições
dirigidas e rotuladas entre eles.
 
É correto o que se afirma em:
 
II e III, apenas.
I, apenas.
I e III, apenas.
III, apenas.
I, II e III.
0,2 ptsPergunta 4
Leia o texto e observe a figura a seguir:
 
A análise sintática determina a sintaxe, ou estrutura, de um programa. A sintaxe
de uma linguagem de programação é normalmente dada pelas regras gramaticais
de uma gramática livre de contexto, de maneira similar à forma como a estrutura
léxica das marcas reconhecidas pelo sistema de varredura é dada por
expressões regulares. De fato, uma gramática livre de contexto utiliza
convenções para nomes e operações muito similares às usadas por expressões
regulares. A maior diferença é que as regras de uma gramática livre de contexto
são recursivas.
Fonte: LOUDEN, K. C. Compiladores: princípios e práticas. São Paulo: Cengage
Learning, 2004. p. 95.
A+
A
A-
17/10/23, 07:22 Teste: Atividade 2
https://famonline.instructure.com/courses/31548/quizzes/158469/take 5/6
 
Considerando as informações, avalie as afirmativas abaixo:
 
I. Toda gramática regular também é livre de contexto, uma gramática regular de
super conjuntos.
II. Análise hierárquica permite verificar quão correta é a colocação conjunta dos
componentes do programa.
III. A gramática Regular e de Livre Contexto permitem os caracteres ou tokens
agrupados hierarquicamente.
 
É correto o que se afirma em:
III, apenas.
I, apenas.
I, II e III.
II e III, apenas.
I e III, apenas.
0,2 ptsPergunta 5
Leia o texto a seguir:
 
Autômatos finitos e expressões regulares pertencem ao reino das linguagens
formais. Em quase todos os tradutores (ambos compiladores e interpretadores),
há uma fase de análise lexical. Os analisadores léxicos são baseados em
gramáticas regulares.
Uma expressão regular corresponde a um
uso na área de busca de padrões, chamada compiladores de padrões.
fato de que todo a ∈ A, A é uma expressão regular; ele descreve a linguagem {A}.
estrutural dos símbolos lexicais usando expressões regulares.
A+
A
A-
17/10/23, 07:22 Teste: Atividade 2
https://famonline.instructure.com/courses/31548/quizzes/158469/take 6/6
Salvo em 7:22 
determinado conjunto de palavras, que então formam o idioma associado.
compilador muito simples pode ser escrito a partir de um código de máquina.
Enviar testeA+
A
A-

Continue navegando