回 帖 发 新 帖 刷新版面

主题:设计简单的LISP算术表达式计算器

设计一个简单的LISP算术表达式计算器。 
简单LISP算术表达式定义如下: 
(1)一个0..9的整数;或者(2)(运算符 表达式 表达式) 
例如:6,(+45),(+(+25)8)都是表达式,其值分别为6,9和15。 
[基本要求] 
实现LISP加法表达式的求值。 
[测试数据] 
6,(+45),(+(+25)8), 
(+2(+58)), 
(+(+(+12)(+34))(+(+56)(+78))) 
[实现提示]
写一个递归函数:
int Evaluate(FILE * CharFile)
字符文件CharFile的每行是一个如上定义的表达式。每读入CharFile的一行,求出并返回表达式的值。
可以设计以下辅助函数
status isNumber(char ReadInChar);
        //视ReadInChar 是否是数字而返回TRUE或FALSE。
int TurnToInteger(char InChar)
        //将字符‘0’....‘9’转换为整数0....9




以上就是实验报告的内容,这个实验是数组和广义表的相关内容。请各位高手源代码,或者指点一下怎么做,真的不知道该怎么入手。

回复列表 (共1个回复)

沙发


[em5][em15][em17]

我来回复

您尚未登录,请登录后再回复。点此登录或注册