regex - 自动机和正则表达式理论工具

标签 regex command-line finite-automata automata

<分区>

2000 年,当我还是一名学生时,我选修了自动机理论类(class)。在本类(class)的练习中,我们基本上重新编写了一个名为 Grail (http://www.csd.uwo.ca/Research/grail/) 的 unix 命令行工具。 Grail 允许您读取带有正则表达式或确定性/非确定性有限状态机的文件,并对它们应用典型的理论操作:最小化 FSM、检查是否为空、反转、FSM 的乘积、FSM 到 RegEx 和 RegEx 到 FSM、应用一个输入字符串和模拟机器等。

Grail 似乎可用,但显然自 2002 年以来就没有开发过。因此我的问题是:有人知道仍在积极开发中的类似工具吗? (即现代的 Grail?)今天的类使用什么?

我正在寻找的是一个命令行工具,它从 stdin 读取 FSM 或 RegExes,应用一个操作,并将结果输出到 stdout,Unix 方式,这样您就可以创建自己的管道。简单的 FSM 和 RegEx 就足够了,因此下推自动机或 Büchi 自动机之类的东西并不是真正必要的。

如果没有命令行工具,是否有好的库或图形工具?

最佳答案

Vaucanson 平台,如 OpenFst,提供了一个名为 TAFKit 的命令行工具,它可以完全满足您的需求:它从标准输入或已计算对象的存储文件中读取 FSM 或 RegExp,对它们执行操作(大约 70可用的功能),并将结果输出到标准输出或文件中以供进一步处理。您可以通过管道传输和创建 shell 脚本。

要下载 Vaucanson 1.4.1,请转到

http://www.lrde.epita.fr/cgi-bin/twiki/view/Vaucanson/Vaucanson141

您会在那里找到一份相当完整的用户手册。

如需更多信息,请随时给我发邮件。

                   Jacques Sakarovitch
                   sakarovitch@enst.fr

关于regex - 自动机和正则表达式理论工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12639874/

相关文章:

computer-science - 如何规范化有限状态机?

javascript - JS Twin-Bcrypt 盐模式

java - 从命令行向 java 程序传递值,它是如何工作的?

json - JSON 可以安全地用作命令行参数还是需要先进行清理?

command-line - 如何从命令行在 Bitbucket 中创建拉取请求

computer-science - NFA 到 DFA 的问题

php - 在 PHP 中拆分文本

java - 正则表达式用于屏蔽 Java 中除前两个和最后两个字符之外的字符

regex - 如何在使用grep的递归搜索中排除目录?