我正在尝试直接在嵌入式系统中学习Forth,并使用Leo Brodie的Start Forth作为文本。我正在使用的Forth版本是328eForth(ATmega328的eforth端口),我已经将其闪存到Arduino Uno中。
看来 DO LOOP 单词没有在 328eForth 中实现 - 这让我与 Brodie 的学习陷入困境。但是使用"WORDS"查看字典表明存在一系列循环单词,例如开始直到,而下一个尾部出口再次重复等。
我的问题如下:
Q1 为什么328eForth省略了DO LOOP?
Q2 DO LOOP可以用其他现有单词实现吗?如果是这样,请如何,如果不是为什么?(我想省略 DO LOOP 一定有一个很好的理由......
Q3 你能举一些328eForth循环词的注释例子吗?
问题 1:选择了不同的循环结构。
问题 2:单词 FOR
和 NEXT
执行类似的函数,该函数仅倒计时到 0 并精确运行指定的次数,包括零。( n2 n1 -- ) DO ... LOOP
总是至少运行一次,这需要额外的(心理)簿记。人们一直在抱怨从我记事起,我就知道了。
问题 3:382eforth 文档ForthArduino_1.pdf包含一些示例。
编辑:在第二季度增加了一些曝光