GniehTuring

News

Presentation

Welcome to the homepage of GniehTuring. This project aims to provide a platform to develop and execute algorithms as Turing machines. It actually contains different parts which are :

  • A language to write Turing machines in a simple and understandable way : TMDL.
  • A compiler that translates this language into a byte code : TMDL -> TBC
  • A virtual machine that can interpret the TBC and execute the machine
  • A specification of the TMDL, the TBC and the virtual machine.

All the implementations on this website are written in Java for portability and simplicity reasons.
Any feedback is welcome on this page

The name

The Gnieh at the beginning of the name only represents the group named Gnieh under which my programs are distributed (don't search for a website, it does not exist, the group is only virtual and present by the signature and package names).

Aims

This project has no other aim than the one to develop and share my knowledge and interest for the Turing machines, languages and compilers. This has only an educational purpose for me and every person interested in one of these subjects. After reading the Turing's article, I wanted to create a platform that can execute Turing machines as he described himself in his article. He introduced many complex concepts such as call to other machines, which are interesting to implement.
You can find with this project a simple language, a simple compiler and a simple virtual machine. The project is not very usefull for the humanity but it can be used to learn more about compilers and virtual machines (I hope). Enjoy!

Features

Among the available features of the platform, you will find :

  • Write simple Turing machines
  • Possibility to call other Turing machines
  • Possibility to override an existing machine
  • Write your machines as Turing himself wrote them (see the reference article)
  • Compile these machines
  • Execute the machines and see the result
  • Dynamic loading in memory
  • Possibility to write external machines in Java

Contribute

There are many way to contribute to the project :

  • Submit a bug or a patch by opening a ticket here
  • Submit a Turing machine by opening a ticket here with the appropriate component named new Turing machine
  • Requests new features or a new component
  • If you want to take part of the team, contact me as explained here
  • ...

I am ready to accept any contribution, feel free to contact me !

Content

Members

  • Lucas Satabin: project instigator, project leader, developer, currently does everything actually... lucassat@… (add n7mm.org if you are not logged in)
  • Patrick Augeau: first fan and contributor (patou, feel free to write what you are and what you want to be ;)) patou@… (add n7mm.org if you are not logged in)

Acknowledgments

  • Thank to the n7mm team (http://www.n7mm.org) for hosting this website.
  • A special thank to Alan Turing who gave me the idea of the project (even if he does not know it).
  • Thank to H. Devie and M. Gandriau who made me discover the formal language theory and compiler theory.
  • A special thank to A. Pajot who is always there when I need answers and/or criticisms and who supports me since the beginning.
  • Thanks to you, who are visiting this website and maybe using my work (espacially for an educational purpose). Do not forget to give me feedbacks here.

Contact

  • You can contact me directly at this address if you want to participate to the project : lucassat@… (add n7mm.org for the domain if you are not logged in)
  • an IRC channel is available at this address : irc://irc.n7mm.org/gniehturing (server irc.n7mm.org channel #gniehturing)
  • a newsgroup is available on the server news.n7mm.org

Licence

This progam is published under the GPL v3 license.