我正在尝试使用两个循环反转堆栈,第一个循环将数据堆栈中的项目发送到返回堆栈。另一个将它们从返回堆栈转移到数据堆栈。不幸的是,它不起作用& gforth 返回堆栈下溢错误。下面是代码:
: srev ( n n2 n3 n4 n5 -- n5 n4 n3 n2 n) 6 0 do >r loop 6 0 do r> loop ; 1 2 3 4 5 srev
forth gforth
forth ×1
gforth ×1