为什么 328eForth 中缺少 'DO LOOP'?

Why is 'DO LOOP' missing in 328eForth?

我正在尝试直接在嵌入式系统中学习 Forth,并使用 Starting Forth by Leo Brodie as a text. The Forth version I’m using is 328eForth (a port of eforth to the ATmega328),我已经将其闪存到 Arduino Uno 中。

似乎 DO LOOP 词没有在 328eForth 中实现——这让我在 Brodie 的学习中出现了问题。但是使用“WORDS”查看字典表明存在一系列循环词,例如BEGIN UNTIL WHILE FOR NEXT AFT EXIT AGAIN REPEAT among others.

我的问题如下:

Q1 为什么 328eForth 省略了 DO LOOP?

Q2 DO LOOP可以用其他已有的词来实现吗?如果是这样,请如何,如果不是为什么? (我想一定有一个 非常 省略 DO LOOP 的充分理由...)

Q3 能否给出328eForth循环词的一些注释示例?

问题 1:选择了不同的循环结构。

问题 2:FORNEXT 执行类似的功能,只是倒数到 0 运行指定的次数,包括零。
( n2 n1 -- ) DO ... LOOP 总是至少运行一次,这需要额外的(脑力)簿记。人们一直在抱怨 从我记事起就知道了。

问题 3:382eforth documentation ForthArduino_1.pdf 包含一些示例。


编辑:向 Q2 添加了一些公开内容