Giter Site home page Giter Site logo

ct200's Introduction

CT-200 - Trabalho 1 - Autômatos Finitos


Equipe

  • Ederson Monteiro de Oliveira Donde
  • Filipe Spuri Ribeiro Silva
  • Vinicius Jose Silveira de Souza

Os algoritmos foram implementador em Java 8. O arquivo jar para execução se encontra na pasta bin do zip e pode ser gerado a partir do comando Maven:

mvn clean package

Para executar a aplicação, há duas opções. A primeira é fornecendo como primeiro parâmetro a expressão regular a ser convertida em um autômato finito através do parâmetro regex, como no exemplo abaixo:

java -jar trabalho1.jar regex='(a+b)*bb(b+a)*'

A segunda opção é fornecer um arquivo de entrada contendo a descrição do autômata, onde cada linha do arquivo representa uma transição no formato:

<nodeA>, <nodeB>, <input>

Por exemplo:

0, 4, &
4, 4, a
4, 4, b
4, 2, &
2, 3, b
3, 5, b
5, 6, &
6, 6, a
6, 6, b
6, 1, & 

Exemplo da chamada de linha de comando:

java -jar trabalho1.jar < automata1.txt

Para verificar se o autômata aceita uma cadeia de entrada, basta fornecê-la como parâmetro para a linha de comando:

java -jar trabalho1.jar abbba < automata1.txt

Executado a aplicação, ela apresentará textualmente o autômato, removerá as arestas Epsilon e gerará a regex que representa o autômata. Ao final, caso seja pedido, também informará se a cadeia de entrada é aceita ou não pelo autômata fornecido.

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.