SGFの仕様の翻訳
囲碁を嗜んでいる関係で、ネット上の棋譜サイトから .sgf ファイルを取得する機会がある(SGF は Smart Game Format の略)。sgf ファイルの仕様に興味を持ったので調べてみるとこのページ
http://www.red-bean.com/sgf/index.html
に行き当たった。
英語だとさらっと読むのも面倒なので、暇なときにちょこちょこ翻訳していこうかと思う。
自分なりに噛み砕いて解説を付けられたら尚良し。
Basic definition and types
http://www.red-bean.com/sgf/sgf4.html
目次
- SGF の基本
- 基本的な定義(EBNF)
- EBNF の定義
- プロパティに関する注意
- プロパティの型
- プロパティの属性
- 未知または不正のプロパティの扱い方
- プライベート・プロパティ
- プロパティの値の型
- 倍精度整数
- テキスト
- シンプルテキスト
- 石
- 着手 / 着手点
- 着手点の短縮リスト
1. SGF の基本
SGF はテキストのみで表記する(バイナリではない)。
そのテキストの内容は、プロパティ付きのノード(節点)から成るゲーム木だけである。従って、ファイル形式はプロパティの木を表現している。
この形式には例外は存在しない。もし文書の形で情報を盛り込みたいならば、その目的で(それぞれのゲーム特有の)プロパティを定義しなければならない。
ノードの番号付け
ノードの番号は 0 から始めることが推奨される。番号付けはファイルでの入力順序でなされるべきである。
SGF はシンプルテキストとテキストを除く全てのプロパティ識別子とプロパティ値で US ASCII 文字を使う。
シンプルテキストとテキストは CA プロパティを定義するために使われる。
とりあえず今日(2/24)はここまで。