今回は手近なところで Tcl を使って Wiki 記法のパーサを作ってみようと思う。 これは以前 Tcl で Wiki 記法を採用したソフトウェアを作成したけどあまり美しくないやりかたでゴリゴリ書いていたのでプログラム的に触りにくいものになってしまった反省というのもある。 Tcl でパーサを作成するのためのライブラリはいくつかあるが、今回は Yeti/Ylex を使う。 http://www.fpx.de/fp/Software/Yeti/ Wiki 記法の文法は以下のとおりとする。 -記事は空行区切りで並べられたブロック要素群である。 -「*」で始まるブロックは見出しである。レベル6見出しまで対応 -「-」で始まるブロックは順序なしリストである。 -「+」で始まるブロックは順序ありリストである。 -それ以外のブロックは段落である。 まずは字句解析器を作る。Ylex では 1. yeti: