Skip to content

asrail/rturing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

= rturing: um simulador de Maquinas de Turing escrito em Ruby

rturing é um simulador de Máquinas de Turing, feito originalmente com o
intuito de substituir o morto e quase incompativel
gturing[http://freshmeat.net/projects/gturing/].

== Getting started

Esta seção informa como usar o rturing.

=== Formato básico
As máquinas são arquivos de texto, no qual linhas começando com um '#'
são comentários.
Cada linha deve conter o estado atual, o símbolo lido, o símbolo escrito,
informar se ele irá para a esquerda ou direita e o estado seguinte.
São aceitos 'r' ou 'd' para direita e 'l' ou 'e' para esquerda.

=== Interface de linha de comando

Execute rturing passando dois argumentos:

* o nome (com caminho relativo ou completo) do arquivo contendo a MT;
* o conteúdo da fita.

Cada passo será exibido na tela

Exemplo:

 $ rturing machines/add.tur 01010
 01010
 ^
 01010
  ^
 01010
   ^
 01110
    ^
 01110
     ^
 0111_
    ^
 0110_
     ^
=== Interface gráfica
Execute grturing, abra a MT e edite a fita.
Escolha um tempo de intervalo para cada passo que seja conveniente.

=== Submáquinas

O rturing suporta o conceito de submáquinas de turing, usando uma
extensão da sintaxe do gturing. Em vez do <estado novo> em

  <estado> <símbolo lido> <escrito> <dir> <estado novo>

você pode colocar

  call "/caminho/completo/da/maquina.tur" <estado de retorno>

e a máquina de turing encontrada em "/caminho/completo/da/maquina.tur"
será carregada como submáquina. Quando a sua execução terminar ela irá
para o estado de retorno especificado. Por exemplo, a máquina

0 0 a d call "/home/amt/machines/recursive.tur" 0

se colocada no arquivo "/home/amt/machines/recursive.tur" chama a si
própria recursivamente para sempre. Uma submáquina pode ser recursiva,
e pode chamar quantas submáquinas quiser recursivamente.


== Copyright

rturing - a Turing Machine simulator written in Ruby
Copyright (C) 2006 Antonio S. de A. Terceiro <terceiro@dcc.ufba.br>,
Alexandre Passos <alexandre.tp@gmail.com> e Caio Tiago Oliveira
<caiotiago@gmail.com>.

gturing's input machines are Copyright (C) Arturo Espinosa
<arturo@ximian.com> and Germán Poo-Caamaño <gpoo@ubiobio.cl>. Please see 
link:files/machines/README.html .

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

About

rturing: a Ruby's Turing Machine Simulator

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages