编程语言分析及其应用:Lisp格式到C格式的转换及其计算

Lisp格式到C格式的转换

  • Lisp的函数调用格式为: (函数名 参数1 参数2 … 参数n)
  • C的函数调用格式为:函数名(参数1, 参数2, …, 参数n)
  • 现有五个整数的二元函数add、sub、mul、div、mod和一些使用这些函数的Lisp格式表达式,请实现一个程序转换器,将这些Lisp格式表达式转成C格式的表达式,如下表。
    Lisp格式表达式转成C格式的表达式的示例

首先考虑的是,需要将操作符(add等)和操作数(1,2…)得到。
先把表达式两端无用括号去掉,然后以空格分隔成数组,并且记录(和)的个数来判断当前是否为一个完整的操作数(可能是单独的一个数或一个完整的表达式如 ( add 1 1 ))。

def split_s(ss):
    pass
'''
add 1 1 => ["add", "1", "1"]
add ( add 1 1 ) ( sub 1 5 )  => ["add", "( add 1 1
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值