构建编译器步骤

gel*_*ne1 -6 c++ compiler-construction assembly

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

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

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

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

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

Erb*_*ica 5

给自己一份AV Aho,MS Lam,R.Sethi,JD Ullman:编译器:原理,技术和工具并开始学习

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

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