うーん、統一された手法とか、定石というのはまだ確立されていないんじゃないかな?
個々のプログラマが実現したい現象を元に自分なりにプログラムを書いている状態。

私だったら、コマンドのデータ列をあらかじめ配列か何かの形で作って、
コマンドの進み具合を示すポインタをコマンドの種類ごとに一つ定め、
ポインタの次の動作に該当したらポインタを進めて、該当しなければポインタを初期位置に戻す、
という方法で実装するなぁ。
318が提案するような比較に比べると判定が少し早そうなんだよね。