首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何退出Forth环境?

如何退出Forth环境?
EN

Stack Overflow用户
提问于 2020-11-27 03:21:52
回答 1查看 159关注 0票数 0

如果我在Forth环境中,我如何离开,以及我如何编程让一个单词离开?

EN

回答 1

Stack Overflow用户

发布于 2020-11-27 03:21:52

有两种方法可以“离开”Forth代码,这取决于你需要做什么。

BYE

Forth标准定义了单词BYE离开Forth环境本身。

BYE ( -- )

将控制权返回给主机操作系统(如果有)。

当你的Forth不是作为一个程序在操作系统中运行时,这个词得到了很多创造性的解释。例如,在某些使用Forth作为操作系统的系统上,BYE会导致系统重新启动,从而允许您加载另一个操作系统。

BYE是编程工具扩展词集的一部分。

QUIT

在核心词集中有一个名为QUIT的词,但它不会离开环境。相反,它离开了一个单词的执行,并将您返回到解释器。这就是为什么它被称为“退出”,它是另一种意义上的退出。

QUIT ( -- )( R: i*x -- )

清空返回堆栈,如果存在,则将零存储在SOURCE-ID中,使用户输入设备成为输入源,并进入解释状态。不显示消息。重复以下步骤:

  • 接受从输入源到输入缓冲区的一行,将>IN设置为0,如果处于解释状态,所有处理都已完成,并且不存在歧义条件,则对实现定义的系统提示符执行解释。

在Forth标准中,QUIT实际上被定义为解释器本身,而不是像“这个词将你返回给解释器”那样定义QUIT。在分解的Forth实现中,这是有意义的:将您放回解释器的单词和解释器本身可以是同一个单词,它们都可以清除返回堆栈并开始解释。

QUIT是您更可能在冒号定义中看到的单词,因为它是一种打破字执行堆栈的便捷方法,可以保持数据堆栈的当前内容不变,然后返回到解释器。当然,您可以在冒号定义中使用BYE,例如在自定义解释器或用Forth编写的环境中,以退出回操作系统。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65028131

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档