El Backus-Naur form (BNF) (también conocido como Backus-Naur formalism, Backus normal form o Panini-Backus Form) es una metasintaxis usada para expresar gramáticas libres de contexto: es decir, una manera formal de describir lenguajes formales.
El BNF se utiliza extensamente como notación para las gramáticas de los lenguajes de programación de la computadora, de los sistemas de comando y de los protocolos de comunicación, así como una notación para representar partes de las gramáticas de la lengua natural (por ejemplo, el metro en la poesía de Venpa). La mayoría de los libros de textos para la teoría y/o la semántica del lenguaje de programación documentan el lenguaje de programación en BNF. Algunas variantes, tales como la augmented Backus-Naur form (ABNF), tienen su propia documentación.
Descripción
Una especificación de BNF es un sistema de reglas de la derivación, escrito como
Ejemplo:

Esto se traduce a español como:
Un apartado posta consiste de una ciudad, seguida por una coma, seguida por un código del estado (recuerden que es un ejemplo que ocurre en EU), seguido por un código postal y este seguido por un salto de línea (end-of-line).

se presume para ser el carácter ", y elpara ser el fin de línea apropiado especificado (en ASCII, retorno de carro y/o línea nueva, dependiendo del sistema operativo). El y el deben ser substituidos con nombre/etiqueta o el texto literal de una regla declarada, respectivamente.
Hay muchas variantes y extensiones de BNF, posiblemente conteniendo algunos o todos los comodines de expresiones regulares como un "*" o "+". El Extended Backus-Naur form (EBNF) es una variante común. De hecho el ejemplo anterior no es la forma pura inventada para el informe del ALGOL 60. La notación de los corchetes "[ ]" fue introducida algunos años más tarde en la definición de PL/I de la IBM pero ahora se reconoce universal. La ABNF es otra extensión usada comúnmente para describir protocolos del IETF.
Las expresiones gramaticales de analizadores sintácticos construidas en BNF y las notaciones de expresión regular para formar una clase alternativa de la gramática formal, que es esencialmente analítica más que generativa en carácter.
Proponiendo las reglas
1. S → SS
2. S → (S)
3. S → ()
Aplicando las reglas planteadas

NOTA: el subíndice utilizado indica la regla utilizada







Finalmente 
Este autómata no se puede expresar en Expresión Regular ya que observamos que en sentido de las flechas que van hacia el estado q3 , es el mismo, y el autómata en este caso no llegaría al estado final por los caminos (a,b,a) , (a,b,b) y (a,a,b).

Finalmente tenemos:














