Giter Site home page Giter Site logo

tmachine's Introduction

#Tmachine

A fully fonctional turing machine written in RUBY. The machine shows the state, symbol and tape at each transition.

##Implementation

The program is built with multiple classes in order to make it more modular:

  • The Tmachine class contains the code that do the transition
  • The Tape class contains all the code related to the tape
  • The Rule and Loader class contains the code for parsing the rules from the file and searching for the rules
  • The Printer class deals with the prints and can print also in file.

##Usage

To use the machine type ruby main.rb [filename.tm]. The filename.tm will contain the code that the turing machine will interpret

##Programming the Tmachine

The Tmachine is really easy to program

Create a file and put the rules, alphabet and the initial tape in it following this syntax

	TAPE=>PUT_HERE_THE_INITIAL_TAPE
	RULE=>STATE SYMBOL NEWSTATE NEW SYMBOL MOVE
		YOU CAN PUT AS MANY RULES AS YOU WISH
	ALPH=>PUT_HERE_THE_ALPHABET

You can define the START STOP and movement symbols in Global.rb

For examples see the examples folder.

tmachine's People

Stargazers

Ben avatar

Watchers

Ben avatar James Cloos 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.