littlebot
Published on 2025-03-28 / 3 Visits
0

【源码】基于C++11的简单编译器前端

项目简介

本项目是基于C++11开发的简单编译器前端,可对简单赋值语句进行解析与分析。项目涵盖词法分析、语法分析和语义分析模块,能处理基本C语言子集并生成中间代码。

项目的主要特性和功能

  1. 词法分析:识别关键字、操作符、变量和数字等单词,利用lexical_parser类逐行分析文本,通过种别码表标识单词类型。
  2. 语法分析:运用递归下降法,支持简单赋值、条件和循环语句,有文法定义语法规则,具备错误恢复机制处理语法错误。
  3. 语义分析:为语法正确的赋值语句生成四元式和三地址中间代码,处理条件判断语句生成跳转中间代码。
  4. 测试数据:提供多个合法与非法输入的测试样例,用于验证编译器的正确性和鲁棒性。

安装使用步骤

  1. 环境准备:确保系统安装Apple clang version 11.0.0或更高版本,且编译环境支持C++11标准。
  2. 编译项目:在项目根目录下执行make命令进行编译。
  3. 运行程序:编译成功后,使用bin/main testfile/file命令运行程序,程序会输出词法、语法分析结果及中间代码。
  4. 查看输出:查看识别的单词、错误信息和中间代码,语法分析成功输出"success",失败则输出错误信息。

下载地址

点击下载 【提取码: 4003】