| 日時 | バージョン |
|---|---|
| 2009/02/09 | 2.00 |
型を持った半ツリー構成の文書でプログラムの設定ファイル等に使用します。 Windowsで使用するINIファイルよりは高機能を目指したためXML等の文書に比べ貧弱です。 以下が秋文書の特徴です。
文書は一行を一つのデータとして扱います。
例えば文書内に
foo/bar\string
という一行があった場合、この一行分を一つのデータとします。
今回の場合では[foo/bar]をツリー、[string]を値、[\]を型情報、一行全体を「アドレス」と呼びます。
ツリーの要素は「/」で区切られます。
アドレス内には「ファイル」という概念が存在し、型情報と値を持つツリーはファイルを所持している、そうでない場合はファイルを所持していないと考えます。
[foo]はファイルを所持していませんが[foo/bar]はファイルを所持しています。
UTF-8のみ。 UTF-8の規格はともかくBOMの有無は処理系に影響しない。
今後の予定でも他の文字コードに対応させる予定なし。 対応は処理系で適当に。
将来的には増やしたい。
/ (U+002F)
| 文字 | コード | 型 |
|---|---|---|
| : | U+003A | 整数 |
| * | U+002A | 実数 |
| \ | U+005C | 文字列 |
| ? | U+003F | バイナリ |
| = | U+003D | TSV形式整数 |
| @ | U+0040 | TSV形式実数 |
| $ | U+0024 | TSV形式文字列 |
| ! | U+0021 | TSV形式バイナリ |
今後増やすかも。
「;」については下記参照。
あるアドレスに対応するコメントをアドレスコメントと呼びます。
アドレスコメントはアドレスに対してすぐ上の行にある「;」から始まる行を指します。 空行を挟まなければいくらでも記述することが可能です。
秋文書に対するコメントを文書コメントと呼びます。
文書コメントは実ファイルの先頭(BOMがある場合はそれを除いた先頭)から「;」で始まり一行の空行を含めます。
ファイルへの道です。
ツリー区切り文字の無いツリーは有効なものです。
ただし型情報文字から始まるツリーはアドレスとして不正です。
ツリーの重複は不正です。
その場合処理系はどれか一つのツリーを残します。
型情報に基づいたツリーに対する実物。
型情報の次に続く改行もしくはEOFまでの文字列です。
型情報に改行・EOFがすぐに続くものはアドレスとして不正です。
処理系はそのアドレスを破棄します。
小数点無しの数値を扱います。
記述書式は処理系依存です。
空ファイル、区切り文字が有効です。
小数点有りの数値を扱います。
記述書式は処理系依存です。
空ファイル、区切り文字が有効です。
ちょっぴり書式付の文字列を扱います。
エスケープシーケンスは下記の通りです。
| 文字 | 前の文字列 | 変換後の文字 |
|---|---|---|
| 改行符 | \r | CR(U+000D) |
| 改行符 | \n | LF(U+000A) |
| タブ文字 | \t | TAB(U+0009) |
| バックスラッシュ | \\ | \(U+005C) |
| 空文字 | \e | (長さ0の文字) |
空ファイル、区切り文字は無効です。
[0-9A-Z]の集合です。 処理系は少なくとも大文字はサポートするべきです。
空ファイル、区切り文字は有効です。
TSV形式の型であればファイル各要素間のTAB(U+0009)で区分けされたファイルです。 連続するTABは不正です。
空ファイル、区切り文字は型に依存します。
アドレスとしては有効なツリーをとりあえず作る場合に使用します。
基本的に「*(U+002A)」を使用します。
文字列型の場合は「\e」を代用します。
連続する*や区切り文字のある空ファイルは不正です。
ファイルを記述しやすいようにするために使用が許可されている文字です。
「_(U+005F)」と「 (U+0020)」が使用可能です。
使用の可不可は型に依存します。