#regex #automata #glushkov

glushkovizer

操作、正则表达式和自动机库。允许将正则表达式转换为自动机,并分析自动机和它们的轨道

1个不稳定版本

0.22.0 2024年6月17日

#993算法

GPL-3.0 许可证

415KB
2.5K SLoC

Glushkovizer

操作、正则表达式和自动机库。允许将正则表达式转换为自动机,并分析自动机和它们的轨道。

形式定义

此库使用的数据类型的形式定义可在法语中在此处找到这里

示例

要查看使用此库的图形应用程序的示例,请访问此存储库

https://github.com/Lurgrid/GlushkovizerApp-GTK4

 

$ cargo run --example simple_json

命令行版本(示例)

$ cargo build --example cli --release
$ ./target/release/examples/cli
Please enter a regular expression - Press Ctrl + D to quit
(a+b).a*.b*.(a+b)*
Concat(Concat(Concat(Or(Symbol('a'), Symbol('b')), Repeat(Symbol('a'))), Repeat(Symbol('b'))), Repeat(Or(Symbol('a'), Symbol('b'))))
Enter a filename to save the automata - Press Ctrl + D to not save
toto
Saved !
Please enter a regular expression - Press Ctrl + D to quit

运行依赖

  • dot 9.0 >= (可能适用于早期版本,但未经过测试)

    点击 这里 安装它

许可证

GPLv3


GitHub @Lurgrid

依赖关系

~5–14MB
~157K SLoC