Backus-Naur Form (BNF)
Backus-Naur Form (BNF) is a notation used to express the grammar of programming languages and data structures. It provides a formal way to describe the syntax rules, using symbols and production rules. Each rule defines how a particular symbol can be replaced with other symbols or sequences of symbols.
BNF consists of a set of definitions, where non-terminal symbols are defined in terms of other symbols. The use of angle brackets, such as <symbol>, indicates non-terminals, while terminal symbols are written as plain text. This structured approach helps in designing compilers and interpreters for programming languages.