Git Product home page Git Product logo

morphett-viewer's Introduction

Morphett viewer project

Objetivo: Mostrar o funcionamento do código escrito no simulador Morphett na forma de um diagrama de estados.

Como usar?

Caso queria abrir o projeto original, apenas de git clone no repositorio e abra o arquivo index.html no seu navegador que todas as dependecias já serão carregadas via cdn.

caso queria usar a versao online, pode usar o link online.

Ao clickar em Draw Example voce irá ter o exemplo inicial igual do morphett, pode inserir qualquer palavra pra verificar no campo de texto(input) logo abaixo da codificação da MT.

  • Botão RESET limpa o campo da codificação da MT
  • Botão DRAW GRAPH desenha o diagrama de estados
  • Botão SIMULATE roda a palavra na MT e vai desenhando conforme passa pelas transições.

No ultimo campo (desabilitado) temos a simulação da nossa fita de trabalho.

morphet.webm

Restrições

  • Estado inicial precisa ser "0"
  • Não aceita voltar passos ou avançar, velocidade unica (250ms entre as transições)
  • Só funciona para o modelo fita duplamente infinita.
  • MT para se tiver em um estado que inicial com "halt", como "halt-reject" ou "halt-accept"

TODO:

  • Testes com varios inputs
    • Apenas alguns inputs de MT e palavra foram testas. Alguns exemplos estão no arquivo exemplo.txt e outros podem ser encontrados aqui
  • Implementação de um modelo de mt que rode o código do morphett
  • Modificar as cores do diagram pra melhorar visualizar.
  • Altamente urgente modificar o codigo da estrutura para virar uma classe. Organização ficara melhor.
  • Colocar opção para aumentar ou diminuir a velocidade da animação. pode ser feito com um slider ou input do tipo number e colocando na variavel timer no arquivo parser.js dentro do setInterval
  • Translate this README.md to english

Quer contribuir? 😄

morphett-viewer's People

Contributors

victor99z avatar

Stargazers

 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.