再帰的wiki構文パーサーの動作概念

プログラムのデバックパターンを天文学的に増やすこのボタンが押され次にこのボタンがなどというGUI操作を伴わず、入力口が一つしか無いテキスト構文解析は大変安全に組みやすくテストケースの作りやすい類のコーディングとなりますから多くの人がそれぞれに独自のパーサーエンジンを作られてきました。ここでは本ソフトウェアに組み込んだ再帰的wiki構文パーサーの動作概念を説明します。

  1. {{{ }}}!などユーザの入力した、あるいは改行コードなど暗黙の文字列を符号として認識し、体系化されていない平文をプロセシングしDOM(XML)という構造化文章を構築する
  2. ある符号を発見した時に、その符号の前までの文字列、符号に挟まれるセクション、符号下流の文字列に分け、それらをそれぞれ再帰的にパースする
  3. html中、<a href></a>タグの中に<p></p>タグが含まれることを想定していない、<td></td>タグ中に<blockquote></blockquote>タグが含まれることは想定していない等、タグ間に上位下位の関係性がありプロセシングチェーンとして規定している
  4. 例えば表を表す|td|td|中に[[display|a link]]アンカーが入り込む場合にはアンカータグ中の|をエスケープさせて表組みを完成させてからアンカーを復帰させないと意図された結果が得られない
  5. 例えば//italic//中に[[http://www.foo]]が入り込んだ場合、タグ同士の始点と終点が入れ子にならず交叉することになる。この場合にも最適解を導き出す機関をエンジン内に持たせておかないとならない
    last modified: 20 July 2013 [ View wiki source Close ]
     
SEARCH DIFFERENCE ATTACHMENT RECENT POST