littlebot
Published on 2025-04-13 / 0 Visits
0

【源码】基于C++和Qt的SLR(1)分析生成器

项目简介

本项目是基于C++和Qt框架开发的SLR(1)分析生成器,用于实现编译原理中的SLR(1)文法分析。可完成文法规则的输入编辑、First集合与Follow集合的计算、LR(0) DFA图的生成、SLR(1)文法的分析以及SLR(1)分析表的生成。

项目的主要特性和功能

  1. 提供用户界面,支持用户输入和编辑文法规则,能保存和打开文法规则文件。
  2. 自动计算文法中各非终结符的First集合和Follow集合,并以表格形式呈现结果。
  3. 生成文法的LR(0) DFA图,可通过表格或图形方式展示。
  4. 判断输入的文法是否为SLR(1)文法,同时生成对应的SLR(1)分析表。
  5. 采用Qt框架构建Windows界面,操作简单,用户体验好。

安装使用步骤

环境准备

  • 安装Qt Creator 5.0.2及以上版本。
  • 安装Qt 5.12.12 MinGW 64 - bit及以上版本。
  • 安装Visual Studio 2019(可选,用于代码编辑)。

复制项目

bash

打开项目

使用Qt Creator打开项目文件夹中的.pro文件。

编译项目

在Qt Creator中选择构建配置(Debug或Release),然后点击“构建”按钮进行编译。

运行项目

编译成功后,点击“运行”按钮启动应用程序。

使用应用程序

  • 在应用程序界面输入文法规则,查看First集合、Follow集合、LR(0) DFA图和SLR(1)分析表。
  • 根据需求保存文法规则文件或导出分析结果。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】