我找不到以下问题的答案。自动机接受诸如“A:5739”之类的字符串。或“C::399\4342)”,这些提醒我文件系统的路径,但我不确定。
问题文字:
考虑以下用 Prolog 编写的有限状态自动机。 似乎认出了什么?
假设有谓词
alphanumeric/1
当它的参数是字母或数字时,这是正确的。
自动机:
accept([I | Is], S) :- delta(S, I, N), accept(Is, N). accept([], Q) :- final(Q). initial(start). final(type). delta(start, 'A', dev). delta(start, 'B', dev). delta(start, 'C', dev). ... delta(start, 'Z', dev). delta(dev, ':', n1). delta(n1, '\', dev). delta(n1, L, name) :- alphanumeric(L). delta(name, L, name) :- alphanumeric(L). delta(name, '\', name). delta(name, '.', type). delta(name, L, type) :- alphanumeric(L).