F1. 設定ファイル .configのシンタックス

サーバー の設定ファイルの記述には拡張バッカス・ナウア記法(EBNF)に基づいた形式文法を使い、それには以下の記号が使用されます。

(...) - 記号のグループ (設定ファイルのフラグメント)

'...' - 終端記号

<...> - 非終端記号

| - エレメントのうちの1つを選ぶ記号

(...)? - オペレータの左にこの記号(または記号のグループ) - 必須ではありません(0 、或いは 1 回繰り返します)。

(...)* - オペレータの左にこの記号(または記号のグループ) - 何回でも繰り返されます(或いは省略されます)。

(...)+ - オペレータの左にこの記号(または記号のグループ) - 1回以上繰り返します。

[...] - 指定された範囲からのあらゆる記号

ピリオドを後置 - 規則の終わりを示す予約文字

<line> := <instruction>? (<separator>+ <comment>?)*.

 

<instruction> := <name> "{"? <parameter>* "}"?.

<name> := "description" | "sync-with" |

             "sync-delay" |  "sync-only" |

             "sync-ignore" | "state-only" |

             "state-ignore" | "notify-only" |

             "notify-ignore" | "notify-off".

<parameter> := <text>.

<text> := <word> <separator>*.

<word> := (<symbol> | <sign>)+.

<symbol> := [a-zA-Z] | [0-9].

<sign> := """ | "/"| "\" | "*" | "^" | "." | "-"| "$".

 

<separator> := \r | \t | \n | \s.

 

<comment> := ";"<text> | "#"<M1><symbol>+<M1> | "'"<M2><text>+<M2>.

<M1> := <symbol>+.

<M2> := <sign>+.

設定ファイルは、セパレーターで分けられた連続する単語です。セパレーターには次のキャラクタを任意の順番で使用できます: スペース(\s)、タブ(\t)、行頭復帰(\r)、改行(\n)。

セミコロン(;)で始まる単語の並びは、その行の最後まで続くコメントの始まりであることを意味します。

例:

ghgh 123 ;this is a comment

123;this; is not; a comment – requires a separator at the beginning.

ナンバーサイン(#)で始まる単語は連続するコメントであることを意味します。残りの単語はコメントの終了を表すマーカーで指定されます。

例:

123 456 #COMM from here there is a comment COMM here it is already ended

キャラクタを単語に含むには ' プレフィックス(アポストロフィ)を使用します — これはその単語に対する特別なセパレーターキャラクタです(つまり、このキャラクタはこの単語を終了するセパレーターと見なされます)。

例:

xy123 '*this is one word*this is another word

 

アポストロフィ、セミコロン、ナンバーサイン (';#)のいずれかで始まる単語は、上記で記したように特別なセパレーターキャラクタで区切られる必要があります。

 

.config ファイルは、コメント及びインストラクションから成っています。インストラクションの順番は重要ではありません。

 

設定ファイルのインストラクションのフォーマットは大文字と小文字を区別します。

 

リポジトリはサーバーのOS、及びファイルシステムに関係なく大文字と小文字を区別します。

 

インストラクションの意味については、付録 F2. .configファイルインストラクションの意味 をご覧ください。