-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
125 lines (111 loc) · 5.5 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
<!--
FEITO
-Entrada de AFD ou AFN com validacoes
-Convete de AFN para AFD
-Simula aceitacao de palvras para AFD e AFN
-Salva, deleta, lista todos, lista por ID
-Fazer minimização de automatos
-Tirar o estado D de onde não precisa (tirar estados inacessiveis)
-FrontEnd para minimizar
-Colocar validacao na entrada da cadeia (vai tratar erros do backend)
-Renomear os automatos
-Equivalencia entre automatos
-Fazer metodo para gerar todas as cadeias possiveis
-Fazer um modal para selecionar quais automatos a partir dos salvos vc quer testar equivalencia
-Fazer testes faceis de comparacao antes de realizar o teste de palavras nos dois
-Adicionar entrada de cadeia vazia nos AFN (tem que tirar ela antes de converter para AFD)
-Retirar cadeia vazia do AFN
-Pensar nas paginacoes do sistema
PARA FAZER
-Construir um AFN a partir de uma regex
MUDANCAS POS PRIMEIRA APRESENTACAO
-Aprender sobre máquinas de turing
-Adicionar máquinas de turing
-->
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>AutomaTop</title>
<link rel="stylesheet" href="style.css">
<link rel="shortcut icon" href="images/128px-Gold_coin_icon.png" type="image/png">
<script src="scriptForm.js"></script>
<script src="scriptPainel.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/viz.js/2.1.2/viz.js" integrity="sha512-vnRdmX8ZxbU+IhA2gLhZqXkX1neJISG10xy0iP0WauuClu3AIMknxyDjYHEpEhi8fTZPyOCWgqUCnEafDB/jVQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/viz.js/2.1.2/full.render.js"></script>
</head>
<body>
<header>
<h1>AutomaTop</h1>
</header>
<nav class="menu">
<a href="index.html">Inserir 5-upla</a>
<a href="regex.html">Inserir ER</a>
<a href="turing_machine.html">Máquina de Turing</a>
</nav>
<main class="container_geral">
<section class="borda_div" id="entrada_dados_automato">
<h2>Formulário de entrada</h2>
<form id="entrada_form">
<button id="btn_reset" type="button" disabled>Reset</button>
<h3>Escolha o nome do autômato</h3>
<input type="text" name="nome_automato" id="entrada_nome" placeholder="Insira o nome do autômato" >
<button id="btn_inserir_nome">Escolher</button>
<div id="container_nome"></div>
<h3>Escolha o tipo do autômato</h3>
<select name="tipo_automato" id="select_tipo" disabled>
<option value="AFD" selected>AFD</option>
<option value="AFN">AFN</option>
</select>
<h3>Digite a quantidade de estados do autômato</h3>
<input disabled type="number" name="quantidade_estados" id="quantidade_estados" placeholder="Insira a quantidade">
<button disabled id="btn_inserir_estados">Inserir</button>
<div id="container_estados"></div>
<h3>Digite o alfabeto que será utilizado</h3>
<input type="text" name="alfabeto" id="entrada_alfabeto" placeholder="Insira o alfabeto" disabled>
<button id="btn_inserir_alfabeto" type="submit" disabled>Inserir</button>
<div id="container_alfabeto"></div>
<h3>Transições</h3>
<div id="transicoes_form_container"></div>
<div id="transicoes_container" style="display: none;"></div>
<button id="btn_inserir_transicoes" type="submit" disabled>Adicionar transições</button>
<h3>Selecione o estado inicial</h3>
<div id="container_estado_inicial"></div>
<h3>Defina o(s) estado(s) de aceitação</h3>
<div id="container_estados_aceitacao"></div>
<button id="concluir_automato" type="submit" disabled>Salvar automato</button>
<div id="container_concluido"></div>
<button id="outro_automato" type="submit" disabled>Adicionar outro autômato</button>
</form>
</section>
<section class="borda_div" id="exibicao_automato">
<h2>Exibição dos autômatos</h2>
<div id="container_exibicao">
<div class="automatos-container">
<h3>Autômatos não determinísticos</h3>
<div class="automatos-list" id="afn_list"></div>
</div>
<div class="automatos-container">
<h3>Autômatos determinísticos</h3>
<div class="automatos-list" id="afd_list"></div>
</div>
<div class="automatos-container">
<h3>Autômatos minimizados</h3>
<div class="automatos-list" id="minimized_list"></div>
</div>
</div>
</section>
<div id="myModal" class="modal">
<div class="modal-content">
<h2>Selecione um Autômato</h2>
<select id="automatoSelect">
<!-- Opções serão preenchidas aqui -->
</select>
<button id="saveButton">Testar</button>
<div id="container_resultado"></div>
</div>
</div>
</main>
</body>
</html>