littlebot
Published on 2025-04-09 / 1 Visits
0

【源码】基于QT和C++的词法自动生成器

项目简介

本项目是基于QT和C++的词法自动生成器,可将正则表达式转换为NFA、DFA以及最小化DFA,最终生成词法分析程序。适用于编译原理课程的实验教学,有助于学生理解正则表达式与有限自动机之间的转换过程。

项目的主要特性和功能

  1. 支持单个字符、连接、选择(|)、闭包(*)、括号()、可选(?)等正则表达式运算符号。
  2. 能将输入的正则表达式转换为NFA,并以状态转换表形式呈现。
  3. 可将NFA转换为DFA,并生成相应状态转换表。
  4. 对生成的DFA进行最小化操作,减少状态数量。
  5. 生成用于实现词法分析器的C++代码。
  6. 提供Windows图形用户界面,用户可通过点击按钮查看NFA、DFA和最小化DFA的状态表,支持保存和加载正则表达式文件。

安装使用步骤

环境准备

  • 安装QT Creator 5.0.2及以上版本。
  • 安装QT 5.12.12 MinGW 64 - bit。
  • 可选:安装Visual Studio 2019并配置QT插件。

打开项目

使用QT Creator打开项目文件(.pro文件)。

编译运行

  • 在QT Creator中点击“构建”按钮,编译项目。
  • 编译成功后,点击“运行”按钮启动应用程序。

使用应用程序

  • 在应用程序界面中输入正则表达式。
  • 点击相应按钮查看NFA、DFA和最小化DFA的状态表。
  • 保存或加载正则表达式文件。
  • 查看生成的词法分析程序代码。

下载地址

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