Difference between revisions of "Backus-Naur form"

From PKC
Jump to navigation Jump to search
Line 13: Line 13:


=Key-value Pair Interpretation=
=Key-value Pair Interpretation=
In the example shown above, '''<symbol>''' denotes a key, and the '''__expression__''' denotes a value.
In the example shown above, <code><symbol></code> denotes a key, and the <code>__expression__</code> denotes a value.

Revision as of 11:52, 13 May 2022

Backus-Naur Form(Q211577), often abbreviated as BNF, is one of the two main notation techniques for context-free grammars in computer science.

BNF is a formal language that can be denoted in a collection of key-value pairs. For instance:

  <symbol> ::= __expression__
  • <symbol>is a nonterminal (variable) and the __expression__ consists of one or more sequences of either terminal or nonterminal symbols;
  • =::= means that the symbol on the left must be replaced with the expression on the right.
  • more sequences [of symbols] are separated by the vertical bar "|", indicating a choice, the whole being a possible substitution for the symbol on the left.

Symbols that never appear on a left side are terminals. On the other hand, symbols that appear on a left side are non-terminals and are always enclosed between the pair <>.

Key-value Pair Interpretation

In the example shown above, <symbol> denotes a key, and the __expression__ denotes a value.