Monitoria de Informática Teórica
Projeto 1

O projeto consiste em simular o problema de aceitação em gramáticas lívres-do-contexto.

Cada conjunto possui uma descrição de uma GLC G e algumas cadeias para testar sua pertinência em L(G):

A entrada é composta de um ou mais conjuntos, um conjunto tem o seguinte formato:
na primeira linha há as variáveis da GLC G, separados por vírgula. Uma variável é representada por um caracter alfabético maiúsculo;
na segunda linha há os terminais de G separados por vírgula. Um terminal é representado por um caracter qualquer com exceção dos que podem representar variáveis;
na terceira linha há as regras de G separadas por vírgula, cada regra está no formato A->x{|y}, onde as chaves indicam 0 ou mais repetições, semelhante as chaves utilizadas na EBNF, não haverá regra com caracter não declarados nas variáveis ou terminais;
na quarta linha há a varável inicial de G;
na quinta linha do conjunto um número 'n' maior que 0 define a quantidade de cadeias para teste de aceitação;
nas n linhas seguintes, as cadeias;
uma linha em branco define o fim do conjunto.

Cada conjunto gera a seguinte saída:
na primeira linha imprima conjunto#m onde m indica que este é o m-ésimo conjunto onde m ≥ 1;
a partir da segunda linha imprima para as n cadeias, aceita se a cadeia é aceita pela GLC caso contrário imprima rejeita.
uma linha em branco define o fim do conjunto.

Obs.: o caracter 'e' representa a string vazia.

Entrada: entrada.txt
A
0,1,e
A->0A0|1A1|0|1|e
A
5
0110
1010
e
111000
010110

A,B
0
A->00,B->0|A
B
3
0
0000
00

Saída: saida.txt
conjunto#1
aceita
rejeita
aceita
rejeita
rejeita

conjunto#2
aceita
rejeita
aceita

Envie seu projeto para mteorica@cin.ufpe.br com o assunto P1.2012.2 através da sua conta em cin.ufpe.br com um único arquivo nomeado P1.java ou P1.cpp o qual é código fonte do projeto.
A data limite de entrega é dia 03/03/2013.
Nos projetos em Java o método main deve estar na classe P1.

Seu e-mail será invalidado se enviá-lo:

Seu projeto será zerado se:

Obs.: (LEIA COM ATENÇÃO ANTES DE ENVIAR SEU PROJETO)