stringtranslate.com

Gramática de afijos

Una gramática de afijos es un formalismo gramatical de dos niveles utilizado para describir la sintaxis de los lenguajes, principalmente los 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 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 , Cuarteto 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 cuerdas se publicó en 1968, como Informe del Centro Matemático 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 en los no terminales (los afijos ) se usan como argumentos. Si el mismo afijo aparece varias veces en una regla, su valor debe concordar , es decir, debe ser el mismo en todas partes. En algunos tipos de gramática de afijos, son posibles relaciones más complejas entre los valores de los afijos.

Ejemplo

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

OraciónSujeto Predicado
SujetoSustantivo
PredicadoVerbo Objeto
ObjetoSustantivo
Sustantivo → Juan
Sustantivo → María
Sustantivo → niños
Sustantivo → padres
Verbo → gustar
Verbo → le gusta
Verbo → ayudar
Verbo → ayuda

Esta gramática libre de contexto describe oraciones simples como

A juan 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 amplia gama de oraciones en inglés, por lo que este es un enfoque prometedor para describir la sintaxis del inglés.

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

A juan le gustan los niños
Los niños ayudan a los padres

Estas oraciones son incorrectas: en inglés, el sujeto y el verbo tienen un número gramatical , que debe concordar.

Una gramática de afijos puede expresar esto directamente:

OraciónSujeto + número Predicado + número
Sujeto + númeroSustantivo + número
Predicado + númeroVerbo + objeto número
ObjetoSustantivo + número
Sustantivo + singular → Juan
Sustantivo + singular → María
Sustantivo + plural → niños
Sustantivo + plural → padres
Verbo + singular → le gusta
Verbo + plural → gustar
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 debería leerse en su lugar

A John le gusta él mismo

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

Tipos

En el tipo más simple de gramática de afijos, los afijos solo pueden tomar valores de un dominio finito y los valores de los afijos solo 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 reglas. Los rangos de valores permitidos para los afijos se pueden describir con reglas gramaticales independientes del 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 . Estas 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 los afijos solo se pueden manipular con concatenación de cadenas, este formalismo es Turing completo ; por lo tanto, incluso las preguntas más básicas sobre el lenguaje descrito por una gramática 2VW arbitraria son indecidibles en general.

Las gramáticas afijas 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 un 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 de atributos, aplicaciones y sistemas. 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). Mathematical Centre . 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 dos 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.º 1 en do mayor para 2 violines, viola y violonchelo (Informe técnico). Mathematical Centre . MR96.