〔重庆理工大学〕编译原理实验报告【语义分析和中间代码生成实验】 《编译原理》实验报告(第三次)学号: 1230904XXXX姓名: 段 X X时间: 2026/5/22CQUT编译原理实验报告【语义分析和中间代码生成实验】《编译原理》实验报告(第三次)1 实验目的2 实验内容2.1 语义分析实验2.2 中间代码生成实验3 实验方案3.1 方案描述3.1.1 语义分析模块1.核心数据结构2.语义分析总流程3.AST 解析与重构4.符号表与作用域管理5.语义错误检测规则6.核心函数说明3.1.2 中间代码生成模块1.核心数据结构2.中间代码生成总流程3.词法分析器(Lexer)4.递归下降语法分析与语法制导翻译5.回填与跳转管理6.临时变量管理3.2 方案分析3.2.1 语义分析方案优劣1.优势2.劣势与局限性3.2.2 中间代码生成方案优劣1.优势2.劣势与局限性3.2.3 方案对比与选择依据4 实验测试4.1 语义分析实验测试4.2 中间代码生成实验测试5 实验结论5.1 整体实验总结5.2 核心问题与解决方案复盘5.3 实验收获与心得5.4 实验不足与优化改进方向6 实验源代码1.实验一语义分析(python语言)2.实验二中间代码生成(python语言)7 实验报告(电子版Word文档)1.编译原理实验报告【语义分析和中间代码生成实验】2.解压包密码8 实验源代码(python语言)1.编译原理实验源代码【语义分析和中间代码生成实验】2.解压包密码教师评分评分点1:实验方案描述A:实验方案描述清楚、详细B:实验方案描述比较清楚、详细 C:实验方案描述基本清楚、详细D:实验方案描述不太清楚、详细E:实验方案描述不清楚、不详细评分点2:实验方案对比分析A:能从多个维度对不同的实验方案进行对比,并有深刻的分析B:对不同的实验方案进行对比的维度较多,并有比较深刻的分析C:对不同的实验方案进行对比的维度较少,并有一定的分析D:对不同的实验方案进行对比的维度较少或分析较粗浅E:只有一种实验方案,或没有实验方案的对比分析1 实验目的1.掌握抽象语法树(AST)解析方法,能够将文本格式的 AST 重构为内存树形结构,为后续语义检查提供数据基础。2.理解符号表的核心作用,设计并实现支持嵌套作用域的符号表管理机制,完成常量表、变量表、函数表的构建与持久化输出。3.掌握 Sample 语言10 类核心语义错误的检测规则与定位方法,实现错误局部化记录、去重与标准化输出。4.理解语法制导翻译与中间代码生成原理,掌握四元式的数据结构设计、临时变量管理与真假链回填算法。5.实现赋值表达式、布尔表达式、控制语句(if/while/for/do-while)、函数调用与返回的四元式翻译,完成编译器前端到中端的流程衔接。6.严格遵循实验输入输出规范,实现多文