3、 定义类描述有限状态自动机,状态的输入和输出关系可以描述为链表数据成员:
class STATE;
class LIST{
LIST *next;
char input;
STATE *output;
LIST(char in, STATE *out); //私有,仅供STATE使用
~LIST();
friend STATE;
}
class STATE{
char *name ;//状态名
LIST *list; //输入及输出列表
static STATE *error;//自动机陷阱
public:
void enlist (char in, STATE *out);//插入list
const STATE *next(char in) const; //输入in转移到下一个状态
const STATE start (char)const;//启动有限自动机
STATE(char *name);
~STATE();
}