• 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

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

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

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

[r]

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