このブログの更新は Twitterアカウント @m_hiyama で通知されます。
Follow @m_hiyama

メールでのご連絡は hiyama{at}chimaira{dot}org まで。

はじめてのメールはスパムと判定されることがあります。最初は、信頼されているドメインから差し障りのない文面を送っていただけると、スパムと判定されにくいと思います。

参照用 記事

「正規(regular)」とは何なんだ? 3 補足、実例など

再帰テンプレート、ミュー項、それによる表現力の増強(代数系の拡大に対応する)などの実例を挙げる。例には、極端に単純化したXML風データ Tiny Toy XML を用いる。

なんとか予定が守れました。

平坦添加例外による内容モデルの拡張

めまい事件(?)で脳ミソもシェークされてしまったようですから、過去のものでお茶を濁しておきます。とは言っても、平坦添加例外はいずれ詳しく説明したいと思っていたネタなので、単なる埋め草というわけではありません。

平坦添加例外は、Chimairaの文脈で解釈するのがふさわしく、かつそのほうが理解しやすいものだと思います。(もう少し説明を追加する必要はありますが。)

空白問題と内容モデル 1, 2, 3

だいぶ前に『JavaWorld』連載のコラムとして書いたものです(異例に長いコラムだけど)。ほとんど変更はしてなくて、ほぼ原稿そのままです。

「空白問題を解く」というような体裁になってますが、むしろ、空白問題がwell-posedではない疑似問題ではないか、というのが趣旨です。だから、「解く」というよりは、空白問題を「問題」だと捉えてしまうような視点のほうを矯正しようということです。

最後に書いておいた次のようなことが僕の主張:

何にでも通用するような普遍的な空白処理を期待してはいけない。ありもしない理想の方法を求めても徒労に終わる。空白処理は、テキストストリームへの書き出し/テキストストリームからの読み込みのルールに依存して決まる。つまり、応用領域ごとに個別に考えるしかない。

空白問題のように、一見構文の問題に見えるものでも、構文の議論だけではまったく解決できないことがある。結局、適切な解は構文の使用状況に依存するのである。繰り返し強調するが、XML文書の同値性は応用領域に依存する。空白問題が解けないのは、個々の応用領域を無視して、普遍的/絶対的な処理を求めたからだったのだ。応用領域ごとの空白処理(同値性定義の一部)に基づけば、そこにもはやミステリーはない。

属性か内容か?それは問題ではない

追加したコンテンツ(記事)に要約があれば、それを引用することにします。

「属性と内容をどう使い分けるか」が重要な判断となることがあるのは事実だ。が、いつもでそうだとは言い切れない。この記事では、マークアップ手法の選択がむしろ恣意的判断となる事例を取り上げる。

短い記事です。ほんとは続きがあるのですが、とりあえず事例・素材のみ。

「正規(regular)」とは何なんだ

この記事は、キマイラ・サイト内ではまーデキがいいほうだと思います。僕が「です・ます」調で書くときは、懇切で分かりやすくしようと努力している(つもりの)ときです。という次第で、今回は努力したつもり。

再帰代入系 1 and 2」がどうも分かりにくいという負い目があるので、この記事が再帰代入系への入り口/キッカケになればと思ってます。

事例から入ればいいのは分かっているけれど、先を急いでいるとなかなか、、、

JavaCCによる構文記述

ここ2、3日遊んでいたパーザー生成系に関するメモです。ステータスがmemoの記事は、内容が流動的で継続的にメンテナンスする可能性があるものです。

僕は、SableCCのほうが好みなんですが、とりあえず(なぜか)JavaCCの説明です。

型システムの相剋と棲み分け

わけありげでたいそうなタイトルですが、内容はたいしたことありません。

記事の冒頭にも書いておきましたが、僕は、このネタを何度も扱った印象があるのですが、まとまった形では何も言ってなかったかもしれません。で、まとめておこうかという趣旨です。

XMLフレンドリーな型システム

この記事の本筋の話題ではないのですが、第7節で触れている構文的型システムは、僕がずっと欲しがっている「意味に言及しなくて済むような仕掛け」なんです。