1
的为什么第四实施rot
运营商,以及为什么它正好运行堆栈的三个最上面的项目?必要性的“腐”操作
难道仅仅是为了方便或将第四不图灵完全没有这样的指令?图灵完成的最低可行选项是三个数字吗?
我可以想象一个人可以实现rot
与pick
或roll
。所以如果没有这三个操作,它是否仍然是图灵完备?
的为什么第四实施rot
运营商,以及为什么它正好运行堆栈的三个最上面的项目?必要性的“腐”操作
难道仅仅是为了方便或将第四不图灵完全没有这样的指令?图灵完成的最低可行选项是三个数字吗?
我可以想象一个人可以实现rot
与pick
或roll
。所以如果没有这三个操作,它是否仍然是图灵完备?
本主题无关图灵完备性可言。
rot
操作仅是为了方便和效率。它可以使用swap
定义:
: rot (a b c -- b c a) >R SWAP R> SWAP ;
pick
和roll
可使用返回堆栈(这些>R
和R>
操作),或任何其它栈中实现。
堆栈可使用存储器访问字来实现。
这是一个基本的基于堆栈的语言,不必四处洗牌顶级的堆栈内的值来完成这项工作是一个非常普遍的需求。所以它有很多词汇:dup,dup,drop,swap,over,nip,tuck,rot,-rot,当然,方便。 –
@HansPassant请参阅编辑,是否意味着它的方便? –
许多处理器都实现它。以语言提供它是有道理的。我在20世纪70年代使用过一种IMP操作符的语言。 – EJP