EBNF
The extended Backus–Naur form (EBNF) is a family of meta-syntax notations can be used to express a context-free grammar. EBNF is used to make a formal description of a formal language such as a computer programming language. ``` | alternation () grouping [] option (0 or 1 times) {} repetition (0 to n times) ```