注釈付きでマークされた文字列の解析 #11

構文解析器生成系を使用せず、文字単位の入力で状態遷移する有限状態機械を作成して解析してみる。
まずは状態遷移図を作ってみる。


ベースにした注釈無しのマーク付け文字列の解析で考察した状態遷移図と同様に、
ノードラベルが状態の名前、エッジラベルがエッジ先へ遷移するための入力文字の種類である。
エッジラベルに無い入力の場合は(図には無いが)エラー状態に遷移するのも同じである。
注釈無しではbodyと表記していたm-body状態から、
入力":"で注釈関連の最初の状態a-headに遷移する。
マークされた文字列と同様に注釈も空文字列を禁止するためにa-heada-bodyの二状態で構成している。
string状態はこの状態に遷移した時点で一文字以上で構成されることが確定しているので、
二状態に分離する必要がないのは前と同じである。