r *表达NFA

时间:2011-10-21 09:58:16

标签: nfa

我找到了这张图片,代表了r *表达式NFA。 我的问题是:不应该有一个箭头将第二个节点链接到第三个节点?这样,如果我有一个“rr”字符串,当第一个符号被读取时,我进入第二个节点,但从那里不能去任何地方,因为没有外向箭头。 http://imageshack.us/f/641/screenshot20111021at114.png/

1 个答案:

答案 0 :(得分:1)

链接图像意味着几个假设。

  • 标有“E”的箭头表示“epsilon transition”,这是一种不会修改当前符号的更改状态。遵循这样的箭头不会“消耗任何输入”
  • 标记为“R”的矩形区域暗示为“自动机接受 R ”。如果您到达该区域的起始状态(图像左侧的第二个圆圈),则装箱区域将接受 R 以获取任意子语言。 R 用作变量,就像在基本正则表达式R*中一样。我们在起始状态和结束状态之间没有看到任何箭头,因为我们没有定义 R 的含义;它是可变的,我们可以使用任何东西。