tmsim

A fast turing machine simulator with graphviz export functionality

git clone https://git.8pit.net/tmsim.git

 1tmsim
 2=====
 3
 4A fast turing machine simulator with graphviz export functionality.
 5
 6Dependencies
 7============
 8
 9In order to build tmsim run the following command:
10
11	$ make
12
13To test if tmsim works as expected you can run the test suite using:
14
15	$ make test
16
17Format
18======
19
20The following EBNF describes valid tmsim input:
21
22	turingmachine = metadata, states;
23	metadata = "start:", statename, ";",
24		"accept:", statenames, ";";
25
26	statename = "q", digit, { digit };
27	statenames = statename, { ",", statename };
28
29	states = { state };
30	state = statename, "{", [ transitions ], "}";
31
32	transitions = transition, ";", { transition, ";" };
33	transition = symbol, direction, symbol, "=>", statename;
34
35	symbol = digit | letter | "$";
36	direction = ">" | "|" | "<";
37
38Besides a comment can be added anywhere in the tmsim input file.
39Comments begin with the ASCII character '#' and end with a newline.
40
41Documentation
42=============
43
44The entire code base is documented with comments that can be
45parsed by Doxygen. A Doxyfile is not provided but if you are into that
46sort of thing you can use Doxygen to generate some source code
47documentation.
48
49License
50=======
51
52This program is free software: you can redistribute it and/or modify it
53under the terms of the GNU General Public License as published by the
54Free Software Foundation, either version 3 of the License, or (at your
55option) any later version.
56
57This program is distributed in the hope that it will be useful, but
58WITHOUT ANY WARRANTY; without even the implied warranty of
59MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
60Public License for more details.
61
62You should have received a copy of the GNU General Public License along
63with this program. If not, see <http://www.gnu.org/licenses/>.