我只是希望得到一些关于如何开始我的任务的提示。 内容如下:
“实现一个与'dc'实用程序类似的程序,该实用程序以后缀表示法计算表达式,并且还支持使用变量和宏字符串的其他计算。请随意尝试使用现有实用程序并查阅其手册页。 该分配仅支持完整实用程序的一部分: - 所有数值都是整数,仅使用基数10
- 可以假设数字在32位有符号数的范围内
- 所有寄存器名称都是字母数字(直流允许的子集)
- 不需要命令行选项或参数
- 只需要以下命令(按照与手册相同的顺序列出) p n f + - * /%^ c d r s s S L x> !> < !< =!= q#
分配与现有实用程序之间的一些主要差异: - 所有输入仅通过标准输入(但不一定是键盘)
- 寄存器堆栈最初不是空的,但填充了无限的零
- 无论宏调用嵌套级别如何,q命令都将退出程序
- 输入令牌之间可能会出现额外的空格,以便易读 (空格不是命令或值或寄存器名称)“
老实说,我不知道从哪里开始...非常感谢任何帮助,谢谢你们。
答案 0 :(得分:1)
由于这是一项任务,你不知道从哪里开始有一些提示:
答案 1 :(得分:0)
@Serge已经给出了如何开始的一个很好的概述,但是你似乎有点关于dc
所做的事情,所以这里有一些指示。
dc
计划。这样做,如果你还没有这样做,你应该学到很多东西。 (如果你还没有这样做,为什么不呢?)dc
。dc
手册页。你会在第一次发现它时感到困惑,但是再次阅读它并尝试用实际程序看到你所看到的内容。这应该让您了解以下非常简单的示例,并预测它们的作用:
3 p
3 4 * p
3 4 5 + * p
3 4 + 5 * p
你的任务远远超出了你的目标,但如果你实现了这么多,那么你的任务就会超过一半。