A Turing Machine programming language and simulator
# Introduction Turingol is a programming language and a development environment for simulating Turing machines. The language is an extension of [D. Knuth's language of the same name](#knuth). Knuth has used Turingol in his paper on attribute grammars to illustrate their expressive power. I have extended the language with procedures to enable writing larger programs. # Insallation The system is implemented in [Cuis-Smalltalk](https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev), therefore you need to install the Smalltalk virtual machine first. [Install the appropriate VM for your platform](https://github.com/OpenSmalltalk/opensmalltalk-vm/releases). Next, download the zip file from the [latest release](https://github.com/drdavidf/Cuis-Smalltalk-Turingol/releases), and unzip it. # Running If you are on a Windows or Mac operating system, run the VM you have downloaded earlier. When it asks you to open an image file, give it the image file in the Turingol folder you have just unzipped. If you are on a Linux system, run the VM from the command line and give it the image file as a command line argument. # Using There are two sources of documentation for this system. The first, [included in the repository](https://github.com/drdavidf/Cuis-Smalltalk-Turingol/blob/master/%D7%A1%D7%91%D7%99%D7%91%D7%AA%20%D7%A4%D7%99%D7%AA%D7%95%D7%97%20%D7%9C%D7%9E%D7%9B%D7%95%D7%A0%D7%95%D7%AA%20%D7%98%D7%99%D7%95%D7%A8%D7%99%D7%A0%D7%92.docx), is a Word document with a Hebrew version of the users guide. An English version will be added shortly. The manual explains how to write programs, how to run the simulator, and how to see the state machine's diagram. In addition, there is a user guide in the program itself. To access this guide, click on the background, select `Erudite...`, then `Read...`, and finally `Turingol manual`. This guide only explains the Turingol language. # References 1. <a id="knuth">Knuth, Donald E. (1968). "Semantics of context-free languages". Mathematical Systems Theory. 2 (2): 127–145.</a>