ドット 10 進形式では、各構文エレメントが別個の行で書かれます。
ただし、2 つ以上の構文エレメントが常に一緒に使用される (つまり、
使用されないときはどちらも使用されない) 場合は、
これらは 1 つの複合構文エレメントと見なされるので、それらが同じ行の中に書かれることがあります。
各行の先頭には、ドット 10 進の番号 (たとえば、3、
3.1、3.1.1 など) が付きます。
ですから、スクリーン・リーダーなどでこれらの番号を正しく再生させるためには、
句読点を読み上げるようにスクリーン・リーダーを設定する必要があります。
同じドット 10 進の番号を持つすべての構文エレメント (たとえば、
3.1 という番号が付いているすべての構文エレメント) は、
相互に排他的な選択肢となります。
たとえば、3.1 USERID という行と 3.1 SYSTEMID という行があった場合、
構文には、USERID か SYSTEMID のどちらかしか使用できません。
ドット 10 進の番号付けのレベルは、ネストのレベルを示します。
たとえば、ドット 10 進番号 3 には、
ドット 10 進番号 3.1 の一連の構文エレメントが続き、
3.1 という番号の構文エレメントは、
すべて 3 という番号の構文エレメントに従属します。
構文エレメントのストリングを区切るために使用されるコンマなどの文字は、
構文の中で、区切る項目の直前に置かれます。
こうした構文エレメントは、それぞれの項目として同じ行に置かれることもあり、
関連項目として、同じドット 10 進番号を持つ別々の行にされる場合もあります。
また、行には、
構文エレメントについての情報を示す別のシンボルが表示される場合もあります (これらのシンボルすべてについては、
このあとで説明します)。
たとえば、5.1* ,、5.1 LASTRUN、
5.1 DELETE という行がある場合、
これは、構文エレメント LASTRUN および DELETE を複数使用する場合に、
これをコンマで区切る必要があることを示します。
区切り文字が指定されない場合は、ブランクを使用して各構文エレメントを区切るものと考えてください。
構文エレメントの先頭に % というシンボルが付いている場合、
これは、他のどこかで定義されている参照を示します。
% の後に続くストリングは、リテラルではなく、構文フラグメントの名前です。
たとえば、2.1 %OP1 という行は、
この部分で別の構文フラグメント OP1 を参照する必要があることを意味します。
この例がとられた構文では、OP1 は、さらに他のオプションのリストを表示します。
構文エレメントについての情報を追加する場合は、
ドット 10 進番号の後ろに特定のワードやシンボルが付きます。
ところが、時折、これらのワードやシンボルがエレメントそのものの先頭に置かれる場合もあります。
それで、識別を容易にするため、ワードやシンボルが構文エレメントの一部になっている場合は、
それらのワードやシンボルの前にエスケープ文字 ¥ (円記号) が置かれます。
たとえば、* というシンボルがドット 10 進番号の直後にある場合、
これは、その構文エレメントが繰り返し可能であるという意味になります。
ですから、構文エレメントそのものが * シンボルで始まっている場合、
たとえばドット 10 進番号 3 の構文エレメント * FILE のような場合は、
3 * FILE という形式で表示されます。
これが 3* FILE という形式になると、
これは、繰り返し可能な FILE という構文エレメントがある、という意味です。
また、3* * FILE という形式の場合は、
繰り返し可能な * FILE という構文エレメントがある、という意味になります。
ドット 10 進番号に付けられるワードおよびシンボルは、次のとおりです。
- ? は、オプションの構文エレメントを意味します。
ドット 10 進番号の後ろに ? というシンボルが付いている場合、
それは、そのドット 10 進番号を持つすべての構文エレメントと、
そのおのおのに従属する構文エレメントが、すべてオプショナルであることを意味します。
そのドット 10 進番号を持つ構文エレメントが 1 つしかない場合は、
その構文エレメントと同じ行に ? シンボルが表示されます (例、5? NOTIFY)。
一方、ドット 10 進番号を持つ構文エレメントが複数存在する場合は、
オプショナルであることを示す構文エレメントの前の行に、? シンボルだけが表示されます。
たとえば、5 ?、5 NOTIFY、
5 UPDATE という行がある場合、これは、
構文エレメント NOTIFY および UPDATE がオプショナルであることを示します。
これらは、どちらを選択してもよければ、どちらも選択しなくてもよい、ということになります。
つまり、? シンボルは、線路ダイアグラムのバイパス行と同じ働きをします。
- ! は、デフォルトの構文エレメントを意味します。
ドット 10 進番号の後ろに ! というシンボルがあり、
そのドット 10 進番号の最後の 1 桁にこのシンボルが付いている場合、
これは、同じドット 10 進番号を持つすべての構文エレメントのデフォルトであることを意味します。
ですから、! を指定できるのは、同じドット 10 進番号を共有する構文エレメントの中で、1 つだけです。
たとえば、2? FILE、2.1! (KEEP)、
2.1 (DELETE) という行がある場合は、
(KEEP) が FILE キーワードのデフォルト・オプションであるということになります。
構文の中でこの FILE キーワードを使用し、かつオプションを明確に指定しなかった場合は、
デフォルト・オプションであるこの KEEP が適用されます。
このデフォルトは、! シンボルが付けられた特定の構文エレメントだけでなく、
1 つ上位のドット 10 進番号にも適用されます。
上の例であれば、デフォルトは 2.1! (KEEP) だけでなく、
2? FILE にも適用されるということです。
つまり、FILE というワードを省略しても、
デフォルトで FILE(KEEP) が使用されることになります。
ところが、今度はこれが 2? FILE、2.1、
2.1.1! (KEEP)、2.1.1 (DELETE) という行であったとします。
デフォルトは、
1 つ上位のドット 10 進番号 (つまりこのケースでは 2.1) にしか適用されませんから、
2? FILE には適用されません。
ですから、この場合は、ワード FILE を省略してしまうと、何も使用されません。
- * は、オプショナルであり、かつ繰り返し可能な構文エレメントを意味します。
ドット 10 進番号の後ろに * シンボルが付いている場合、
これは、その構文エレメントがオプショナルであり、繰り返し可能であることを示します。
たとえば、5.1* data-area という行がある場合、
これは、1 つ以上のデータ域を含めることもできれば、何も含めなくても良いということになります。
3*、3 HOST、3 STATE、という行であれば、
HOST、STATE、またはその両方を含めることもできれば、
何も含めなくても良いということになります。
ドット 10 進番号の後ろにアスタリスクがあり、
そのドット 10 進番号を持つ項目が他に無い場合は、その同じ項目を複数回繰り返すことができます。
ドット 10 進番号の後ろにアスタリスクがあり、
そのドット 10 進番号を持つ項目がいくつかある場合は、リストから複数の項目を使用することができますが、
それぞれの項目は 1 回ずつしか使用できません。
上の例の場合であれば、構文に HOST STATE を書くことはできますが、
HOST HOST を書くことはできないでしょう。
* シンボルは、線路構文図のループバック行と同じ働きをします。
- + は、最低 1 つは含める必要があり、
また繰り返しが可能な構文エレメントを意味します。
ドット 10 進番号の後ろに + シンボルが付いている場合、
これは、その構文エレメントを必ず含める必要があり、かつ繰り返し可能であることを示します。
たとえば、6.1+ data-area という行がある場合は、
最低 1 つのデータ域を含める必要があるが、それを複数含めることは可能である、という意味になります。
また 2+、2 HOST、2 STATE という行は、
HOST、STATE、あるいはその両方を含める必要があることを示します。
+ シンボルの場合は、
同じドット 10 進番号を持つ項目が他にないなら、その項目を繰り返すことしかできません。
+ シンボルは * シンボルと似ていて、
線路構文図のループバック行と同じ働きをします。