A *.vtm file defines the transition function of a turing machine which can be run by the vtm program. It may also set other command line options on the first line. Each transition function line should have 5 strings, separated by commas : in_state, in_symbol, out_state, out_symbol, direction where in_state = the state of the machine before the transition out_state = the state of the machine after the transition in_symbol = the symbol read from the tape out_sybmol = the symbol written to the tape, replacing in_symbol direction = L or R (left or right) movement of the tape reader position Lines which have a # sign in the left column are ignored. Lines which start with ##echo are printed, if the -Q (quiet) option isn't on. If the file is executable and the first line is #!/usr/bin/local/vtm (or whatever the path to the vtm C executable wrapper is), then any of the command options on the first line may be used to set the start state, the tape, and so on. -F Finite tape mode. -I Infinite tape mode (well, it grows anyway) (default). -S Show the state at the end of each line (default). -T Don't show the state at the end of each line. -V Shows tape, blank character, and starting state before running. -W Don't show anything before running. -Q Ignore ##echo directives. -L Enable ##echo directives. -0 Show zero lines of output per step; only show the final tape. -1 Show one line of output per step of the Turing machine (default). -2 Show two lines of output per step of the Turing machine. -tXXX... Set the value of the initial tape. -bC Set the value of the blank character. -sState Set the value of the starting tape. Look in ./machines/ for examples.