文件名称:decaf-compiler:斯坦福大学CS143的聋人思维编译实验室
文件大小:21.43MB
文件格式:ZIP
更新时间:2024-05-30 17:54:18
C++
十进制编译器 斯坦福大学CS143的聋人思维编译实验室 PP1-词法分析 目标 对于前端的第一项任务,您将使用flex为Decaf编程语言创建扫描程序。 扫描程序会将源文件从位和字节流转换为一系列有意义的标记,这些标记包含将由编译器的后续阶段使用的信息。 战略 根据Decaf的规范,用FLEX构建扫描仪。 为了更加简单,当从源文件流中读取关键字(运算符,常量等)时,我们应该识别出该关键字并返回一个有意义的令牌,以供以后的语法分析使用。 截屏 PP2-语法分析 目标 解析器将读取Decaf源程序并构建一个解析树。 如果没有遇到语法错误,您的代码会将完整的分析树打印为纯文本。 在此阶段,您不负责验证含义,而只是负责结构。 战略 在熟悉了Decaf的语法之后,我们可以构建解析器,该解析器可以根据它的结构构建一个Decaf程序的抽象语法树,并检查语法结构的错误。 首先,我们应该使用BISON构建解