Ficha Nº4
Exercício Nº1
2009.03.30

Listas


Pretende-se criar um processador que reconheça as listas usadas, por exemplo, na liguagem de programação funcional Haskell.

A seguir apresentam-se algumas frases exemplo.
[]
[1]
[1,2,3,4,5]
[1..10]
[1,[1,2],[1,3],[1..4]]

(a)Especifique uma GIC para a linguagem apresentada;

(b)Verifique que se a mesma obedece à condição LL(1);

(c)Se for necessário faça as transformações necessárias de modo a torná-la LL(1);

(d)Crie um analisador léxico em flex para os terminais da linguagem e ponha-o a enviar os tokens para um programa em C que os escreve no monitor.