Extended Backus-Naur Form (EBNF) is a useful notation for describing a program language's syntax and grammar in a concise and precise manner. For more general information about EBNF please consult the web (e.g. http://en.wikipedia.org/wiki/Extended_Backus-Naur_form).