
    Tm  -  Turing Machine.

    This program is an implementation of the "Turing Machine", an
    imaginary device invented in 1936 by the english mathematician     
    Alan Mathison Turing.
    --------------------------------------

    to compile, type "make".

    
    Running "tm" without parameters the program will search for machine
    description in the file "ruleset" and the tape representation in the
    file "tape".

    The file containing the description of the machine's behaviour is
    made by a set of rules, each one made by five elements divided by
    a space:
    1) one number, indicating the actual internal state at the t instant,
    2) one symbol, expressed in the field a-z, A-Z, 0-9, !, indicating 
       the symbol in the reading square at the t instant,
    3) the new symbol to be written on the square, on the previous one,
    4) the tape movement, L = left, R = right, N = no movement,
    5) the new internal state that the machine will have at the t+1
       instant.

    The empty square is indicated by '!' character.

    A different file of rules can be indicated with the option
     -r filename

    
    The file containing the tape representation is composed by one line
    that can contain the symbol a-z, A-Z, 0-9, and the 'space' for 
    empty square.

    A different tape file can be indicated with the option -t filename.

    -v option shows all tape intermediate states,
    -V option shows all tape intermediates states plus rules each time
       applied.

    The initial internal state of the machine is 1.
    The initial reading position of the tape is on the first character
    of the sole line of the file.

    Obviously, this is not a TRUE Turing Machine ! The lenght of the tape
    is not endless but limitated by the computer memory.
    

    ----------------------
    Note: This code is free and is in the public domain. You may copy,
    use, and change it as much as you like. However, the writer take no
    responsibility for the results of using this program.
    ---------------------

    for comments, criticism and corrections, email to:
    Alvaro De Amicis 
    <a.deamicis@ermes.it>
