Ala*_*aya 4 esoteric-languages whitespace-language
我正在尝试实现Whitespace解释器以获得乐趣,目前我正在学习本教程以学习它的语法.
语法看起来很简单,但我不明白"复制堆栈顶部项目"是什么意思.那是什么意思?是否意味着获得堆栈顶部的值并将其保存到特殊寄存器中?
这意味着将值放在堆栈顶部,而不是弹出它,并推送完全相同的第二个副本.
现在有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)
它读起来像伪代码一样好.:)