Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试实现一个空白解释器来获得乐趣,目前我正在按照本教程学习它的语法。
语法看起来很简单,但我不明白“复制堆栈上的顶部项目”是什么意思。这意味着什么?这是否意味着获取堆栈顶部的值并将其保存到特殊寄存器中?
这意味着获取堆栈顶部的值,而不弹出它,然后推送完全相同的东西的第二个副本。
现在有 2 个。
实现的确切方式将取决于您可以使用哪些函数来操作您的堆栈。如果你只是push和pop,那么你可以这样做:
x = pop(); push(x); push(x);
如果你有一个top函数可以在不弹出它的情况下获取顶部元素,你可以这样做:
x = top(); push(x);
甚至:
push(top());
读起来和伪代码一样好。:)