吴坝镇晋城:设计简单的LISP算术表达式计算器问题
来源:百度文库 编辑:高校问答 时间:2024/08/29 09:39:29
设计一个简单的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
以上就是实验报告的内容,这个实验是数组和广义表的相关内容。请各位高手源代码,或者指点一下怎么做,真的不知道该怎么入手。
简单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
以上就是实验报告的内容,这个实验是数组和广义表的相关内容。请各位高手源代码,或者指点一下怎么做,真的不知道该怎么入手。