Its a basically metalanguage used to formally describe the syntax of a language. Backus-Naur Form (BNF) is a meta syntax used to express context-free grammars, It is a formal way to describe formal languages.

John Backus and Peter Naur developed a context free grammar to define the syntax of a programming language by using two sets of rules, Which is :-