项目简介
本项目是基于QT和C++的词法自动生成器,可将正则表达式转换为NFA、DFA以及最小化DFA,最终生成词法分析程序。适用于编译原理课程的实验教学,有助于学生理解正则表达式与有限自动机之间的转换过程。
项目的主要特性和功能
- 支持单个字符、连接、选择(|)、闭包(*)、括号()、可选(?)等正则表达式运算符号。
- 能将输入的正则表达式转换为NFA,并以状态转换表形式呈现。
- 可将NFA转换为DFA,并生成相应状态转换表。
- 对生成的DFA进行最小化操作,减少状态数量。
- 生成用于实现词法分析器的C++代码。
- 提供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】