您是否认为一个人(平均 C++ 经验)可以使用 Erlang 构建非商业 C++ 编译器,并可能专注于优化?
我不确定这是否完全不现实?大家有什么建议吗?
erlang 是最好用的语言吗?由于它的模式匹配,我认为它会很好。我不确定并发是否有助于编写编译器??
编辑:这样做的原因是我没有在工作中编写 C++ 代码,我想了解更多关于该语言的信息,因为我对低延迟工作很感兴趣。我认为通过编写编译器来了解来龙去脉是最好的方法吗?
最佳答案
C++ 编译器需要大量工作。不,真的,很多的工作。 C++ 是最难(如果不是最难)解析的生产语言之一。哪怕只是前端。试看标准,一千多页密密麻麻的文字。
你想用它做什么? LLVM 有 Clang C/C++前端和一个非常友好且有据可查的中间表示。我建议你使用类似这样的东西(来自 Erlang,适当改编或其他)并专注于优化阶段 - 将解析留给其他人。
不过,模式匹配确实造就了一个不错的编译器。所以 Erlang/F#/Scala/Ocaml/Haskell 会在这里大放异彩。
关于c++ - 使用 erlang 构建 C++ 编译器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11411987/