gpt4 book ai didi

webassembly - WebAssembly 是一个 "Reverse Polish Notation"计算器吗?

转载 作者:行者123 更新时间:2023-12-01 15:26:23 26 4
gpt4 key购买 nike

据我所知,堆栈机有两种,即 RPN 和 PN,那么 WebAssembly 是一个“逆波兰表示法”计算器吗?

最佳答案

堆栈机与逆波兰表示法 (RPN) 或波兰表示法 (PN) 之间没有直接联系。您必须区分语法语义

您可以在语法中说运算符应位于 (add 3 5) 之前、(3 add 5)或之后(add 3 5)它们的操作数和这些语法的语言看起来会有所不同。一个stack oriented language可以使用任何前缀/中缀/后缀形式来指定参数,我想从这个意义上来说它们可以被归类为 PN 或 RPN 语言。

语言的语义(表达式求值时发生的情况)与语言的语法是分开的。 WebAssembly 规范使用抽象堆栈机规定了这些语义:对于每条指令,它表示消耗了多少堆栈项以及添加回了多少。用于生成 WebAssembly 代码的语言可以是前缀、中缀或后缀形式。

WebAssembly 文本格式使用 S 表达式前缀表示法。但它也可以使用中缀或后缀表示法编写。我猜选择 S 表达式是因为它们很容易解析,并且比后缀/面向堆栈的语言更常被编译器/语言人员遇到。

关于webassembly - WebAssembly 是一个 "Reverse Polish Notation"计算器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48643223/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com