EBNF = Extended Backus-Naur Form. A slightly more detailed and expanded version of standard BNF (Backus-Naur Form). They are both more or less the same definition, so this one stands for both.
Essentially, the EBNF defines the rules and grammar of a programming language. Lines in the EBNF are called production rules, ie they set rules strings in the ensuing language must obey. Production rules obey the following syntax:
symbol := value1 | value2 ...
What this means is the symbol value can only be replaced in any given situation by value1 or value2. This is best explained via an example:
<equation> := <operand><operator><operand>
This simple production rule means that any valid equation in this language must follow the pattern "operand - operator - operand".
The operators and operands must also be defined. Basic examples of definitions might be:
<operator> := + | - | * | /
<operand> := <digit> | <digit><digit>
<digit> := "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "0"
Therefore, we can see a valid equation must be comprised of a one- or two-digit number, an operator, and another one- or two-digit number.
This is, of course, a very basic explanation of EBNF. It is, however, sufficient to pass GCSE and A-Level Information Systems / Computing.
This node is part of the Node your Homework project.