Lenguajes Formales 1995
Lenguajes Formales 1995
Lenguajes Formales 1995
Unicosta
2022 2
¿Qué son los
lenguajes formales?
• Un lenguaje formal es un conjunto finito o infinito de
cadenas finitas de símbolos primitivos.
Ejemplo
Un ejemplo de ello son el lenguaje de los números
0,1,2,3,4,5,6,7,8,9
• Un lenguaje formal L es el conjunto de cadenas de
caracteres que pueden ser formados a partir de letras
tomadas de un alfabeto Σ, y que obedecen unas reglas
gramaticales determinadas, una gramática formal. El
número de cadenas que pueden formarse a partir de un
cierto alfabeto es, en principio, infinito. Y el conjunto de
todas ellas se denomina clausura de Kleene Σ*.
características
• Dichas cadenas están formadas gracias a un alfabeto
y a una gramática que están formalmente
especificados
• El alfabeto es un conjunto finito no vacío de símbolos
• La gramática es un conjunto finito de reglas para
formar cadenas finitas juntando símbolos del
alfabeto
• A cada cadena de símbolos de un lenguaje formal se
le llama fórmula bien formada (o palabra) del
lenguaje
¿En que se diferencian de
los lenguajes naturales?
• El Lenguaje Natural se utiliza a diario como medio de
comunicación entre humanos. El castellano, el inglés o el
francés son ejemplos de lenguaje natural (lenguas). Poseen una
sintaxis y una gramática, y cumplen con los principios de
economía y optimización, a pesar de que contienen muchas
ambigüedades.
• Por el contrario, los Lenguajes Formales se utilizan para
transferir información, sin dejar lugar a ambigüedades. Algunos
ejemplos de lenguajes formales son las matemáticas, XML, SQL
y PHP.
¿Cuál es la • La importancia abarca por ser tener los fundamentos
importancia de teóricos matemático el la estructuración y desarrollo
del lenguaje de programación
los lenguajes
formales? En
• Las principales aplicaciones de los lenguajes formales
son en el campo de la informática, la lógica y la
matemática. En informática, los lenguajes formales
dónde se constituyen la base para la definición de los lenguajes
de programación.
emplean?
Son ejemplos de lenguajes formales:
Informática: El siguiente es un ejemplo de cadena de
caracteres del lenguaje de programación C.char str[12]=
“bienvenidos”;donde char es la variable de caracteres y
str de cadena. La cadena de caracteres es bienvenidos.
ejemplos de Lógica: Las siguientes combinaciones de símbolos
lenguajes expresan tipos de enunciados: p∧q significa “p y q”,
donde p y q son dos proposiciones.
formales. ∽ (r ∧ p) → q
significa “si r y p, entonces q”, donde r, p y q son
proposiciones.
• Matemática: El teorema de Pitágoras afirma
que “en todo triángulo rectángulo, el
cuadrado de la hipotenusa es igual a la suma
de los cuadrados de los catetos”. Esta
afirmación se puede expresar
matemáticamente mediante la siguiente
ecuación:
a2 + b2 = c2
donde a y b son la medida de los catetos y c la
medida de la hipotenusa
Cuál fue el • En cuanto a la relación de Chomsky proviene
aporte de de sus importantes aportaciones a la teoría
de autómatas y al estudio de los lenguajes
Noam formales. Dichas aportaciones han resultado
en elementos indispensables para la
Chomsky a construcción de compiladores y traductores
los que puedan servir de intérpretes válidos
entre las órdenes que dan los seres humanos
Lenguajes y su correcta recepción y aplicación por
máquinas automáticas.
Formales?
• La jerarquía de Chomsky, que estableció en 1956
en su obra "Three models for the description of
language" se convirtió en un concepto central en
informática. Así, los lenguajes formales (que no
admiten excepciones a las reglas) se dividen en
cuatro niveles Jerarquía de Chomsky(tres en el
estudio original), que son:
• Lenguajes regulares.
• Lenguajes libres del contexto.
• Lenguajes sensibles al contexto.
• Lenguajes recursiva
diferentes tipos de gramáticas
que se pueden utilizar en los
lenguajes formales
• Según la jerarquía de Chomsky clasifica los
diferentes tipos de gramáticas que se usan en los
lenguajes formales
La Jerarquía de Chomsky consta de cuatro niveles:
• Gramáticas de tipo 0 (sin restricciones), que incluye
a todas las gramáticas formales. Estas gramáticas
generan todos los lenguajes capaces de ser
reconocidos por una máquina de Turing. Los
lenguajes son conocidos como lenguajes
recursivamente enumerables
• Gramáticas de tipo 1 (gramáticas sensibles al
contexto) generan los lenguajes sensibles al contexto.
Estas gramáticas tienen reglas de la forma
• Gramáticas de tipo 2 (gramáticas libres del contexto)
generan los lenguajes independientes d el contexto.
Las reglas son de la forma un no terminal una
cadena de terminales y no terminales. Estos
lenguajes son aquellos que pueden ser reconocidos
por un autómata con pila.
• Gramáticas de tipo 3 (gramáticas regulares) generan
los lenguajes regulares. Estas gramáticas se
restringen a aquellas reglas que tienen en la parte
izquierda un no terminal, y en la parte derecha un
solo terminal, posiblemente seguido de un no
terminal. La regla también está permitida si no
aparece en la parte derecha de ninguna regla. Estos
lenguajes son aquellos que pueden ser aceptados por
un autómata finito
• El lema de bombeo es útil para demostrar que un
determinado lenguaje no es regular ( no se puede decir
nada si se cumple el lema de Bombeo). Para ello hay que
probar que no se verifica el lema de bombeo; es decir :
Bombeo
es Regular sólo que No es Regular, ya que el lema es una
condición necesaria para que un lenguaje sea regular pero
no suficiente.
• Para demostrar que un lenguaje es Regular (vemos que
cumple Lema de Bombeo) como no es condición suficiente
para afirmar que es regular entonces buscamos el AFD o
Expresión Regular o Gramática Regular que si lo demuestran
en realidad.
homomorfismo
Al lenguaje generado por medio de una gramática regular. Son aquellos lenguajes
cuyas cadenas está formadas por la concatenación de símbolos, en las cuales no
hay relación entre una parte de la cadena y otra parte de la cadena.
Vemos que una gramática regular o de tipo 3 es aquella gramática donde las
reglas de producción siguen la siguiente estructura: A→ uB o A→ u donde u∈ T*
y A,B∈ V