Castlingちまちま更新

位置情報はパーサでは持ち運ぶだけで中身関与しないので多相型にした。これでファンクタの引数がトークンのみになった。
現在位置を値として記録するpositionだけだとocamlcのようなエラーメッセージ中の範囲表示に対応できないので、position_withを追加。ranged_position := trueしておけば位置情報が始点終点のタプルになって、reduce結果には先頭要素の先頭位置と末尾要素の末尾位置を組み合わせる。position_withは、位置情報と値をタプルで記録する。
例えば((1, 2), 'A'); ((3, 4), 'B')というトークン並びをreduceするときは((1, 4), ('A', 'B'))みたいになる。そのままだと('A', 'B')のみが値として保持されるけれど、position_withを使うと全部残す。ちなみにposition_ofは(3, 4)だけ残す。

なんだかんだで自動エラーリカバリは手書きには到底及ばないもののある程度は賢く動いている様子。conflictが発生するとなぜかエラーリカバリも生成されず、結果EOFを受けつけない状態ができてしまう場合があるが……conflictなのでいいか?いいのか?

あとocamldocの結果をリポジトリに追加してそのままOnline documentationと主張しようとしたのですが、/svn以下はtext/plainになってしまうらしく、FireFoxがHTMLとして表示してくれないです。Subversionの属性とかでしょうか。やった、当たり。

svn propset svn:mime-type text/html *.html

ocamldocも、includeで宣言だけじゃなくコメントも引っ張ってくればいいのに。