littlebot
Published on 2025-04-12 / 4 Visits
0

【源码】基于Java的编译器实验项目

项目简介

本项目是基于Java的编译器实验系统,通过实现一个简单编译器帮助加深对编译原理的理解。项目覆盖词法分析、语法分析、语义分析、中间代码生成和目标代码生成等编译阶段,便于学生深入了解编译器各组成部分及其工作原理。

项目的主要特性和功能

  1. 词法分析器
    • 功能:把源代码分解为词法单元(Token)。
    • 实现:借助有穷自动机和状态转移图识别和分类词法单元。
    • 输出:生成Token流并保存到文件。
  2. 语法分析器
    • 功能:依据语法规则对Token流做语法分析。
    • 实现:采用LR(1)分析法,动态调整符号栈和状态栈。
    • 输出:生成语法分析树并保存产生式序列到文件。
  3. 语义分析和中间代码生成
    • 功能:对语法正确的代码进行语义检查,生成中间代码。
    • 实现:运用语法制导翻译技术,生成三地址码形式的中间代码。
    • 输出:生成中间代码序列并保存到文件。
  4. 目标代码生成
    • 功能:将中间代码转换为目标代码(汇编指令)。
    • 实现:使用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】