Language:
Free Online Dictionary|3Dict

backusnaur form

Source : Free On-Line Dictionary of Computing

Backus-Naur Form
     
         (BNF, originally "Backus Normal Form") A
        formal {metasyntax} used to express {context-free grammars}.
        Backus Normal Form was renamed Backus-Naur Form at the
        suggestion of {Donald Knuth}.
     
        BNF is one of the most commonly used metasyntactic notations
        for specifying the {syntax} of programming languages, command
        sets, and the like.  It is widely used for language
        descriptions but seldom documented anywhere (how do you
        document a {metasyntax}?), so that it must usually be learned
        by osmosis (but see {RFC 2234}).
     
        Consider this BNF for a US postal address:
     
          ::=   
     
          ::=  |  "."
     
          ::=   [] 
        	       |  
     
          ::= []   
     
          ::=  ","   
     
        This translates into English as: "A postal-address consists of
        a name-part, followed by a street-address part, followed by a
        zip-code part.  A personal-part consists of either a first
        name or an initial followed by a dot.  A name-part consists of
        either: a personal-part followed by a last name followed by an
        optional "jr-part" (Jr., Sr., or dynastic number) and
        end-of-line, or a personal part followed by a name part (this
        rule illustrates the use of recursion in BNFs, covering the
        case of people who use multiple first and middle names and/or
        initials).  A street address consists of an optional apartment
        specifier, followed by a street number, followed by a street
        name.  A zip-part consists of a town-name, followed by a
        comma, followed by a state code, followed by a ZIP-code
        followed by an end-of-line."
     
        Note that many things (such as the format of a personal-part,
        apartment specifier, or ZIP-code) are left unspecified.  These
        lexical details are presumed to be obvious from context or
        specified somewhere nearby.
     
        There are many variants and extensions of BNF, possibly
        containing some or all of the {regexp} {wild cards} such as
        "*" or "+".  {EBNF} is a common one.  In fact the example
        above isn't the pure form invented for the {ALGOL 60} report.
        "[]" was introduced a few years later in {IBM}'s {PL/I}
        definition but is now universally recognised.  {ABNF} is
        another extension.
     
        (1997-11-23)
Sort by alphabet : A B C D E F G H I J K L M N O P Q R S T U V W X Y Z