上传者: 42176827
|
上传时间: 2021-12-15 11:06:40
|
文件大小: 14KB
|
文件类型: -
C ++模板图灵机
众所周知,C ++模板语言是图灵完备的,但是我意识到我从未真正看到有人使用它来实现图灵机。 我决定将其视为挑战,在这里您可以看到结果。
档案文件
所有真正重要的模板都在以下文件中:
state.h包含一个琐碎的模板,用于包装unsigned int来形成机器状态。 还定义了HALT 。
colour.h是另一个包装char的琐碎模板:这些char代表各种磁带单元的颜色。 EMPTY在这里定义。
direction.h定义了三种类型: go_left , go_right和stay_put 。 这些在rule s中用于告诉头部移动的方向。
llist.h是一个简单的链表实现。 链接列表用于保存磁带单元以及规则集。 该文件还定义了infinite类型,可用于假装您拥有一个无限长的相同值列表(对于磁带末端EMPTY单元的无限范围很方便)。
machine.h定