BNF
Backus-Naur form バッカス・ナウア記法
文法を定義するためのメタ言語
正規表現と似たようなこともできなくはない
そのままでは使いにくいので拡張された記法がいくつかある
ABNF RFC 5234
EBNF ISO
BNF記法 - XML
EBML RFC 8794 バイナリメタ言語