Intro A Lenguajes Formales

Descargar como ppt, pdf o txt
Descargar como ppt, pdf o txt
Está en la página 1de 17

INTRODUCCION A

LENGUAJES
FORMALES Y
AUTOMATAS
Bases computacionales (1)
Lenguaje natural versus lenguaje formal

Lenguaje natural: lenguaje Lenguaje formal: lenguaje


empleado por seres humanos conformado a partir conjuntos
para fines comunicativos. finito de caracteres que genera
Obedecen, aunque no siempre, cadenas. Cuentan con reglas de
a principios de economía y buena formación (gramática) e
optimidad, los cuales se ven interpretación semántica
afectados por variables como (significado). Estos lenguajes es
factores cognitivos, sociales, que se ajustan con rigor a su
emocionales, etc. gramática y a su semántica.
Bases computacionales (2)
Ejemplos de lenguajes formales
¿Qué es un lenguaje de programación?

Tipo de lenguaje formal que se


ocupa para controlar el
desempeño de una
computadora.

Manejan una sintaxis y una


semántica para generar un
conjunto infinito de
instrucciones para controlar los
procesos que ejecute una
computadora
¿Cómo funciona?
Caja negra
Veamos el proceso (1)
Veamos el proceso (2)
Lenguaje de programación: conjunto de instrucciones
codificadas conforme a una sintaxis y a una semántica
específicas. Dichas instrucciones asignan una tarea a una
computadora, considerando el uso de variables y reglas lógicas.
¿Qué es el análisis léxico?
Proceso que consiste en la
lectura de un programa
fuente (escrito en un
lenguaje de programación),
y agrupa en componentes
léxicos o tokens, esto es,
en secuencias de
caracteres con significado.

Ejemplos de tokens:
Palabras clave: if, while,
in…
Identificadores: Var, String,
List…
Números: 0-9.
Signos: α, #, &, *…
Operadores: +, -, ≠, Σ…
¿Qué es el análisis sintáctico?
En esta fase los caracteres o componentes léxicos se agrupan
jerárquicamente en frases gramaticales. Se comprueba si lo obtenido
de la fase anterior es sintácticamente correcto.
Lenguajes formales (1)

En 1957, un doctor recién


graduado en lingüística,
Noam Chomsky (1928),
escribió Syntactic Structures,
que era una versión
“resumida” de su tesis
doctoral. Si tienen curiosidad,
la tesis tiene entre 500 y 600
páginas.
Lenguajes formales (2)
1.¿Existe una facultad humana
Dejando de lado el objeto de para generar lenguajes?
estudio, el trabajo se planteó
dos preguntas sumamente 2.¿Se puede dar una
brillantes: representación formal de dicha
facultad?
Para responder a estas preguntas, Chomsky formula ideas
como…
“La investigación científica de
“La sintaxis es el estudio de los una lengua dada tiene como
objetivo la construcción de una
principios y procesos en virtud
gramática, considerada como
de los cuales son construidas
una especie de mecanismo [o
las oraciones en las lenguas
particulares”. autómata], capaz de generar
las oraciones de la lengua que
se quiera analizar”.
Lenguajes formales (3)
¿Qué clases de gramáticas pueden hacer lo que plantea Chomsky?
Según él, por lo menos hay 4, y cada una de estas permite construir un
autómata capaz de generar oraciones (o “cadenas sintácticas”):
Clasificación de gramáticas formales
Chomsky clasificó jerárquicamente las gramáticas

formales que generan lenguajes formales, en estos tipos:


Tipo 3: Gramáticas regulares que generan lenguajes
regulares
Tipo 2: Gramáticas incontextuales que generan lenguajes
incontextuales
Tipo 1: Gramáticas contextuales que generan lenguajes
contextuales
Tipo 0: Gramáticas libres que generan lenguajes sin ningún
tipo de restricción

Cuanto menor es el tipo, mayor es el poder expresivo del


lenguaje generado y más complejidad tiene su tratamiento
por parte de una máquina
DEFINICION DE ALFABETO

• Un alfabeto se puede definir como el conjunto no


vacío y finito de todos los símbolos válidos o
posibles para una aplicación. Por tanto, en el campo
de los autómatas, un alfabeto está formado por todos
los caracteres que utiliza para definir sus entradas,
salidas y estados.
• El abecedario se compone de las siguientes 27 letras:
a, b, c, d, e, f, g, h, i, j, k, l, m, n, ñ, o, p, q, r, s, t, u,
v, w, x, y, z.
• Los nombres de las letras ll, v y y son elle, uve y ye
respectivamente. Cabe destacar que la ll no se
considera parte del alfabeto, dado que surge de la
combinación de dos letras.
 Conjunto finito (alfabeto)

* Conjunto de las palabras sobre


 el alfabeto 

Palabras sobre el alfabeto  con


 =
2
dos letras.

Palabras sobre el alfabeto  con


 = 
3
tres letras.
Palabras sobre el alfabeto  con
n=.... n letras.

 *   n
  
     2

n0

: la palabra sin letras.


PRÁCTICA 1.- DE ALFABETO

• Desarrolla un programa en
cualquier lenguaje que
escriba el abecedario con su
mayúscula y minúscula en
un fondo rojo.

También podría gustarte