

EBNF is used to make a formal description of a formal language such as a computer programming language. In computer science, extended Backus–Naur form ( EBNF) is a family of metasyntax notations, any of which can be used to express a context-free grammar. ( May 2020) ( Learn how and when to remove this template message) Please help to improve this article by introducing more precise citations. (next): $\S 1.This article includes a list of general references, but it lacks sufficient corresponding inline citations.

Ryan: Logic in Computer Science: Modelling and reasoning about systems . (next): Chapter $2$: Propositional Calculus: $\S 2.2$: Propositional formulas Ben-Ari: Mathematical Logic for Computer Science . This entry was named for John Warner Backus and Peter Naur. However, after Peter Naur had worked on refining the work initially done by John Warner Backus, his name was added.Īlthough Peter Naur would prefer it kept its old name, the current name is prevalent. That is, non-terminals are analogous to grammatical clauses of a natural language, while terminals are analogous to its words.īackus-Naur form was originally called Backus normal form. Symbols that never appear on the left hand side of a specification in Backus-Naur form are called terminals. Symbols that appear on the left hand side of a specification in Backus-Naur form are called non-terminals.

Let $\meta $ on the left hand side may be replaced by one of the $n$ words on the right hand side.Ī definition of an object language $\LL$ in Backus-Naur form is called a specification of $\LL$. A collection of metasymbols, typically rendered as.The primitive symbol ::= which means consists of.

The alphabet of Backus-Naur form has the following components: Backus-Naur Form (abbrevated BNF) is a ( formal) metalanguage for defining the syntax of a formal language $\LL$.Īs such, it is a formal grammar for $\LL$.īNF is only applicable to formal languages that use the collation system of words and concatenation.
