Sei sulla pagina 1di 2

Universidade Federal do Pará Disciplina: Linguagens Formais

Instituto de Ciências Exatas e Naturais Cód: EN05215


Faculdade de Computação
Prof.: Filipe de Oliveira Saraiva

Trabalho – Implementação de Software para Carregar e Processar Autômato


com Pilha

Descrição

A-Pilha (Autômato com Pilha) são um tipo de autômato específico para trabalhar com
linguagens livres do contexto. Esses autômatos são conhecidos por utilizar uma estrutura
auxiliar do tipo pilha para leitura e escrita de dados

Nesse trabalho, grupos de no máximo 4 alunos implementarão um software em qualquer


linguagem de programação para carregar um A-Pilha a partir de um arquivo e em seguida
verificar se determinada palavra é aceita ou recusada pelo autômato.

O arquivo que descreverá o A-Pilha terá a seguinte forma geral descrita abaixo. Na
primeira linha serão apresentados os componentes do autômato, a exemplo do que foi
apresentado em aula, conforme abaixo:

∑︀
( , Q, 𝛿, q0, F, V)

Os componentes serão apresentados como conjuntos. Um exemplo da primeira linha do


arquivo seria:

({a, b}, {q0, q1, q2, q3}, D, q0, {q3}, {A, B})

A partir da segunda linha, estarão listadas as regras de transição segundo o esquema:

estado_origem, símbolo_lido_palavra, símbolo_lido_pilha, estado_final, símbolo_escrito_pilha

Por exemplo:

q0, a, A, q1, A
q1, a, A, q3, -
q0, b, B, q2, B
q1, b, B, q2, -
q2, ?, ?, q3, -
Cabe ressaltar que os elementos do trabalho seguirão estritamente o padrão apresentado
acima: estados com “q” seguido de números (podem ser dezenas), símbolos com letras, os
conjuntos definidos por { e }, o conjunto de regras de produção com “D”, e a separação
dos componentes via vírgula e espaço.

Os símbolos exclusivos da pilha serão letras maiúsculas, enquanto símbolos vazios serão
representados por “-”. O teste da pilha vazia será indicado pela transição que utiliza “?”
para leitura da palavra e pilha, conforme no exemplo anterior.

Após carregar o arquivo com o A-Pilha, o autômato receberá uma palavra e deverá apre-
sentar a ordem de estados processados e o estado da pilha em cada um deles, além de
indicar se a palavra foi ou não aceita.

O trabalho terá valor máximo de 1,0 ponto diretamente na média do aluno.

Prazo

O prazo de entrega será dia 4 de julho de 2019. Uma aula será agendada nesse dia no
laboratório para execução dos programas. Os arquivos fonte (apenas os fontes, não os
executáveis) e mais um arquivo README explicando como compilar e executar o software
deverão ser empacotados em formato ZIP, TAR ou RAR e enviados para o SIGAA no
tópico correspondente ao trabalho.

Avaliação

Os alunos deverão ter o software desenvolvido e funcional no prazo estipulado. O software


deverá ter seu código fonte enviado para o professor via SIGAA, bem como explicado e
compilado durante a demonstração de funcionamento do mesmo.

Serão repassadas questões que o A-Pilha deverá responder corretamente. A nota do


trabalho dependerá do funcionamento do software e da resolução das questões. O funci-
onamento do programa implica que ele resolverá corretamente as questões.

O software também deverá ter implementada a função que lê o arquivo conforme descrito
na especificação do trabalho. Softwares que permitirem apenas entradas manuais terão
as notas zeradas.

Potrebbero piacerti anche