什么"复制堆栈顶部项目"在空白语言中意味着什么?

Ala*_*aya 4 esoteric-languages whitespace-language

我正在尝试实现Whitespace解释器以获得乐趣,目前我正在学习本教程以学习它的语法.

语法看起来很简单,但我不明白"复制堆栈顶部项目"是什么意思.那是什么意思?是否意味着获得堆栈顶部的值并将其保存到特殊寄存器中?

lus*_*oog 7

这意味着将值放在堆栈顶部,而不是弹出它,并推送完全相同的第二个副本.

现在有2个是什么.

确切的实现方式取决于您可以使用哪些函数来操作堆栈.如果您只是推送弹出,那么您可以这样做:

x = pop();
push(x);
push(x);
Run Code Online (Sandbox Code Playgroud)

如果你有一个top函数可以获得top元素而不弹出它,你可以这样做:

x = top();
push(x);
Run Code Online (Sandbox Code Playgroud)

甚至:

push(top());
Run Code Online (Sandbox Code Playgroud)

它读起来像伪代码一样好.:)