项目简介
本项目为哈尔滨工业大学2022年春季学期编译系统课程的实验代码,覆盖了编译器主要阶段,包括词法分析、语法分析、语义分析和中间代码生成,有助于学生深入理解编译器工作原理与实现细节。
项目的主要特性和功能
- 词法分析:借助Flex工具生成词法分析器,可将输入的源代码拆分为关键字、标识符、操作符等一系列词法单元。
- 语法分析:利用Bison工具生成语法分析器,能依据预定义语法规则解析词法单元并生成语法树。
- 语义分析:通过遍历语法树构建符号表,检查类型一致性及其他语义错误。
- 中间代码生成:把高级语言代码转换为中间代码,方便后续优化与目标代码生成。
安装使用步骤
前提条件
- 已安装Flex和Bison工具。
- 已安装C语言编译器(如GCC)。
步骤
- 下载源码:
bash cd HIT_Compiling_Systems_lab
- 编译项目:
bash make
- 运行程序:
bash ./compiler <input_file> <output_file>
<input_file>
:待解析的源代码文件。<output_file>
:生成的中间代码输出文件。- 查看输出:
打开
<output_file>
查看生成的中间代码。
示例
若有一个名为example.c
的源代码文件,运行以下命令:
bash
./compiler example.c output.ir
生成的中间代码将保存在output.ir
文件中。通过上述步骤,可成功运行并测试本项目的编译系统实验代码。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】