Como é a entrada?
O um arquivo único deve ler a entrada via console e será capaz de extrair as seguintes informações:
|1 2 // conjunto de estados do autômato
|a b c // alfabeto da linguagem
|Z C // alfabeto da pilha
|1 a Z > 1 CCZ // funções
|1 a C > 1 CCC // de
|1 b Z > 2 Z // transição
|1 b C > 2 C // do
|2 c C > 2 - // autômato
|2 - Z > 2 - // dado
|# // fim das transições
|P // modo de aceitação por esvaziamento de pilha
|- // conjunto de estados finais (CUIDADO! ESTA LINHA SÓ EXISTIRÁ SE A LINHA ANTERIOR FOR 'F'!)
|abcc // cadeia de entrada
|... // quantidade n de cadeias
|# // fim do arquivo de entrada
Cada linha seguirá o padrão: caractere + espaço + ... + caractere + quebra de linha
Com exceção das cadeias, onde os caracteres não estão separados
Lembrem-se! o símbolo '-' representa a cadeia vazia. os estados serão representados como números. Como funciona? Terminada a leitura da entrada, seu trabalho deve montar o autômato usando uma pilha e, de acordo com o modo de aceitação pedido, testar cada cadeia de entrada. Como é a saída? Seu trabalho deve gerar uma saída onde cada linha representa a aceitação/rejeição de cada cadeia, em ordem respectiva à entrada! |cadeia + *insira a cadeia aqui, sem asteriscos* + aceita por esvaziamento de pilha
|cadeia + *insira a cadeia aqui, sem asteriscos* + rejeitada por esvaziamento de pilha
|...
ou ainda:
|cadeia + *insira a cadeia aqui, sem asteriscos* + aceita por estado final
|cadeia + *insira a cadeia aqui, sem asteriscos* + rejeitada por estado final
|...
Exemplos:
> entrada.txt |0 1
|a b c
|Z C
|0 a Z > 0 CCZ
|0 a C > 0 CCC
|0 b Z > 1 Z
|0 b C > 1 C
|1 c C > 1 -
|1 - Z > 1 -
|#
|P
|abcc
|aabcc
|#
> saida.txt
|cadeia abcc aceita por esvaziamento de pilha
|cadeia aabcc rejeitada por esvaziamento de pilha
> entrada.txt
|0 1 2 3 4
|a c
|Z C
|0 a Z > 1 CCZ
|0 a Z > 2 CZ
|1 a C > 1 CCC
|1 c C > 3 -
|2 a C > 2 CC
|2 c C > 3 -
|3 c C > 3 -
|3 - Z > 4 Z
|#
|F
|4
|aac
|aacc
|aacccc
|#
> saida.txt
|cadeia aac rejeitada por estado final
|cadeia aacc aceita por estado final
|cadeia aacccc aceita por estado final