Pushkin Concordance C++ Source Code

Конкорданс к тексту А. С. Пушкина プーシキン見出語コンコーダンスを実現する C++ プログラムのソースコードを GNU Global で整形して Web に公開した。Pushkin Concordance C++ Source Code から参照できる。

Boost.Interprocess による共有メモリ操作や,Boost.Regex,Boost.Locale による UTF-8 文字列の正規表現・文字操作など,このコンコーダンス・ソフトウェアの作成過程でいろいろ勉強した要素は,今後も役立ちそうである。GNU Global によって,データ構造や関数のクロス・リファレンスが容易になり,そういう要素を探索しやすくした。

20120517-global.pngGNU Global Source Code Tour
掲載したのは以下の 3 プログラム。
  1. CorpusLoader コーパス共有メモリローダ。プーシキンのコーパステキストデータ,作品名データベースを読み込み,共有メモリに格納し,他プロセスからアクセスするためのアドレスを提供する。
  2. WordTreeBuilder 単語二分木共有メモリビルダ。コーパステキストを読み,単語切り出し,見出語変換を行い,単語(キー)/出現回数/出現位置情報からなる単語二分木データベースを共有メモリ上に構築する。見出語形,出現形の 2 種類の二分木を生成し,その入口アドレスを他プロセスからのアクセスのために提供する。
  3. concordance コンコーダンス出力 Web サーバ。コーパスローダ,単語二分木ビルダが共有メモリに構築したデータベースをユーザに提供する。Wt C++ Web Toolkit を使用。

プーシキン全集の Web ページからコンコーダンス用コーパスを作成するプログラムについては,Perl やシェルスクリプトであるということもあり(Global が未対応),掲載していない。コーパス作成についても,いずれ — 何をやったのか忘れないうちに — 整理しておきたいと思う。

* * *

高嶋みどり作品集 CD を入手した。高嶋みどりは主に合唱曲で有名な作曲家である。彼女の合唱曲は,中学・高校合唱部の生徒からプロの合唱団員に至るまで,定番作品として愛されている。

『白鳥 — アポリネールの詩による四つの無伴奏混声合唱曲集』が聴きたくて,この CD を注文した。その他,谷川俊太郎詩による『若者たちの悲歌』,草野心平詩による『青いメッセージ』が収録されている。

全国高校合唱コンクールで聴いた,『白鳥』1曲目の『露営のともしび』がとくに好きである。オーケストラもよいが,無伴奏の合唱曲にたまに浸ると,心が洗われる神妙な気分になる。

日本合唱曲全集 白鳥/高嶋みどり 作品集 2
松原混声合唱団, 湘南市民コール, 湘南市民コール
日本伝統文化振興財団 (2011-03-30)