wikiforme もどきの基本的な機構: 記法のパースと木構造(XML)の出力
思想は wikiforme と大きく変わらない。具体的には、
- 元の記法には何らかの形で、ノードの開始を明示する
- ノードの終了が明示されていない場合、適宜補完する
- 階層の一部を省略された場合、適宜補完する
- ノードの終了や階層の中間のノードの補完は、ノードの親子関係の制約に着目して行う
- 例: A の親は B、B の親は C という制約があるなら、A と C の中間を補完することが出来る
といったところ、だろう。
これを実現するためには、以下を実現すれば良さそうだ。
- 元の記法から、ノードの開始を検出する
- ノードの親子関係に関する制約を与えられるようにする
- 補完に使う
- ノードの親子関係を適切に補完する
そのためには、以下のような造りにすれば良さそうだ。
- ノードの開始を検出するための正規表現なりを、記法の定義に含めるようにする
- 親子関係の制約も記法の定義に含めるようにする
- 親子関係の補完は、親子関係のグラフをダイクストラ法なりで探索するだけ。
- 参考に: 補足的な機構: 親子関係の補完