构建编译器步骤

时间:2013-12-18 14:49:02

标签: c++ assembly compiler-construction

我一直在考虑建立自己的编译器一段时间,前几天我终于开始了。我的编译器的工作原理如下:

  • 从我自己的文件中解析代码。 (使用c ++编写的.exe文件)
  • 创建汇编代码
  • 创建包含这些汇编代码的文件
  • 编译该汇编文件(如果使用vbs脚本完成)
  • 链接.obj文件
  • 我们有.exe文件

现在我遇到了找到解析代码的最佳方法的困难。我还没有真正做到这一点,但我会把我的想法放在这里。

  • 查找所有变量并声明它们。变量前面会有一个变量'变量。 (目前)。未初始化的变量将被放入.data中? .data部分中的section和initialized。
  • 找到主要程序并开始执行功能和操作。

现在我只是想知道是否有人可以改进我的想法。或者,如果有人有更好的想法来制作某种编译器和你自己的编程语言。

1 个答案:

答案 0 :(得分:5)

获取A. V. Aho, M. S. Lam, R. Sethi, J. D. Ullman: Compilers: Principles, Techniques, and Tools的副本并开始学习

这本书涵盖了必要的理论背景,尤其是:

  • 无上下文语法
  • 递归下降,LL,LR解析
  • 符号处理
  • 中级代表