我是计划新手,在使用 car 和 cdr 方面遇到困难。我在 ast 中有一个 AST 字符串文字。
(define ast '(program
((assign (var i int) (call (func getint void int) ()))
(assign (var j int) (call (func getint void int) ()))
(while (neq (var i int) (var j int))
((if (gt (var i int) (var j int))
((assign (var i int) (minus (var i int) (var j int))))
((assign (var j int) (minus (var j int) (var i int)))))))
(call (func putint int void) ((var i int)))))
)
Run Code Online (Sandbox Code Playgroud)
我知道汽车返回ast的头。所以 …