SAVE-INPUT/RESTORE-INPUT的实现及输入源状态存储位置探讨
关于
SAVE-INPUT的存储位置疑问 SAVE-INPUT应保存输入源规范的当前状态,但该存储在何处?
- 无法保存到固定位置:因为在调用
RESTORE-INPUT前可多次调用SAVE-INPUT。 - 无法保存到数据栈:因为执行其他单词后数据栈可能会扩容。
- 看似可以保存到当前返回地址下方的返回栈中:因为
SAVE-INPUT和RESTORE-INPUT都在同一层级(单词)中执行,但这似乎并不合理。
编辑补充
我被文档误导了;SAVE-SOURCE并非指将内容存储在某处以备后续检索的“保存”。
这些单词应命名为“GET-SOURCE/SET-SOURCE”,以更准确地反映其操作。
但由于EVALUATE可递归调用,固定内存位置存储信息毫无用处,因此SOURCE的存储位置问题仍未解决。
内容的提问来源于stack exchange,提问作者user13736218
相关产品推荐
相关产品推荐

