【发布时间】:2010-02-28 00:02:05
【问题描述】:
我遇到了这个:Writing a compiler using Turbo Pascal
我很好奇是否有任何教程或参考资料解释了如何创建一个简单的 C 编译器。我的意思是,如果它能让我达到理解算术运算的水平就足够了。看了Ken Thompson的这篇文章,我真的很好奇了。编写能够理解自身的东西的想法似乎令人兴奋。
为什么我提出这个问题而不是问 Google?我试过谷歌,Pascal 是第一个链接。其余的似乎无关紧要并补充...在这些方面总是比谷歌更好。我想阅读一些与我上面列出的具有相同精神的文章,但至少突出了构建简单 C 编译器的引导阶段。
另外,我不知道最好的学习方法。我是否开始用 C 或其他语言构建 C 编译器?我是编写 C 编译器还是其他语言?一旦我有一些探索的方向,我觉得这样的问题会得到更好的回答。有什么建议吗?
有什么建议吗?
【问题讨论】:
-
尝试创建带有初学者标志的 C(甚至是子集)编译器有点令人惊讶。你应该先尝试一些更简单的东西。
-
编写自己的编译器会很有趣。但请考虑先获得 CS 学位。必须拥有杀死巨龙的武器。
-
@Phong:编译器领域的初学者 :) 有几年的编程经验……但我一直在做事情,却不知道它们实际上是如何“工作”的. @nobugz:它在我的清单上 :) 只是没有什么能真正阻止我自己先做。
-
规范编译器参考问题是 stackoverflow.com/questions/1669/learning-to-write-a-compiler 。顺便说一句——作为第一次介绍,我是 Crenshaw 编译器的忠实粉丝。将 pascal 翻译成 c 并不麻烦,所以请随意使用它。不过,如果您要坚持使用编译器,您很快就会想要一份更完整的参考资料。
-
是的,看起来我会先从 Crenshaw 开始,然后参考这里的野兽链接。
标签: c compiler-construction programming-languages