• Nenhum resultado encontrado

Número: Nome: Compiladores, LEIC Alameda. Teste 1 (2010/04/17, 11:00, 90 minutos)

N/A
N/A
Protected

Academic year: 2021

Share "Número: Nome: Compiladores, LEIC Alameda. Teste 1 (2010/04/17, 11:00, 90 minutos)"

Copied!
6
0
0

Texto

(1)

Compiladores, LEIC Alameda Ano Lectivo 2009/2010, 2º Semestre Teste 1, 2009/04/17, 11:00, 90 minutos

1/6

1. (3.0 val.) Considere um analisador lexical contendo a sequência ordenada de expressões regulares bc*, a*|c, a|b*, definidas no alfabeto Σ = { a, b, c }.

(a) Construa, pelo algoritmo de Thompson, o autómato finito não determinista (NFA) que implementa a sequência de expressões regulares.

(b) Construa algoritmicamente, a partir do NFA, os subconjuntos do autómato

finito determinista (DFA) equivalente. Explicite quais os estados do NFA realizados em cada estado do DFA.

(c) Minimize algoritmicamente o número de estados do DFA, indicando todas as partições intermédias e respectivos grupos. Represente o diagrama de estados resultante.

(d) Descreva o processamento da sequência de entrada aaabcacc e indique em quantos passos é processada.

Compiladores, LEIC Alameda Ano Lectivo 2009/2010, 2º Semestre Teste 1 (2010/04/17, 11:00, 90 minutos)

Número:

Nome:

Grupo 1:

Grupo 2:

Grupo 3:

Total:

(2)

1. (espaço adicional)

(3)

Compiladores, LEIC Alameda Ano Lectivo 2009/2010, 2º Semestre

Teste 1, 2009/04/17, 11:00, 90 minutos 3/6

2. (3.5 val.) Considere a seguinte gramática, onde C é o símbolo inicial e { w, x, y, z } é o conjunto de símbolos terminais.

A → y

B → B x C | C w A D | y C → C x | x B w D → w | z

(a) Transforme a gramática, por forma a construir um analisador sintáctico preditivo para a linguagem descrita.

(b) Construa os conjuntos FIRST e FOLLOW dos símbolos não terminais da gramática obtida na resposta anterior.

(c) Construa a tabela do analisador sintáctico preditivo. Apresente uma tabela com o conteúdo da pilha, a entrada e a acção

realizada em cada passo da análise, quando a sequência de entrada é: xxywwyzw. Em caso de ambiguidade na tabela do

analisador, explore todas as possibilidades.

(4)

2. (espaço adicional)

(5)

Compiladores, LEIC Alameda Ano Lectivo 2009/2010, 2º Semestre

Teste 1, 2009/04/17, 11:00, 90 minutos 5/6

3. (3.5 val.) Crie um analisador lexical (especificação para a ferramenta Flex) que aceite uma lista de faixas musicais, contendo os respectivos títulos, artistas (intérpretes, compositores, etc.), durações e anotações (comentários) e que indique qual o número de faixas com mais de 3 minutos, para cada artista presente na colecção. Algumas linhas começam com espaços brancos e correspondem a comentários do dono da colecção relativamente à faixa anterior e devem ser ignoradas.

Cada uma das linhas com informação tem os seguintes campos (separados por um ou mais caracteres de tabulação):

1º e 2º campos (cadeias de caracteres): respectivamente, nome do intérprete e nome da faixa: iniciados por um número ou por uma letra, podem conter números ou letras, _ (sublinhado), ­ (hífen), : (“dois pontos”), e espaços brancos; se um nome estiver entre aspas, pode conter qualquer carácter, excepto a mudança de linha (aspas no interior da cadeia de caracteres são representadas por \").

3º campo: duração (formato minutos:segundos – minutos: mínimo de 2 algarismos, segundos: sempre 2 algarismos).

Exemplos: 8923:35, 123:56, 20:22, 2:30, 0:27.

o resto da linha corresponde a anotações (comentários)

Codifique todas as funções auxiliares. Pode utilizar estruturas de dados C++ e da STL (e.g. std::string, std::vector, std::map, etc.). Por simplicidade, considere os caracteres acentuados iguais aos não acentuados.

Exemplo de entrada:

Lady Gaga Bad Romance 5:08 http://www.youtube.com/watch?v=qrO4YZeyl0I

Lady Gaga Telephone 9:31 Kill Bill

Current 93 All The Pretty Little Horses 02:38 Nick Cave sings

Antonín Dvo ákř

"

Symphony No. 9 in E Minor, Op. 95

"

41:00 Wikipedia: http://en.wikipedia.org/wiki/Symphony_No._9_(Dvo ák)ř

Petrucci Music Library: http://imslp.org/wiki/Symphony_No.9,_Op.95_(Dvo ák,_Antonín)ř Current 93 When the May Rain Comes 3:25

Current 93 Falling 4:22 feat. Björk

The Killers Spaceman 4:46

it's all in your mind

The Killers Human 4:10

The Killers All The Pretty Faces 4:47

The Killers

"

Mr. Brightside

"

3:46 Yet another...

David Bowie Space Oddity 3:48 The original Major Tom

Peter Schilling Major Tom 2:50 David Bowie's space oddity some years later Shiny Toy Guns Major Tom 4:11 Is time kind to Major Tom?

This is a 2009 cover of the 1983 song

(which was inspired by the original from 1969)

Saída correspondente:

Lady Gaga 2 Current 93 2 Antonín Dvo ákř 1 The Killers 4 David Bowie 1 Shiny Toy Guns 1

(6)

3. (espaço adicional)

Referências

Documentos relacionados

Inspirando-nos na problematização que Foucault (2012) realiza sobre a prisão, se, por um lado, os(as) jovens questionam a eficácia da implantação de torres de segurança com

Número Nome Equipe Descrição Faixa

das mulheres que realmente sofrem de cancro da mama irão ter um resultado positivo na mamografia (quer isto dizer que o teste indica que a mulher sofre de cancro).. 9.6% das

O Multilayer Perceptron com dez níveis escondidos e com função de activação linear é mais poderoso do que um Perceptron com um nível escondido e com função de activação linear

Súmula do STJ (“embargos de declaração com notório propósito de prequestionamento não têm caráter protelatório”) cuja finalidade foi, por via transversa, barrar o ingresso

• porto organizado - bem público construído e aparelhado para atender a necessidades de navegação, de movimentação de passageiros ou de movimentação e armazenagem de mercadorias

[r]

2.2. Desde que haja sentença de condenação transitada em julgado, proferida no âmbito de um processo coberto pela presente Condição Especial, se o terceiro responsável condenado