项目简介
本项目是用于将正则表达式转换为非确定有限自动机(NFA)的编译器。运用Bison作为解析器生成工具,把正则表达式解析成抽象语法树(AST),进而构建对应的NFA,主要基于Thompson构造法,支持正则表达式的基本操作。
项目的主要特性和功能
- 支持正则表达式的原子操作、串联、选择、重复等基本操作。
- 利用Bison生成的解析器解析输入的正则表达式。
- 采用Thompson构造法,将解析后的正则表达式转换为NFA。
- 提供创建和打印NFA的辅助函数。
- 把构建的NFA转换为Mermaid格式的图像并输出到文件。
安装使用步骤
- 确保已安装Bison和Flex工具。
- 下载本项目的源代码文件。
- 在命令行中运行Bison工具(
bison
)生成解析器代码。 - 运行Flex工具(
flex
)生成词法分析器代码。 - 编译生成的C++源文件,生成可执行文件。
- 运行可执行文件,输入要转换的正则表达式。
- 程序将输出转换完成的NFA图像。
注意:此项目假定输入是有效的正则表达式,解析错误时会输出错误信息并退出。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】