已经提供的语法特性
为了方便同学们完成实验,我们提供的实验框架中已经完成了部分语言特性的实现。对于某些步骤,同学们可以参照已实现的特性完成剩余的部分。例如,根据提供的 while 循环实现,同学们可以参考着完成 for 循环的实现。
下面我们列出了所有框架中已经完成的特性:
- step1 中我们提供了所有实现。
- step2 中我们提供了取负运算的实现。
- step3 中我们提供了加法和逻辑或操作运算的实现。
- step5 中我们提供了基础数据结构——符号表的实现。
- step6 中我们提供了基础数据结构——单层作用域的实现。
- step7 中我们提供了 if 语句的实现。
- step8 中我们提供了 while 循环的实现。
- 此外,我们提供了 step1-6 需要的语法树节点和中间代码指令,以及后端中的寄存器分配算法。