Autor: Vic
O projeto Pinguim foi criado em 2021 e tem como propósito reformular os simuladores de máquinas teóricas utilizadas na disciplina de Teoria da Computação.
A disciplina estuda os limites da computabilidade. Sendo utilizadas máquinas teóricas, com capacidade de realizar o mesmo que um computador atual, porém de forma mais simplificada. Tais máquinas teóricas rementem aos primeiros modelos de computação, que mais se aproximavam da arquitetura de computadores digitais. Atualmente o projeto desenvolve a Máquina de Turing, o Cálculo Lambda e a Máquina Norma.
Portanto, os simuladores se inserem como importantes ferramentas de auxílio na disciplina para os alunos testarem e validarem seus conhecimentos na elaboração e implementação dos seus algoritmos.
O projeto tem como objetivo final entregar uma interface mais amigável, com uma melhor performance, além de trazer funcionalidades que facilitem o desenvolvimento e programação dentro desses simuladores.
O repositório possui duas páginas HTML na raiz, index.html
e execution.html
, que correspondem as duas páginas do simulador. Além disso, há duas pastas styles
e scripts
, que contém os arquivos .css
e .js
, respectivamente.
A pasta script é composta por 6 arquivos javascript
Arquivo com todas as mensagens usadas no código
Arquivo que manipula os elementos HTML do arquivo index.html
Arquivo que manipula os elementos HTML do arquivo execution.html
Arquivo com as funções que rodam a máquina de turing com uma palavra de entrada
Arquivo com funções para manipulação de arquivos externos
Arquivo com funções gerais de EventListeners
e uso de localStorage
, como mudança de tema e armazenamento de dados como cookies
- Passar a execução para WebAssembly e Rust
- Dar a opção ao usuário de recuperar os dados anteriores na página quando ele fechar e abrir a página
- Mostrar a tabela de transição criada na página
index.html
- Remover o alerta que aparece quando clico em 'Executar código'
- Melhorias gerais em desempenho e tratamento de erros