我想用 s 表达式编写 C 并使用编译时宏。有人知道这样做的吗?它应该将 s 表达式转换为标准 C。
问问题
2628 次
5 回答
7
有关的:
于 2010-01-14T13:10:31.937 回答
2
你是什么意思?类似于以下内容:
(c-表达式 (int main ((int argc) ((array (pointer char)) argv) (堵塞 (printf "%d 个参数\n" argc) (如果 (argc >= 1) (printf "第一个参数是 %s\n" (ref argv 1))) (返回 0)))) => "int main (int argc, char *argv[]) { printf("%d 个参数\n", argc); 如果 (argc >= 1) printf(第一个参数是 %s\n", argv[1]); 返回0; }
如果是这样,是的,这绝对是可行的。然而,这并不完全是微不足道的。
于 2010-01-14T15:00:51.340 回答
2
也许您想要ECL 之类的东西,它将 Common Lisp 编译为 C。
于 2010-01-14T23:23:07.097 回答
0
我知道这是一个旧帖子,但为了记录,我认为这是被要求的。
“lispc”项目将以 s-expressions 样式编写的 c 程序翻译成 C。它工作得很好,如果设置正确,甚至可以为您编译代码。
我不知道它目前会产生最易读的 C 代码输出。
于 2019-01-18T05:17:05.063 回答