c-ast 用于生成输出ANSI C AST的GNU Guile库
C-Ast是一个用于生成C代码的GNU Guile库。示例目录中有一些示例,但简而言之,它可以让您将s表达式转换为:
(for ((= i 0) (< i limit) (+= i 1))
(call printf "i = %d " i))
进入C源代码:
for (i = 0; i < limit; i += 1) {
printf("i = %d ", i);
}
然后可以通过C编译器提供。这很有趣,因为它允许使用scheme轻松操作C程序——许多与适当的lisp风格的宏系统相同的好处可用于编写低级代码。目的是将其作为构建其他工具的构建块。
C-Ast仍处于非常早期的开发阶段——你可以编写hello world,但它缺少许多重要的特性和一些文档,而且可能没有按照guile库的方式打包。对于那些希望更深入了解的朋友,可以看看一些相关资源:
-
guile kernel Jupyter Notebook的GNU Guile Scheme内核源码:提供了如何在Jupyter Notebook中使用GNU Guile Scheme内核的详细指南。
-
guile sly GNU Guile Scheme中的功能性React式游戏编程镜子源码:探索在Guile Scheme中实现功能性React式游戏编程。
-
guile dsv GNU Guile的定界符分隔值DSV格式解析器源码:学习如何使用Guile解析DSV格式的文件。
如果你对C语言的编译器工具链感兴趣,可能还会对这个资源感兴趣:C编译器工具链生锈在制品早期开发阶段onehr crust源码。
总之,虽然C-Ast还在开发初期,但它展示了利用Scheme来简化C程序编写的巨大潜力,或许你会发现它将成为你未来项目中的一块重要拼图!
下载地址
用户评论