我正在尝试使用给定的微语法绘制一个 FSM 来查找令牌
microsyntax
// Uses .Net regular expression syntax.
Identifier <|[a-zA-Z][\w_.]*
IntegerValue <|\d+
// real values must include a decimal point.
RealValue <|\d*\.\d+
// Note that strings do not have any escape characters
// and will be prematurely terminated with a newline.
StringValue <|"[^"\n]*"
我的 FSM 图表如下所示:
我不确定我制作的图表是否完全正确。我在绘图中的困惑在于:1)标识符az,AZ,_的循环转换。2) 从整数到实值的转换:状态 3 会从 0-9 循环转换吗?和 3) 转换为 stringValue。
如果有人可以让我知道图表是否正确,如果不正确,我的错误是什么,那将非常有帮助?