1 に答える
1
これがあなたのマシンの図です、ところで:http: //bit.do/stackoverflow-19621544(Erdosで作成)。
"abxc" の場合、("b" | "x" "c")+
マシンは最初に "b" を照合し、次に "xc" を照合します。"b" から ("x" へ) 遷移するときは、最初に離脱アクション (e
およびcaptured
) を呼び出し、"xc" から (EOF へ) 遷移するとき、2 回目に離脱アクション (e
およびcaptured
) を呼び出します。
startと ende
の間の文字列をキャプチャするために、アクションは end ポインターを設定することになっていると思います。その場合、Ragel がアクションを複数回呼び出すことは実際には問題ではなく、既に行っているようにエンド ポインターを進めるだけです。s
e
e
于 2013-11-04T17:58:57.180 に答える