Opentopia Directory Encyclopedia Tools

Extended Backus–Naur form

Encyclopedia : E : EX : EXT : Extended Backus–Naur form


The extended Backus–Naur form (EBNF) is an extension of the basic Backus–Naur form (BNF) metasyntax notation. Originally developed by Niklaus Wirth, the most commonly used variants of EBNF are currently defined by standards, most notably ISO-14977.

1. The following conventions are used:

2. The normal character representing each operator of Extended BNF and its implied precedence is (highest precedence at the top):
* repetition-symbol
- except-symbol
, concatenate-symbol
| definition-separator-symbol
= defining-symbol
; terminator-symbol
3. The normal precedence is over-ridden by the following bracket pairs:
´  first-quote-symbol            first-quote-symbol  ´
"  second-quote-symbol          second-quote-symbol  "
(* start-comment-symbol          end-comment-symbol *)
(  start-group-symbol              end-group-symbol  )
[  start-option-symbol            end-option-symbol  ]

?  special-sequence-symbol   special-sequence-symbol ?
As examples, the following syntax-rules illustrate the facilities for expressing repetition:
aa = "A";
bb = 3 * aa, "B";
cc = 3 * [aa], "C";
dd = , "D";
ee = aa, , "E";
ff = 3 * aa, 3 * [aa], "F";
gg = , "D";
Terminal-strings defined by these rules are as follows:
aa: A
bb: AAAB
cc: C AC AAC AAAC
dd: D AD AAD AAAD AAAAD etc.
ee: AE AAE AAAE AAAAE AAAAAE etc.
ff: AAAF AAAAF AAAAAF AAAAAAF
gg: D AAAD AAAAAAD etc.
When Niklaus Wirth was developing Pascal, he simplified Backus–Naur Form to create EBNF.

All these constructs can be expressed in plain BNF using extra productions and have been added for readability and succinctness.

There is an International standard ([ISO 14977]) that defines an EBNF. This is now freely available electronically as a [zipped pdf file] from ISO.

The W3C used [a different EBNF] to specify the XML syntax.

The British Standards Institute published a standard for an EBNF: BS 6154 in 1981.

The IETF uses Augmented BNF (ABNF), specified in RFC 2234.

See also

References

Publicly available (zipped) document: [link ISO IEC 14977 E]

External links

This article was originally based on material from the Free On-line Dictionary of Computing, which is [Foldoc licenselicensed] under the GFDL.

 


From Wikipedia, the Free Encyclopedia. Original article here. Support Wikipedia by contributing or donating.
All text is available under the terms of the GNU Free Documentation License See Wikipedia Copyrights for details.

Search Titles
0123456789
ABCDEFGHIJ
KLMNOPQRST
UVWXYZ?

E-mail this article to:

Personal Message: