#automata #nfa #regex #dfa #gnfa

autour_process

AUTOmata Utilities and Representation (AUTOUR)是一个用于实验各种自动机和绘制它们的工具箱。

8个版本

0.1.7 2024年7月7日
0.1.6 2023年6月4日
0.1.3 2023年5月20日

#932算法

Download history 1/week @ 2024-06-08 221/week @ 2024-07-06 5/week @ 2024-07-13 6/week @ 2024-07-27

每月下载量232

Apache-2.0

385KB
836

AUTOmata Utilities and Representation (AUTOUR)

一些基于autour_core crate的过程/分析。

NFA的词分析算法

一个分析单词与作为预期行为规范的NFA的过程的算法。

从一组起始状态开始分析单词。在下面的例子中,我们从自动机的起始状态开始,并成功清空了轨迹。读取单词的字母一个接一个,同时当前活动的状态集改变。在这里,轨迹被成功重演,没有观察到偏差。

accept

在分析中无法读取下一个要分析的字母的情况下,分析可能会失败,如下面的例子所示(取决于算法的参数化)。

fail

可以参数化算法,以便我们从初始状态而不是不同的起始状态开始,以处理更具体的场景。

specific start

在这种情况下,我们可以在分析中无法读取下一个字母时执行重置。然后,分析的字词可能不会被识别为语言接受,但我们可以识别出可以识别为这样的子词。

在下面的例子中,在分析过程中的一点上,无法读取下一个字母。我们执行一个重置,这意味着我们忘记了系统处于哪个状态,并假设它可以处于任何状态(让我们指出,我们可以配置哪些状态是重置状态(在这里,所有状态都是重置状态))。发出偏差警告,然后我们可以从该点继续分析。

reset

即使有重置,分析过程中仍可能在某个点上卡住。这发生在我们尝试读取一个不对应于重置状态中任何出度转换的字母时。

下面的例子描述了这种情况。

reset fail

为了能够继续分析,我们可以执行跳过,即忽略字母。在下面的例子中,它在与第一个重置同时进行。

skip

依赖项

~3MB
~49K SLoC