<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JIS X 3015</anchor>:2005 (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">C#</anchor>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IDT</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO/IEC 23270</anchor>:2003)
は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文法</anchor>の定義に次のような表記法を使っています
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JIS X 3015</anchor>:2005 5.</src>。</p><ul><li><code class="ABNF"><dfn>文法</dfn> := *文法規則</code></li><li><code class="ABNF"><dfn>文法規則</dfn> := 構文文法式 / 字句文法式</code></li><li><code class="ABNF"><dfn>構文文法式</dfn> := 左辺 &quot;:&quot; (改行 右辺 / 多数選択)</code><ul><li>右辺で左辺を定義。</li></ul></li><li><code class="ABNF"><dfn>字句文法式</dfn> := 左辺 &quot;::&quot; (改行 右辺 / 多数選択)</code><ul><li>右辺で左辺を定義。</li></ul></li><li><code class="ABNF"><dfn>多数選択</dfn> := &quot;次のいずれか&quot; 改行 1*(水平空白 選択肢) 改行</code><ul><li><q>余りにも個数が多い場合に</q>使用。</li></ul></li><li><code class="ABNF"><dfn>左辺</dfn> := 非終端記号</code></li><li><code class="ABNF"><dfn>右辺</dfn> := 1*(水平空白 選択肢 改行)</code></li><li><code class="ABNF"><dfn>選択肢</dfn> := 項 *(水平空白 項) / 文章による説明</code><ul><li>表記法の章に説明がありませんが、
完全に人間向けの文で記述されているものが多々あります。</li><li>文章の説明の中に非終端記号が含まれているものもあります。</li></ul></li><li><code class="ABNF"><dfn>項</dfn> := (非終端記号 / 終端記号) [省略可能] </code></li><li><code class="ABNF"><dfn>省略可能</dfn> := <sub xml:lang="en">opt</sub></code><ul><li>終端記号の後に付けられるのかは明記されておらず、
実際にそのような例はありません。</li></ul></li><li><code class="ABNF"><dfn>非終端記号</dfn> := &quot;《&quot; 1*文字 &quot;》&quot;</code><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JIS</anchor> では日本語に訳されています。</li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">英数字</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">仮名漢字</anchor>の他に <code class="char">#</code> も使われています。</li></ul></li><li><code class="ABNF"><dfn>終端記号</dfn> := &lt;1*(<code class="char"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">U+0020</anchor></code>〜<code class="char"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">U+007F</anchor></code>) (<q><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">タイプライタ体</anchor></q>)&gt;</code><ul><li>さすがに <code class="char"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">U+0020</anchor></code> や <code class="char"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">U+007F</anchor></code>
を終端で使っている例はありません。</li></ul></li></ul></body></html>