Estudios de Lingüística del Español (ELiEs) |
Lenguajes de programación, lenguajes de marcado y modelos hipermedia: una visión interesada de la evolución de los lenguajes informáticos / A. Fernández-Valmayor, A. Navarro, B. Fernández-Manjón y J. L. Sierra |
2.2 Descripción de lenguajes informáticos
Los métodos utilizados para describir los primeros lenguajes informáticos fueron, en gran medida, informales: explicaciones y descripciones en lengua natural. En el caso de LISP el esfuerzo formalizador fue mayor, aunque se utilizó una sintaxis extremadamente simple, con las listas como las únicas estructuras del lenguaje y empleadas tanto para representar los datos como los programas. Esta tendencia cambió radicalmente, no obstante, con el lenguaje ALGOL-60 (ALGOritmic Language) (Natur, 1960).
ALGOL-60 es, sin duda, el lenguaje que más influye en el desarrollo de los lenguajes informáticos tal y como los conocemos hoy en día. Como FORTRAN, ALGOL-60 fue concebido para ser usado en el cálculo científico y, aunque nunca llegó a alcanzar la difusión de FORTRAN o COBOL, tuvo una importancia crucial desde el punto de vista teórico por su influencia en el desarrollo de muchos lenguajes posteriores. Para definir ALGOL-60 John Backus y Peter Naur decidieron utilizar una notación equivalente a la utilizada por N. Chomsky para describir la estructura sintáctica de los lenguajes naturales (Chomsky, 1956): las gramáticas independientes del contexto. Esta notación se generalizaría después bajo la denominación de Backus-Naur-Form o BNF, y constituye el primer ejemplo claro de la utilización en informática de un metalenguaje o lenguaje utilizado para definir otros lenguajes.
BNF es un metalenguaje para definir sintaxis. No obstante, la sintaxis es únicamente uno de los aspectos de los lenguajes de programación. Otro aspecto esencial es su semántica: mientras que la sintaxis del lenguaje se refiere a la forma de sus sentencias, la semántica se refiere a su significado; mientras que el uso de gramáticas independientes del contexto se ha convertido, desde su uso en el diseño de ALGOL-60, en el mecanismo básico de descripción de la sintaxis, en lo referente a la semántica no existe un acuerdo universalmente aceptado. De esta forma, es posible encontrar múltiples enfoques de descripción semántica, cada uno centrado en un aspecto particular del problema (ver, por ejemplo, Manna, 1974; Story, 1981; Plotkin, 1981).
De especial relevancia práctica para la construcción de procesadores de lenguajes han sido las corrientes de descripción semántica basadas en traducción dirigida por la sintaxis (Aho, 1986). Este enfoque fue ya utilizado como base para la construcción del compilador de ALGOL-60, donde se hizo uso de los trabajos de Irons sobre traducción dirigida por sintaxis (Irons, 1961) para los que la traducción de una frase podía sintetizarse a partir de la traducción de las partes de la misma. Por su parte, los trabajos de Knuth (1968), que dieron lugar a las gramáticas de atributos, introdujeron mecanismos apropiados para el manejo de dependencias contextuales en el proceso mediante la inclusión de información no únicamente sintetizada sino también de información heredada. Las gramáticas de atributos sientan las bases de las técnicas de construcción de traductores y procesadores de lenguajes utilizadas hasta hoy.
Estudios de Lingüística del Español (ELiEs), vol. 24 (2006) | ISSN: 1139-8736 |