1040: 简单Lisp解释器

内存限制:512 MB 时间限制:5.000 S
评测方式:文本比较 命题人:
提交:319 解决:5

题目描述

实现一个lisp解释器,不需要支持字符串类型。 要求实现下面的语句: if quote define set lambda +,-,*,/,>,<,=(判断相等),>=,<= abs append apply begin car cdr cons eq?(python的is) equal? length list map max min not 并且支持变量的存取和调用

输入

第1行:n,表示接下来有n条语句,每条一行 第2~n+1行:无错误的lisp表达式expr, 共n条

输出

表达式求值结果,如果无返回值则输出None。每行表达式的结果占一行

样例输入 复制

2
(quote nothing)
(lambda (x) (+ x 1))

样例输出 复制

nothing
None

提示

列表的表示方法: (a b c d e f ...) 其中a b c d e f为列表中元素,以空格分隔