【发布时间】:2013-02-23 00:00:24
【问题描述】:
我正在构建一个有限状态接受器(FSA...基本上是一棵树)。我有一个FSA 类和一个State 类,因为FSA 应该由许多States 组成。但是,当最初创建FSA 时,我想创建它的开头State 和结尾State,并将它们连接起来。这是代码:
class State (object):
__slots__ = "chars","children"
def __init__(self,chars,children=[]):
self.chars = chars
self.children = children
class FSA (object):
__slots__ = "vocab"
def __init__(self,vocab):
self.vocab = vocab
self.start = State("0")
self.finish = State("1")
self.start.children.append(self.finish)
self.finish.children.append(self.start)
但是,当我运行 fsa = FSA("vocab.small") 时,会引发错误:
AttributeError: 'FSA' object has no attribute 'start'
有没有办法可以启动FSA 并为其创建两个States?
【问题讨论】: