use*_*650 11 compiler-construction llvm
我有一些语言,我一直在建立作为口译员.当我准备好采取"下一步"时,哪些选项最适合非本地编译格式...每种格式的优缺点是什么?
我一直在寻找编译CLR或LLVM,并考虑C-midcompile几次,但我不完全确定.
我希望能够移植的一些功能如下:
好吧,不是真的"少数",只有两个.我想我可以将我的语言支持的任何其他功能移植到"任何东西".
什么是我最好的选择,以及他们的优点/缺点?
Nor*_*sey 25
代码生成是我的事:-)
评论几个选项:
CLR:
LLVM:
C作为目标语言
总结:除C之外的任何事情都是合理的选择.为了实现灵活性,质量和预期寿命的最佳组合,我可能会推荐LLVM.
完全披露:我隶属于C--项目.
bla*_*999 16
PRO /缺点:
CLR:
LLVM:
C作为目标语言:
Java ByteCode作为目标:
综上所述,我认为针对Java ByteCode可能最适合您.
编辑:实际上是一个评论的答案,但300chars是不够的.
JByteCode iffy - 我同意(作为Smalltalker,JBytecode对我来说太有限了).
从虚拟机的角度来看,我认为作为JVM可以获得相对广泛的性能,从纯慢字节码解释器到高端复杂的JITting VM(IBM).我想,CLR VM将迎头赶上,因为MS迟早会窃取并整合所有创新,并且发布加速动态翻译的技术(例如,阅读自我论文).LLVM的进展可能会慢一点,但谁知道呢.使用C,您将从免费的更好的编译器中受益,但是像C作为目标很难实现动态重新翻译等.我自己的系统使用预编译和动态编译的代码(在一个内存空间中具有所有:慢字节码解释器,JITter和预编译的静态C代码)的混合.