Backus–Naur Form (or sometimes expanded as
Backus Normal Form) — a notation for describing the syntax of computer languages.
Technically, BNFs are capable of describing
context-free languages, which is often not quite enough powerful to describe actual computer languages, but they're so intuitive that people use them anyway, and bolt on what's missing as special cases and extra constraints.
See also: