RFC 2234 (rfc2234) - Page 3 of 14


Augmented BNF for Syntax Specifications: ABNF



Alternative Format: Original Text Document



RFC 2234             ABNF for Syntax Specifications        November 1997


   Unlike original BNF, angle brackets ("<", ">") are not  required.
   However, angle brackets may be used around a rule name whenever their
   presence will facilitate discerning the use of  a rule name.  This is
   typically restricted to rule name references in free-form prose, or
   to distinguish partial rules that combine into a string not separated
   by white space, such as shown in the discussion about repetition,
   below.

2.2  Rule Form

   A rule is defined by the following sequence:

        name =  elements crlf

   where  is the name of the rule,  is one or more rule
   names or terminal specifications and  is the end-of- line
   indicator, carriage return followed by line feed.  The equal sign
   separates the name from the definition of the rule.  The elements
   form a sequence of one or more rule names and/or value definitions,
   combined according to the various operators, defined in this
   document, such as alternative and repetition.

   For visual ease, rule definitions are left aligned.  When a rule
   requires multiple lines, the continuation lines are indented.  The
   left alignment and indentation are relative to the first lines of the
   ABNF rules and need not match the left margin of the document.

2.3  Terminal Values

   Rules resolve into a string of terminal values, sometimes called
   characters.  In ABNF a character is merely a non-negative integer.
   In certain contexts a specific mapping (encoding) of values into a
   character set (such as ASCII) will be specified.

   Terminals are specified by one or more numeric characters with the
   base interpretation of those characters indicated explicitly.  The
   following bases are currently defined:

        b           =  binary

        d           =  decimal

        x           =  hexadecimal








Crocker & Overell           Standards Track