c++ - 使用 erlang 构建 C++ 编译器

标签 c++ compiler-construction erlang

您是否认为一个人(平均 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/

相关文章:

c++ - 制作库并避免链接器问题

c++ - 简单 QMainWindow 代码的菜单栏不显示,Qt Creator Mac OS

c - 原始 C 和 Fortran 类型的最终长度

Erlang:以编程方式获取应用程序版本

erlang - 为什么我的代码在 erlang 21 中出现错误,而在 erlang 20 中没有?

c++ - 在 Win32 上如何将线程移动到另一个 CPU 核心?

C++ 运算符重载

javascript - 将 Ruby Red 编译为 javascript 的生产用法

c - 为什么gcc生成 "leal -8240(%ebp), %eax; cmpl $1, %eax; ja XXX"而不是jmp指令?

erlang - 将文字文本连接到 Erlang 中的变量(字符串连接)