BNF

Backus–Naur Form, sometimes expanded as Backus Normal Form, is a notation for describing the syntax of computer languages.

See Also

BNF for Tcl
RFC 5234 , Augmented BNF for Syntax Specifications
Generating Syntax Diagrams Using Tk

BNF(-like) parsers for Tcl

yeti
a yacc-like parser generator for itcl
byacc
at http://www.bodenstab.org/
ebnf
in http://chiselapp.com/user/aspect/repository/tcl-hacks/

Description

Technically, BNFs are capable of describing context-free languages, which is often not quite powerful enough 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.

For an example, see http://bernhard.userweb.mwn.de/Algol-BNF.html