我需要NFA用于正则表达式
(a+b)?c
据我所知,它应该包含从最后一个节点之前的零节点到节点的epsilon(例如,匹配字符串“c”).
要查看我的NFA,我使用“Regular Expression to NFA Visializaton web service”,
但我的正则表达式在此服务上的图形不包含来自零节点的epsilon.
是服务中的错误,还是我误解了什么?
谢谢!
解决方法
好像是一个bug.如果我尝试(aa * b)?c应该是相同的语言,NFA看起来非常不同(并且正确).此外,当我尝试使用自动化库时,我前段时间开发自己,我得到了这个:
./fatool –in’re:^(a b)?c $’ – 出点: – | dot -Gdpi = 70 -Tpng -onfa.png / dev / stdin
@L_301_1@
如果您感兴趣,可以使用图书馆:https://github.com/wader/libfa