Introduction to Compilers and Language Design

这本书又更新了. 是个重新学习编译技术的好时机.

我设计ChocoPy的时候觉得自己挺无力的,

  1. Semantic和LLVM部分对Symbol的定义重复。
  2. 对于Semantic的设计参考Java版chocopy过多,应该多搞点enum而不是虚空基类。(但是为了给小朋友做还是需要区分一下难度,如果自己写应该搞C++优化的类内存排布的。3倒比较偏正常的C++程序一点。
  3. 我觉得我没有很好的讲清楚LLVM和后端mapping的关系,不止寄存器分配,如果类能设计的更好一点就不会仅仅+字符串了,总之就是后端抽象的还不够。