BNF記法
code:bnf
<postal-address> ::= <name-part> <street-address> <zip-part>
<name-part> ::= <personal-part> <last-name> <opt-jr-part> <eol>
| <personal-part> <name-part> <eol>
<personal-part> ::= <first-name> | <initial> "."
<street-address> ::= <opt-apt-num> <house-num> <street-name> <eol>
<zip-part> ::= <town-name> "," <state-code> <zip-code> <eol>
住所(postal-address)は、名前(name-part)の後に通りの住所(street-address)があり、その後に郵便番号(zip-part)がある。
name-part は個人名(personal-part)の後に姓(last-name)が続き、さらにオプションの "jr-part"(Jr. や Sr. 、あるいは○世など)があり、改行コードがある。あるいは、個人名の後に name-part がある(こちらの規則は再帰的定義になっている。ミドルネームが続く場合を表している)。
個人名(personal-part)はファーストネームか、イニシャルにドットが付いたものである。
通りの住所(street-address)は、オプションのアパート指定があり、番地(house-number)、通りの名前(street-name)、改行コードの順となる。
郵便番号(zip-part)は、タウン名(town-name)、カンマ、州コード(state-code)、郵便番号(ZIP-code)、改行コードの順となる。
IETFのプロトコルとかでも使わている
構文規則を指定するための言語
メタ言語
https://ja.wikipedia.org/wiki/バッカス%E3%83%BBナウア記法