0
4

1 に答える 1

1

これがあなたのマシンの図です、ところで:http: //bit.do/stackoverflow-19621544Erdosで作成)。

"abxc" の場合、("b" | "x" "c")+マシンは最初に "b" を照合し、次に "xc" を照合します。"b" から ("x" へ) 遷移するときは、最初に離脱アクション (eおよびcaptured) を呼び出し、"xc" から (EOF へ) 遷移するとき、2 回目に離脱アクション (eおよびcaptured) を呼び出します。

startと endeの間の文字列をキャプチャするために、アクションは end ポインターを設定することになっていると思います。その場合、Ragel がアクションを複数回呼び出すことは実際には問題ではなく、既に行っているようにエンド ポインターを進めるだけです。see

于 2013-11-04T17:58:57.180 に答える