Showing posts with label Formal Computing. Show all posts
Showing posts with label Formal Computing. Show all posts

Universal Turning Machine Simulator

The Turing machine was described by Alan Turing in 1937 as a theoretical device that manipulates symbols contained on a strip of tape. It is a very interesting theoretical tool and teaching tool, and they have been a number of simulators created in the past, but most are very ugly and are limited in functionality, so this project would set out to create a "pretty" looking Universal Turning Machine inspired by 1940s computers, Steampunk, and any other nice looking machines, e.g. I would see the input as a white paper tape of infinite length with a width of 15cm, the machine stamps (and removes) white cards (10cm X 10cm) with black symbols onto the paper tape. The stamping mechanism would look something like this video (without the need for someone to put their hand in ;-)

Formal Language Parsing

This project would be to implement a parser for the Z Specification language, using the Haskell programming language. The parser should be compliant with the official Z standard as far as possible.

http://en.wikipedia.org/wiki/Z_notation