Page 20 - LENGUAJES FORMALES AUTOMATAS Y COMPILADOS
P. 20

20


                                        GRAMÁTICAS Y LENGUAJES FORMALES

                  El desarrollo de los ordenadores en la década de los 40, con la introducción de los programas en
                  la memoria principal y posteriormente con los lenguajes de programación de alto nivel, propician
                  la distinción entre lenguajes formales, con reglas sintácticas y semánticas rígidas, concretas y bien
                  definidas, de los lenguajes naturales como el inglés, donde la sintaxis y la semántica no se pueden
                  controlar fácilmente. Los intentos de formalizar los lenguajes naturales llevan a la construcción
                  de  gramáticas  como  una  forma  de  describir  estos  lenguajes,  utilizando  para  ello  reglas  de
                  producción para construir las frases del lenguaje. Así las cosas, se establece que se puede entonces
                  caracterizar un lenguaje mediante las
                  Reglas de una gramática adecuada.

                   Noam Chomsky propone en 1956 tres modelos para la descripción de lenguajes,
                  que son la base de su futura jerarquía de los tipos de lenguajes (1959), que ayudo
                  también en el desarrollo de los lenguajes de programación. Chomsky establecido
                  una clasificación de gramáticas de acuerdo con el formato de sus producciones y
                  distinguió cuatro clases fundamentales de lenguajes y relaciones de inclusión entre
                  ellas.
                                                                                                   Noam Chomsky
                  La  teoría  de  los  lenguajes  formales  resulto  tener  una  relación  sorprendente  con  la  teoría  de
                  autómatas y la computabilidad. Paralelamente a la jerarquía de lenguajes existe otra equivalente
                  de máquinas abstractas, de tal forma que, a cada una de las clases de lenguajes definidas en la
                  jerarquía de Chomsky a partir de restricciones impuestas a las gramáticas, le corresponde un tipo
                  de maquina abstracta, que no es otra cosa que un método reconocedor para la descripción de
                  lenguajes. La relación la podemos observar en la siguiente relación.

                  LENGUAJE TIPO 0 → MÁQUINA DE TURING
                  .
                  LENGUAJE TIPO 1 → AUTÓMATAS LINEALMENTE ACOTADOS

                  LENGUAJE TIPO 2 → AUTÓMATAS CON PILA

                  LENGUAJE TIPO 3 → AUTÓMATAS FINITOS

                  Cada uno de estos tipos de máquinas es capaz de resolver problemas cada vez más complejos,
                  desde  los  autómatas  finitos  (que  son  los  más  simples)  hasta  las  Máquinas  de  Turing  que
                  determinan el límite de los procesos computables. Se puede llegar así, de una forma casi natural,
                  a  considerar  las  Máquinas  de  Turing,  establecidas  casi  20  años  antes,  como  maquinas
                  reconocedoras de los lenguajes estructurados por frases (tipo 0) e incluso a interpretar la tesis de
                  Turing en términos de que un sistema computacional nunca podrá efectuar un análisis sintáctico
                  de  aquellos  lenguajes  que  están  por  encima  de  los  lenguajes  estructurados  por  frases  en  la
                  jerarquía de Chomsky.
   15   16   17   18   19   20   21   22   23   24   25