项目简介
本项目是基于C++的多带图灵机模拟系统,能对多带图灵机程序进行解析,并模拟其运行过程。系统包含两个具体的图灵机程序,分别用于判断K是否为斐波那契数以及判断输入的01串是否满足ww形式。
项目的主要特性和功能
- 多带图灵机程序解析:把字符串描述的图灵机转化为可运行的数据结构,通过自定义的TM类和Transition数据结构存储图灵机的七元组和转移函数。
- 输入合法性判断:借助C++ STL中的string类判断图灵机输入字符串的合法性。
- 图灵机模拟运行:通过search_rule()函数实现转移规则的匹配,模拟图灵机运行直至达到最终状态。
- 执行信息打印:每条纸带打印Index、Tape、Head三个信息,直观展示图灵机的运行步骤。
- 具体图灵机程序实现:实现了判断K是否为斐波那契数和判断01串是否满足ww形式的图灵机程序。
安装使用步骤
编译环境
运行在Ubuntu,C++14,使用CMake构建。
编译步骤
sh
$ /clion-2019.2.2/bin/cmake/linux/bin/cmake -DCMAKE_BUILD_TYPE=Debug -G "CodeBlocks - Unix Makefiles" /home/lau/CLionProjects/Turing
运行步骤
该项目已编译完成,可直接运行:
sh
$ cd Turing/
$ ./Turing case1
$ ./Turing case2
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】