# compiler **Repository Path**: aalex1945/compiler ## Basic Information - **Project Name**: compiler - **Description**: BUAA1906编译课设,支持 SysY 语言(C 语言的一个子集)编译为 MIPS 汇编,支持简单的错误处理。由于时间有限,仅实现了常数传播和寄存器池等简单优化 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: optmz - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-09-23 - **Last Updated**: 2022-06-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SysY 语言编译器 本项目是北航《编译技术》的课程设计。项目实现了一个 C 语言的 SysY 子集到 MIPS 汇编的编译器,支持简单的错误处理。由于时间有限(要做《无线网络系统》课程设计,仅实现了常数传播和寄存器池优化) 本编译器由如下 部分构成: - 词法分析:读入源文件并分词 - 语法分析:通过递归下降把单词序列转为语法树,同时完成错误处理(包括未声明的变量/函数引用、重复声明、参数类型不匹配、括号不匹配、缺少分号、返回类型不匹配等) - 生成中间代码 - 中间代码优化 - 生成汇编代码 详情可见本目录下的课程报告。