Estaba leyendo el artículo Conceptos fundamentales en lenguajes de programación de C. Strachey el otro día, en el que leía algo que me resultaba bastante extraño. Citando directamente (con la parte extraña resaltada por mí):
Frente a la situación tal como existe hoy, donde existe un método generalmente conocido para describir una cierta clase de gramáticas (conocidas como BNF o sin contexto), el primer instinto de estos matemáticos parece ser investigar los límites de BNF: qué ¿Se puede expresar en BNF incluso a costa de construcciones muy engorrosas y artificiales? Esta puede ser una cuestión de cierto interés matemático (lo que sea que eso signifique), pero tiene muy poca relevancia para los lenguajes de programación, donde es más importante descubrir mejores métodos para describir la sintaxis que BNF (que ya es inconveniente e inadecuado para ALGOL) de lo que es examinar los posibles límites de lo que ya sabemos que es una técnica insatisfactoria .
¿Hay alguna razón específica por la cual el autor considera que el BNF es una técnica insatisfactoria para describir idiomas? ¿Podría ser porque solo puede describir la sintaxis y no la semántica con una única gramática BNF (sin embargo, puede extenderla para describir la semántica operativa convirtiéndola en una gramática de atributos)?