使用 Scheme 计算后缀表达式的程序
program using Scheme that evaluates a postfix expression
我想使用方案转换后缀表达式
表达式将作为操作数和运算符的列表提供给解释器,例如 display( postfix(30 8 7 + / 3 4 - *) )
这个例子应该 return -2 作为答案。
这是伪代码:
- 将堆栈初始化为空列表
- 对于表达式中的每个元素 e:
- 如果 e 是一个数字,将其压入堆栈
- 否则调用operator对应的函数(可以用关联表或者
cond
找这个),把stack作为参数传入
- 该函数从堆栈中弹出所需的参数
- 计算结果
- 它将结果压入堆栈
- 它returns更新的堆栈,主循环将其分配回堆栈变量
- 最后,打印栈顶元素
我想使用方案转换后缀表达式 表达式将作为操作数和运算符的列表提供给解释器,例如 display( postfix(30 8 7 + / 3 4 - *) ) 这个例子应该 return -2 作为答案。
这是伪代码:
- 将堆栈初始化为空列表
- 对于表达式中的每个元素 e:
- 如果 e 是一个数字,将其压入堆栈
- 否则调用operator对应的函数(可以用关联表或者
cond
找这个),把stack作为参数传入
- 该函数从堆栈中弹出所需的参数
- 计算结果
- 它将结果压入堆栈
- 它returns更新的堆栈,主循环将其分配回堆栈变量
- 最后,打印栈顶元素