RFC5234 - Augmented BNF for Syntax Specifications: ABNF

return to the IETF Standards

Data sheet for RFC5234 Augmented BNF for Syntax Specifications: ABNF (ABNF)

Title	Augmented BNF for Syntax Specifications: ABNF
Acronym	ABNF
Version	2008
Document Number	RFC5234
Release Date	January 2004
Reference	https://tools.ietf.org/html/rfc5234
Notes	Also see RFC7405 - Case-Sensitive String Support in ABNF

Note: The following is an excerpt from the official IETF RFC. It is provided here as a convenience and is not authoritative. Refer to the original document as the authoritative reference.

Introduction

Internet technical specifications often need to define a formal syntax and are free to employ whatever notation their authors deem useful. Over the years, a modified version of Backus-Naur Form (BNF), called Augmented BNF (ABNF), has been popular among many Internet specifications. It balances compactness and simplicity with reasonable representational power. In the early days of the Arpanet, each specification contained its own definition of ABNF. This included the email specifications, [RFC733] and then [RFC822], which came to be the common citations for defining ABNF. The current document separates those definitions to permit selective reference. Predictably, it also provides some modifications and enhancements.

The differences between standard BNF and ABNF involve naming rules, repetition, alternatives, order-independence, and value ranges. Appendix B supplies rule definitions and encoding for a core lexical analyzer of the type common to several Internet specifications. It is provided as a convenience and is otherwise separate from the meta language defined in the body of this document, and separate from its formal status.