如何在Gforth中编写while()循环

时间:2015-03-04 22:22:47

标签: forth gforth

我想在Gforth中写一个while()循环。不幸的是,由于缺少示例,the only tutorial online并不实用,计算循环的示例(我不想要的)看起来根本不同。

如何代表这样的事情有哪些具体的例子?

while (x > 3) { print(x); x--; }

或者实际上,只是表达形式的任何具体方式:

while (predicate) { expression(s) }

1 个答案:

答案 0 :(得分:7)

您的第一段代码转换为:

\ Assuming x is on the top of the stack.
begin dup 3 > while dup . 1- repeat

\ Or if x is in memory.
begin x @ 3 > while x ? -1 x +! repeat

第二个:

begin predicate while expressions repeat