在C中从头开始编写编译器

时间:2011-08-15 21:14:37

标签: c compiler-construction forth

  

可能重复:
  How to code a compiler in C?

我如何从头开始编写编译器(无FlexBisonLexYacc)?我有一种语言,我为他写了一个翻译,它有点像Forth。有点。它接受符号并使用堆栈一次解释一个符号。

我如何制作编译器?

这不是特别垃圾;只是为了向人们展示语法和简洁性。

http://github.com/tekknolagi/StackBased

1 个答案:

答案 0 :(得分:5)

简单!

  1. 您对输入进行了标记。
  2. 您构建了一个正确的表示形式,通常这是一个抽象语法树,但这不是必需的。
  3. 您可以执行您可能需要的任何树转换(可选)。
  4. 您可以通过走树来生成代码。
  5. 您将任何不同的部分链接在一起(可选)
  6. Flex和Bison帮助第1阶段和第2阶段,其他一切都取决于你。如果你仍然卡住了,我建议你阅读“编程语言语用学”或“龙书”。