项目简介
本项目是基于C++11开发的简单编译器前端,可对简单赋值语句进行解析与分析。项目涵盖词法分析、语法分析和语义分析模块,能处理基本C语言子集并生成中间代码。
项目的主要特性和功能
- 词法分析:识别关键字、操作符、变量和数字等单词,利用
lexical_parser
类逐行分析文本,通过种别码表标识单词类型。 - 语法分析:运用递归下降法,支持简单赋值、条件和循环语句,有文法定义语法规则,具备错误恢复机制处理语法错误。
- 语义分析:为语法正确的赋值语句生成四元式和三地址中间代码,处理条件判断语句生成跳转中间代码。
- 测试数据:提供多个合法与非法输入的测试样例,用于验证编译器的正确性和鲁棒性。
安装使用步骤
- 环境准备:确保系统安装Apple clang version 11.0.0或更高版本,且编译环境支持C++11标准。
- 编译项目:在项目根目录下执行
make
命令进行编译。 - 运行程序:编译成功后,使用
bin/main testfile/file
命令运行程序,程序会输出词法、语法分析结果及中间代码。 - 查看输出:查看识别的单词、错误信息和中间代码,语法分析成功输出"success",失败则输出错误信息。
下载地址
点击下载 【提取码: 4003】