1

BNF (または EBNF) 文法の最初 (最上位) の規則がエントリ ポイントを表すことは必須ですか? たとえば、ウィキペディアの BNF ページから、以下の米国郵便住所の文法には<postal-address>、最初の派生規則とエントリ ポイントがあります。

<postal-address> ::= <name-part> <street-address> <zip-part>

      <name-part> ::= <personal-part> <last-name> <opt-suffix-part> <EOL> 
                    | <personal-part> <name-part>

  <personal-part> ::= <first-name> | <initial> "." 

 <street-address> ::= <house-num> <street-name> <opt-apt-num> <EOL>

       <zip-part> ::= <town-name> "," <state-code> <ZIP-code> <EOL>

<opt-suffix-part> ::= "Sr." | "Jr." | <roman-numeral> | ""
    <opt-apt-num> ::= <apt-num> | ""

<postal-address>たとえば、2 番目の位置にルールを配置して、次の代替形式で文法を提供することは自由ですか。

      <name-part> ::= <personal-part> <last-name> <opt-suffix-part> <EOL> 
                    | <personal-part> <name-part>

 <postal-address> ::= <name-part> <street-address> <zip-part>

  <personal-part> ::= <first-name> | <initial> "." 

 <street-address> ::= <house-num> <street-name> <opt-apt-num> <EOL>

       <zip-part> ::= <town-name> "," <state-code> <ZIP-code> <EOL>

<opt-suffix-part> ::= "Sr." | "Jr." | <roman-numeral> | ""
    <opt-apt-num> ::= <apt-num> | ""
4

1 に答える 1