项目简介
本项目是基于Java的编译器实验系统,通过实现一个简单编译器帮助加深对编译原理的理解。项目覆盖词法分析、语法分析、语义分析、中间代码生成和目标代码生成等编译阶段,便于学生深入了解编译器各组成部分及其工作原理。
项目的主要特性和功能
- 词法分析器
- 功能:把源代码分解为词法单元(Token)。
- 实现:借助有穷自动机和状态转移图识别和分类词法单元。
- 输出:生成Token流并保存到文件。
- 语法分析器
- 功能:依据语法规则对Token流做语法分析。
- 实现:采用LR(1)分析法,动态调整符号栈和状态栈。
- 输出:生成语法分析树并保存产生式序列到文件。
- 语义分析和中间代码生成
- 功能:对语法正确的代码进行语义检查,生成中间代码。
- 实现:运用语法制导翻译技术,生成三地址码形式的中间代码。
- 输出:生成中间代码序列并保存到文件。
- 目标代码生成
- 功能:将中间代码转换为目标代码(汇编指令)。
- 实现:使用RISC - V指令集,实现寄存器分配和目标代码生成算法。
- 输出:生成汇编代码并保存到文件。
安装使用步骤
1. 环境准备
- 确保已安装Java开发环境(JDK)。
- 复制项目代码到本地。
2. 编译项目
- 使用命令行进入项目根目录。
- 执行以下命令编译项目:
bash javac -d bin src/cn/edu/hitsz/compiler/*.java
3. 运行项目
- 使用命令行进入
bin
目录。 - 执行以下命令运行项目:
bash java cn.edu.hitsz.compiler.Main
4. 查看输出
- 项目运行后,生成的Token流、语法分析树、中间代码和汇编代码将分别保存到指定文件中。
- 使用文本编辑器打开这些文件,查看编译结果。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】