Git Product home page Git Product logo

afd_teoria's Introduction

AFD_Teoria

AFD Teoria de Linguagens

Implementação de um autômato finito determinístico(AFD) na linguagem python. Esta implementação possui uma interface Web desenvolvida com materialize css e flask.

Desenvolvido por Carlos Magno, UFSJ 2020.

Licença: MIT

O termo $, significa que os presentes comandos devem ser executados no terminal. Execute os comandos que aparecem após $.

Esta implementação é genérica suportando a modificação do arquivo com as transições em automatos/afd.txt.

O processo de instalação também esta disponível no youtube: https://youtu.be/6yIw3a9JEPc

AFD padrao carregado

O AFD padrão carregado foi gerado a partir da seguinte expressão no regular, no qual apresenta as palavras da linguagem.

C1(09+AL)*3

Um conjunto com palavras aceitas e negadas pode ser encontradas nos arquivos palavras_aceitas.txte palavras_negadas.txt

Estrutura

A principal estrutura utilizada é um dicionario, como apresentado abaixo:

{'estado': {'termo_aceito': 'proximo_estado'}}

Exemplo:

{'q0': {'C': 'q1'}}

Lendo C no estado q0 realize uma transição para o estado q1.

Cada estado do autômato somente conhece a informações necessário para realizar a transição para o próximo estado.

Como instalar

Instale o graphviz, utilizado somente para o plot do autômato.

$ sudo apt-get update

$ sudo apt-get install graphviz

Recomendamos a instalação desta aplicação em um ambiente virtual. O ambiente virtual evita conflitos de dependências.

Crie um ambiente virtual, seguindo o padrao python3 -m venv <env_name>, veja o exemplo:

$ python3 -m venv env_teoria

Agora ative o ambiente virtual:

$ source env_teoria/bin/activate

Ativando o ambiente virtual, aparecerá no terminal (env_teoria)$.

Agora, Instale as dependências no ambiente:

(env_teoria)$ pip install -r requeriments.txt

Para Executar

Considerando que você instalou as dependências, siga os passos abaixo:

Ative o ambiente virtual(somente caso já não esteja ativado)

source env_teoria/bin/activate

Agora execute:

(env_teoria)$ python main_gui.py

Ocorrendo tudo normal o seu navegador padrão será aberto.

afd_teoria's People

Contributors

cmagnobarbosa avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.