QPCC - 用moonbit写的实验性支持c23, c2y, 部分gcc扩展的c编译器

QPCC - 用moonbit写的实验性支持大部份c23, c2y, 部分gcc扩展的c编译器

后端是qbe.mbt(一个用moonbit写的编译器后端项目)

QPCC成功编译了qbe(一个c项目)并用编译出来的二进制与clang编译qbe出的二进制做差分测试,通过了58/58个测试

实验的c2y特性有命名循环,_Countof,_Maxof,_Minof, _Defer

QPCC特色的c扩展语法有_Tagged_union等

下一步的计划是,加入_Atomic支持和加入更多测试

不足:对于K&R C及一些老旧冷门语法的支持并不太好,同时QPCC没有预处理器,这意味着您在使用前要用clang -E预处理代码。

与mbtcc区别:mbtcc只支持到c11,而且并且mbtcc在最新moonbit编译器下编译不通过