stringtranslate.com

Gramática de afijos

Una gramática de afijos es un formalismo gramatical de dos niveles que se utiliza para describir la sintaxis de idiomas, principalmente lenguajes informáticos , utilizando un enfoque basado en cómo se describe típicamente el lenguaje natural. [1]

El formalismo fue inventado en 1962 por Lambert Meertens mientras desarrollaba una gramática para generar oraciones en inglés. [2] Meertens también aplicó gramáticas de afijos a la descripción y composición de la música, y obtuvo un premio especial del jurado en el Congreso de la Federación Internacional para el Procesamiento de la Información (IFIP) de 1968 en Edimburgo por su cuarteto de cuerdas generado por computadora , Quartet No. 1. en do mayor para 2 violines, viola y violonchelo, basado en la primera gramática de afijos no libre de contexto . [3] [4] El cuarteto de cuerda se publicó en 1968, como Mathematical Center Report MR 96 . [5]

Las reglas gramaticales de una gramática de afijos son las de una gramática libre de contexto , excepto que ciertas partes de los no terminales (los afijos ) se utilizan como argumentos. Si el mismo afijo aparece varias veces en una regla, su valor debe coincidir , es decir, debe ser el mismo en todas partes. En algunos tipos de gramática de afijos, son posibles relaciones más complejas entre valores de afijos.

Ejemplo

Podemos describir un fragmento extremadamente simple de inglés de la siguiente manera:

OraciónPredicado Sujeto
AsuntoSustantivo
PredicadoVerbo Objeto
ObjetoSustantivo
Sustantivo → Juan
Sustantivo → María
Sustantivo → niños
Sustantivo → padres
Verbo → como
Verbo → le gusta
verbo → ayudar
Verbo → ayuda

Esta gramática libre de contexto describe oraciones simples como

A John le gustan los niños.
María ayuda a Juan
los niños ayudan a los padres
padres como juan

Con más sustantivos y verbos, y más reglas para introducir otras partes del discurso, se puede describir una gran variedad de oraciones en inglés; por lo que éste es un enfoque prometedor para describir la sintaxis del inglés.

Sin embargo, la gramática dada también describe oraciones como

A John le gustan los niños.
los niños ayudan a los padres

Estas oraciones están equivocadas: en inglés, sujeto y verbo tienen un número gramatical , que debe coincidir.

Una gramática de afijos puede expresar esto directamente:

OraciónSujeto + número Predicado + número
Sujeto + númeroSustantivo + número
Predicado + númeroVerbo + número Objeto
ObjetoSustantivo + número
Sustantivo + singular → Juan
Sustantivo + singular → María
Sustantivo + plural → niños
Sustantivo + plural → padres
Verbo + singular → le gusta
Verbo + plural → como
Verbo + singular → ayuda
Verbo + plural → ayuda

Esta gramática sólo describe oraciones correctas en inglés, aunque se podría argumentar que

A Juan le gusta Juan

sigue siendo incorrecto y en su lugar debería leerse

John se gusta a sí mismo

Esto también se puede incorporar utilizando afijos, si los medios para describir las relaciones entre diferentes valores de afijos son lo suficientemente potentes. Como se señaló anteriormente, estos medios dependen del tipo de gramática de afijos elegido.

Tipos

En el tipo más simple de gramática de afijos, los afijos sólo pueden tomar valores de un dominio finito, y los valores de los afijos sólo pueden relacionarse mediante concordancia, como en el ejemplo. Aplicados de esta manera, los afijos aumentan la compacidad de las gramáticas, pero no añaden poder expresivo.

Otro enfoque es permitir que los afijos tomen cadenas arbitrarias como valores y permitir que se utilicen concatenaciones de afijos en las reglas. Los rangos de valores permitidos para los afijos se pueden describir con reglas gramaticales libres de contexto. Esto produce el formalismo de las gramáticas de dos niveles , también conocidas como gramáticas de Van Wijngaarden o gramáticas 2VW . Estos se han utilizado con éxito para describir lenguajes complicados, en particular, la sintaxis del lenguaje de programación Algol 68 . Sin embargo, resulta que, aunque los valores de afijos sólo pueden manipularse con concatenación de cadenas, este formalismo es completo de Turing ; por lo tanto, incluso las preguntas más básicas sobre el lenguaje descrito por una gramática arbitraria de 2VW son indecidibles en general.

Las gramáticas de afijos extendidas , desarrolladas en la década de 1980, son una versión más restringida de la misma idea. Se aplicaron principalmente para describir la gramática del lenguaje natural, por ejemplo el inglés.

Otra posibilidad es permitir que los valores de los afijos se calculen mediante código escrito en algún lenguaje de programación. Se han utilizado dos enfoques básicos:

Referencias

  1. ^ Koster, Cornelis HA. "Gramáticas de afijos para lenguajes naturales". Gramáticas, aplicaciones y sistemas de atributos. Springer, Berlín, Heidelberg, 1991.
  2. ^ Koster, CHA (1965). Sobre la construcción de procedimientos ALGOL para generar, analizar y traducir oraciones en lenguajes naturales (Informe técnico). Centro Matemático . MR72.
  3. ^ Kassler, Michael (1969). "Informe desde Edimburgo". Perspectivas de la nueva música . 7 (2): 175-177. doi :10.2307/832302. JSTOR  832302..
  4. ^ Cuarteto nº 1 en do mayor para 2 violines, viola y violonchelo. Partitura y enlaces a archivos de sonido mp3 de una interpretación del Amsterdam String Quartet (1968).
  5. ^ Meertens, Lambert (1968). Cuarteto núm. 1 en do mayor para 2 violines, viola y violonchelo (Informe técnico). Centro Matemático . MR96.