Está en la página 1de 7

Sintaxis y semántica de los lenguajes

Presentación de la Asignatura - Introducción

Objetivo: Estudio de las ciencias de la computación desde un punto de vista teórico

Estudiar lo que se conoce con el nombre de ciencias de la computación

Se propone el estudio de dos abstracciones:

Lenguajes Abstractos: Conjunto de strings, que satisfacen ciertas propiedades o reglas de


construcción. Los strings en sí mismas son secuencias finitas de símbolos extraídos de un conjunto
denominado alfabeto del lenguaje.

“cuando hablamos de lenguajes, la primera diferenciación que debemos hacer es entre lenguajes
naturales y los lenguajes abstractos”

Lenguaje natural: Es uno de los tantos lenguajes o idiomas en los cuales los seres humanos nos
comunicamos Ej: Castellano, inglés, italiano, etc.

Nosotros estudiaremos los lenguajes formales, lenguajes abstractos.

De los estudios que hicieron los lingüistas de los lenguajes naturales se obtuvieron un montón de
resultados que se aplican al estudio de un lenguaje formal

Máquinas Abstractas o Autómatas: Dispositivos teóricos capaz de recibir y transmitir información.

¿Por qué se estudian los lenguajes abstractos y los autómatas?

Autómatas

Dispositivos abstractos para procesar información, reconocerla o aceptarla, traducirla, generarla

Estudio
de la
relación
entre los
mismos

Lenguajes Abstractos

Mecanismos a través de los cuales la información puede ser transmitida, transferida, comunicada

Gramática
Conjunto de reglas capaces de generar o producir todas las oraciones posibles y aceptables de un
lenguaje.

Estudio de las Ciencias de la Computación desde un punto de vista teórico

 Matemáticas: 1930. Turing basándose en lógica matemática devela limites fundamentales


en la computación teórica.

El descubrimiento de Turing es reforzado por el trabajo de Church, Kleene y Post en


funciones recursivas y en la formalización de la lógica matemática.

 Ingeniería: 1938. (Shannon) Las funciones de las redes de “switching relays” se pueden
representar con la notación simbólica del algebra de Boole.
1950. Caldwell & Huffman extienden este trabajo obteniendo un enfoque formal de los
circuitos de cambio secuencial, que evolucionan en la teoría de las máquinas de estados
finitos
 Lingüística: 1950. Chomsky caracteriza las gramáticas y los lenguajes formales.

Jerarquía de máquinas abstractas y lenguajes


Introducción: Lenguajes

 Un lenguaje L es simplemente un conjunto de "strings" de longitud finita sobre un conjunto


finito V, denominado alfabeto.

 En esta definición un "string" es una abstracción de objetos familiares tales como palabras
u oraciones.
 Un lenguaje posee un alfabeto o vocabulario y una gramática.

 El alfabeto son los bloques a partir de los cuales se construye el lenguaje.

 La gramática indica cómo combinar esos bloques en una manera sintácticamente aceptable. Las
gramáticas intentan capturar aquello relacionado con la estructura o sintaxis del lenguaje.

 Dado un alfabeto V, el conjunto V* es el conjunto de todos los posibles "strings" formados a


partir de V. La descripción de un lenguaje L se dice suficiente si es que puede ser usada para
decidir si un miembro de V* es o no miembro de L.

 Esta noción de suficiencia parece ignorar cuestiones concernientes al significado de las


sentencias, es decir a la semántica de las mismas.
 Tomemos por ejemplo la oración: La bibliotecaria me da pocos libros. vemos que es
gramaticalmente correcta. Libros pocos da me bibliotecaria la. es gramaticalmente incorrecta.

 ¿Cómo reconocemos que una oración es gramaticalmente correcta? Mediante el "parsing" o


análisis de la oración averiguamos si las categorías gramaticales de la misma ocurren en los lugares
correctos.

 Este proceso se puede expresar por medio de un árbol conocido como árbol de derivación
(“parse tree”).
Introducción: Autómatas

 Las relaciones entre lenguajes abstractos y máquinas abstractas se establecen a partir del
estudio de tres tipos de autómata:

Traductores.
Generadores.
Reconocedores o Aceptores.

Traductor:

Generador:

Aceptor:
Unidad Temática II - Lingüística Matemática

Strings y operaciones con strings

 Alfabeto: Conjunto finito de símbolos atómicos (no divisibles) que se emplean en la


construcción de sentencias.

 String de longitud k sobre un alfabeto V:

 = V 1 ,V 2 , … … , V k =V 1 V 2 … …V k V I ∈ V

Ejemplos:

V = {a, b, c}  = abcbc V’ = { a, bc } || = 5

V’= {a, bc} ’ = abcbc |’| = 3

 String Vacío:

||=0

 W k : Conjunto de todos los strings de longitud k sobre un alfabeto V:

W k ={/||=k }

 W 0 : Conjunto que contiene el string vacío, denotado mediante .

W 0 = {} = 

 W : Conjunto de todos los strings definidos sobre V, incluyendo el string vacío.

W = ¿ K=0 ¿ ∞¿ W k

 Concatenación de strings: M = W x W -> W

Dados:  = V 1 V 2 … V m  = u1 u2 …u n

m (,) = . =  = V 1 V 2 ….. V m u1 u 2 …. un

 ❑k = . .. … .
K veces

 Propiedades de la concatenación de strings:

 Reverso de un string:

Operaciones con Lenguajes

 Lenguaje definido sobre un alfabeto V: Cualquier conjunto de strings definidos sobre el conjunto
V.

 Concatenación de Lenguajes

Dados A y B, dos lenguajes:

Ejemplo: Sean A = { a, ab } B = { c, bc }

luego AB = {ac, abc, abbc }

También podría gustarte