Jerarquía de Chomsky

La jerarquía de Chomsky  es una clasificación de los lenguajes formales y las gramáticas formales , según la cual se dividen en 4 tipos según su complejidad condicional. Propuesto por el profesor del MIT , el lingüista Noam Chomsky .

Clasificación de gramáticas

Según Chomsky, las gramáticas formales se pueden dividir en cuatro tipos. Para atribuir una gramática a un tipo particular, es necesario que todas sus reglas (producciones) correspondan a ciertos esquemas.

Tipo 0 - Ilimitado

Una gramática con una estructura sintagmática G es una estructura algebraica , un cuádruple ordenado (V T , V N , P, S), donde [1] :

Aquí  está el conjunto de todas las cadenas sobre el alfabeto , y  es el conjunto de cadenas no vacías sobre el alfabeto .

El tipo 0 según la clasificación de Chomsky incluye gramáticas no restringidas  - gramáticas con estructura sintagmática , es decir, todas las gramáticas formales sin excepción. Las reglas se pueden escribir como:

,

donde  es cualquier cadena no vacía que contiene al menos un símbolo no terminal [2] , y  es cualquier cadena de símbolos del alfabeto.

Debido a su complejidad, tales gramáticas no tienen aplicación práctica.

Tipo 1 - sensible al contexto

Este tipo incluye gramáticas dependientes del contexto (KZ) y gramáticas que no son abreviaturas. Para la gramática , todas las reglas son [3] :

Estas clases de gramáticas son equivalentes. Se pueden utilizar en el análisis de textos en lenguajes naturales, pero prácticamente no se utilizan en la construcción de compiladores debido a su complejidad. Para las gramáticas dependientes del contexto, se prueba el enunciado: mediante algún algoritmo, en un número finito de pasos, es posible determinar si una cadena de símbolos terminales pertenece o no a un lenguaje dado.

Tipo 2 - sin contexto

Este tipo incluye gramáticas libres de contexto (CS) . Para la gramática , todas las reglas son:

Las gramáticas COP se utilizan ampliamente para describir la sintaxis de los lenguajes informáticos (ver análisis sintáctico ).

Tipo 3 - regular

El tercer tipo incluye gramáticas regulares (automáticas), la más simple de las gramáticas formales. Son independientes del contexto, pero con una funcionalidad limitada.

Todas las gramáticas regulares se pueden dividir en dos clases equivalentes, que, para una gramática de tipo III, tendrán reglas de la siguiente forma:

Las gramáticas regulares se utilizan para describir las construcciones más simples: identificadores , cadenas , constantes , así como lenguajes ensambladores , procesadores de comandos , etc.

Clasificación de lenguas

Los lenguajes formales se clasifican según los tipos de gramáticas que los definen. Sin embargo, un mismo idioma puede estar definido por diferentes gramáticas pertenecientes a diferentes tipos. En este caso, se considera que el lenguaje pertenece al más simple de ellos. Entonces, un lenguaje descrito por una gramática con una estructura de frase, gramáticas sensibles al contexto y libres de contexto será libre de contexto.

Al igual que con las gramáticas, la complejidad de una lengua está determinada por su tipo. Los más complejos son los idiomas con una estructura de frase (esto incluye los idiomas naturales), luego, los idiomas KZ, los idiomas KS y los más simples, los idiomas regulares.

Notas

  1. Cook, Baze, 1990 , pág. 258.264.
  2. Serebryakov V. A., Galochkin M. P., Gonchar D. R., Furugyan M. G. Teoría e implementación de lenguajes de programación. - M. : MZ-Press, 2006. - S. 21. - ISBN 5-94073-094-9 .
  3. Cook, Baze, 1990 , pág. 268.

Literatura