BNF記法
例として、アメリカ合衆国での住所表記(郵便)を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>
これはこれとこれから成っていて、これはこれから成っていて……みたいなのを厳密に定義するやつ
原始的に色々足りないので拡張もされてるらしい
BNF には様々な派生と拡張が存在し、一般に単純さと簡潔さのために拡張/修正されるか、特定の用途向けに適用させるべく拡張/修正されている。特によく行われる拡張は * や + といった正規表現の繰り返しオペレータの導入である。