有没有办法在C#中编写LLVM前端编译器?
答案 0 :(得分:9)
我不明白为什么不。有一个language reference for LLVM,只要您符合该语言,就没有理由不能在C#中编写一些可以解析该语言的东西:
这并不是说它 easy ,但可以完成。
答案 1 :(得分:3)
有两种方法。您可以P / Invoke LLVM的C绑定(足以实现编译器后端),或者您可以使用C ++ / CLI编写自己的包装器。
我使用Clang生成的XML AST转换为LLVM的C绑定头自动生成.NET绑定。但是不可能再这样做,因为已经从Clang中删除了XML AST打印机,没有可用的替代品。
答案 2 :(得分:1)
如果您希望使用LLVM编译器FOR C#,Mono 2.6 can use LLVM