> For the complete documentation index, see [llms.txt](https://mashplant.gitbook.io/decaf-doc/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mashplant.gitbook.io/decaf-doc/pa1a/shi-yan-nei-rong.md).

# 实验内容

虽然我们在课堂上花了很多篇幅来讲解parser和lexer的手动构造，但实际上已经有大量成熟的parser generator存在，很多时候我们并不手动实践这些原理，只需要直接利用这些工具即可。

不同于大家可能已经听说过或者使用过的lex/flex/yacc/bison等工具，本阶段的实验基于一个我写的parser generator [lalr1](https://github.com/MashPlant/lalr1)来完成。这个工具可能还远没有到达成熟的地步，有可能其中还存在影响使用的bug，希望大家积极报告。

(为避免混淆，这里先声明，lalr1指的是parser generator的名字，lalr(1)指的是文法种类)

框架中已经实现了decaf语言规范中的所有基本语法，大家的任务是在此基础上实现我们要求的新语法，新语法具体细节可以参考专门的文档。如果有什么特别需要注意的地方，之后会在这里补充。
