Logo Studenta

UNIDAD 1.1 Sintaxis y semantica del lenguaje

¡Este material tiene más páginas!

Vista previa del material en texto

ING. JORGE BUABUD 
UNIVERSIDAD TECNOLÓGICA NACIONAL - FACULTAD REGIONAL TUCUMÁN 
DEPARTAMENTO DE SISTEMAS 
CÁTEDRA SINTAXIS Y SEMÁNTICA DE LOS LENGUAJES 
http://frt.cvg.utn.edu.ar 
 
 
ING. JORGE BUABUD 
LENGUAJES : 
Lenguaje, medio de comunicación entre los 
seres humanos a través de signos orales y 
escritos que poseen un significado. 
En un sentido más amplio, es cualquier 
procedimiento que sirve para comunicarse. 
Algunas escuelas lingüísticas entienden el 
lenguaje como la capacidad humana que 
conforma al pensamiento. 
 
Microsoft ® Encarta ® 2007. © 1993-2006 Microsoft Corporation. 
U.T.N. – F.R.T. 
S. y S. de los L. PRELIMINARES 
ING. JORGE BUABUD 
LENGUAJES: 
U.T.N. – F.R.T. 
S. y S. de los L. 
LENGUAJES NATURALES 
LENGUAJES FORMALES 
 de Programación 
 de Música 
 de Matemática 
 de Química 
 Español 
 (Oral-Escrito-Señas) 
 Inglés 
 Árabe 
NIVELES 
 Léxico 
 Sintáctico 
 Semántico 
 Pragmático 
PRELIMINARES 
ING. JORGE BUABUD 
ALFABETO: Conjunto finito no vacío de símbolos diferentes. 
U.T.N. – F.R.T. 
S. y S. de los L. 
Notación: Nombre genérico de un alfabeto: Σ 
 Símbolos abstractos de un alfabeto 
 primeras letras del abecedario en minúscula (a, b, c, …) 
 
Ejemplos: Σ = { a, b, c , d } 
 Binario = { 0, 1 } 
 Letras = { a, b, c, d, e, ….., x, y, z } 
 
 Español = {el, la, … , casa, perro, …, es, come, … , linda, 
 alegremente, …} 
ALFABETOS: 
LINGÜÍSTICA MATEMÁTICA 
ING. JORGE BUABUD 
U.T.N. – F.R.T. 
S. y S. de los L. 
 Para describir un hecho o entidad se utilizan conjuntos de símbolos 
que en general llamamos DATOS. 
 
 Por otro lado, una INFORMACIÓN es un conjunto de datos 
significativos: Reconocibles, Íntegros, Inequívocos, Relevantes. 
 
 En el ámbito de la informática son de uso frecuente los alfabetos o 
códigos ASCII y EBCDIC. 
 
 No debemos confundir el “nombre” del símbolo con el propio símbolo. 
 Por ejemplo: al símbolo $ lo llamamos PESO, en otro contexto 
 podríamos llamarlo DÓLAR, pero sigue siendo el 
 mismo símbolo. 
ALFABETOS: 
LINGÜÍSTICA MATEMÁTICA 
ING. JORGE BUABUD 
U.T.N. – F.R.T. 
S. y S. de los L. 
PALABRA: Secuencia finita de símbolos pertenecientes a un alfabeto. 
Notación: últimas letras del abecedario en minúsculas (.. w, x, y, z) 
 
Ejemplos: Σ: a, b, aa, ab, ba, bb, abcd, aadd 
 Binario: 011, 11011, 00, 11 
 
 Letras: casa, pieza, del, abc 
 
 Español: la_casa_es_linda 
 el_perro_come_alegremente 
 
PALABRAS o CADENAS: 
LINGÜÍSTICA MATEMÁTICA 
ING. JORGE BUABUD 
U.T.N. – F.R.T. 
S. y S. de los L. 
 La palabra vacía, que representamos con λ (lambda), es aquella 
 secuencia que no contiene símbolo alguno. 
 Prefijo: secuencia de cero o más símbolos iniciales de una palabra. 
 Sufijo: secuencia de cero o más símbolos finales de una palabra. 
 Subcadena: secuencia de símbolos obtenida al eliminar un sufijo o un 
 prefijo de una palabra. 
 Σ* representa al conjunto de todas las palabras w formadas por símbolos 
 de dicho alfabeto, es decir el Conjunto Universal de arreglos con 
 repeticiones de símbolos sobre Σ. 
 Σ+ representa al Conjunto Universal sin la palabra vacía. 
 o sea que: Σ+ = Σ* - { λ } 
PALABRAS o CADENAS: 
LINGÜÍSTICA MATEMÁTICA 
ING. JORGE BUABUD 
LINGÜÍSTICA MATEMÁTICA 
U.T.N. – F.R.T. 
S. y S. de los L. 
 
LENGUAJE: Cualquier subconjunto L del Conjunto Universal de 
 palabras sobre un alfabeto Σ. 
Notación: L1, L2, …. 
 
Ejemplos: Σ: L1 = {a, b, aa, ab, ba, bb, abcd, aadd} 
 Binario: L2 = {011, 11011, 00, 11} 
 
 Letras: L3 = {casa, pieza, del, abc} 
 
 Español: L4 = {la_casa_es_linda, 
 el_perro_come_alegremente} 
LENGUAJES FORMALES: 
ING. JORGE BUABUD 
LINGÜÍSTICA MATEMÁTICA 
U.T.N. – F.R.T. 
S. y S. de los L. 
Podemos decir que: L  Σ* 
 
Los siguientes son casos particulares significativos: 
 El Lenguaje Universal Σ* 
 El Lenguaje Vacío Ф 
 El Lenguaje Lλ = { λ } 
LENGUAJES FORMALES: 
ING. JORGE BUABUD 
LINGÜÍSTICA MATEMÁTICA 
U.T.N. – F.R.T. 
S. y S. de los L. 
CONCATENACIÓN: 
Función con dominio en Σ*x Σ* y rango en Σ*. Tal que dadas las palabras u y 
v, la concatenación de u con v da como resultado otra palabra w formada por la 
secuencia de símbolos de u seguida de la secuencia de símbolos de v. 
OPERACIONES CON PALABRAS: 
Notación: w = u.v 
Propiedades: dadas las palabras {u, v, w} se cumplen las leyes: 
 Asociativa: (u.v).w = u.(v.w) 
 No conmutativa: En general u.v ≠ v.u 
 Elemento Neutro λ: λ.u = u.λ = u 
Ejemplos: Dado el alfabeto Vocal = {a, e, i, o, u} entonces iui . λ = iui 
 ae . ou = aeou (ieu . aa) . u = ieu . (aa . u) = ieuaau 
ING. JORGE BUABUD 
LINGÜÍSTICA MATEMÁTICA 
U.T.N. – F.R.T. 
S. y S. de los L. 
POTENCIACIÓN: 
Función con dominio en Σ*x N y rango en Σ*. Tal que dada la palabra u y el 
número natural i, la potencia con base u y exponente i da como resultado otra 
palabra w formada por una sucesión de i palabras u. 
OPERACIONES CON PALABRAS: 
Notación: w = u 
Propiedades: 
 Desde un punto de vista práctico la potencia es una forma reducida 
 de representar la concatenación de una palabra consigo misma. 
 Por definición u = λ y u = u 
Ejemplos: Dado el alfabeto Binario = {0, 1} entonces 
 00 = λ 101 = 101101 1 = 111 01 = 0101010101 
i 
0 1 
0 2 3 5 
ING. JORGE BUABUD 
LINGÜÍSTICA MATEMÁTICA 
U.T.N. – F.R.T. 
S. y S. de los L. 
LONGITUD: 
Función con dominio en Σ* y rango en N. Tal que dada la palabra u la longitud 
de u da como resultado la cantidad de símbolos que forman la palabra. 
OPERACIONES CON PALABRAS: 
Notación: w = | u | = long(u) 
Propiedades: 
 La longitud de λ es cero 
 | u | representa la cantidad de símbolos a que hay en u 
 
Ejemplos: Dado el alfabeto Dígitos = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 } 
 long(λ) = 0 | 00110 | = 5 long(1011) = 4 | 01001 | = 3 
a 
0 
ING. JORGE BUABUD 
LINGÜÍSTICA MATEMÁTICA 
U.T.N. – F.R.T. 
S. y S. de los L. 
INVERSA: 
Función con dominio en Σ* y rango en Σ*. Tal que dada la palabra u la inversa 
de u da como resultado la imagen especular de u. 
OPERACIONES CON PALABRAS: 
Notación: w = u 
Propiedades: 
 λ = λ 
 Involutiva: (u ) = u 
 Si se cumple que: u = u entonces se dice que u es palíndromo 
 
Ejemplos: Dado el alfabeto Letras = { a, b, c, ...., z} entonces: arroz = zorra 
y haciendo caso omiso del espacio en blanco y la tilde, las siguientes palabras son 
palíndromos: “neuquén” ; “adán nada”; “dábale arroz a la zorra el abad” ; 
“satán sala las natas” 
 
-1 
-1 
-1 -1 
-1 
-1 
ING. JORGE BUABUD 
LINGÜÍSTICA MATEMÁTICA 
U.T.N. – F.R.T. 
S. y S. de los L. 
STEPHEN COLE KLEENE: 
Stephen Cole Kleene (nacido en Hartford, Connecticut, 
Estados Unidos; el 5 de enero de 1909 y falleció en 
Madison, Wisconsin; el 25 de enero de 1994). 
Lógico y matemático estadounidense. Fue director de los 
departamentos de matemáticas y de análisis numérico de la 
Universidad de Wisconsin. Se especializó en el estudio de 
las funciones recursivas y la teoría de los autómatas. Entre 
sus numerosas obras destacan Introducción a la matemática 
(1952) y Lógicamatemática (1967). 
Introdujo la operación entre lenguajes, llamada en su honor “Clausura de Kleene” , 
a partir de la cual inventó un formalismo que permite representar el nivel léxico de 
los lenguajes, al que denominó Expresiones Regulares . 
ING. JORGE BUABUD 
LINGÜÍSTICA MATEMÁTICA 
U.T.N. – F.R.T. 
S. y S. de los L. 
NOTACIÓN CONJUNTO DE SUBCONJUNTOS: 
Para representar el conjunto C2 formado por todos los subconjuntos que se 
pueden construir con los elementos de un conjunto C1 se utiliza la siguiente 
notación: C2 = 2 
La misma se debe al hecho de que la cantidad de subconjuntos que se puede 
formar con los elementos de C1 es igual a la potencia de base 2 y exponente 
igual al módulo del conjunto C1. O sea que | C2 | = 2 
Por ejemplo dado C1 = {a, b, c} el conjunto de todos los subconjuntos de 
C1, incluidos el vacío y el propio conjunto C1, es: 
 C2 = { Ф, {a}, {b}, {c}, {a, b}, {a, c}, {b, c}, {a, b, c} } y | C2 | = 2 = 8 
C1 
| C1 | 
3 
ING. JORGE BUABUD 
LINGÜÍSTICA MATEMÁTICA 
U.T.N. – F.R.T. 
S. y S. de los L. 
UNIÓN: 
Función con dominio en 2 x 2 y rango en 2 . Tal que dados los lenguajes 
L1 y L2, la unión entre L1 y L2 da como resultado otro lenguaje L3 formado por 
todas las palabras de L1 y todas las palabras de L2 sin repeticiones. 
OPERACIONES CON LENGUAJES: 
Notación: L3 = L1  L2 
Propiedades: dados los lenguajes L1, L2 y L3 se cumplen las leyes: 
 Asociativa: (L1  L2)  L3 = L1  (L2  L3) 
 Conmutativa: L1  L2 = L2  L1 
 Elemento Neutro Ф: Ф  L1 = L1  Ф = L1 
Ejemplos: Dados L1 = { λ, ba }; L2 = { a, b, ab } y L3 = { aa, ab } entonces: 
 L1  L2 = { λ, a, b, ab, ba } L2  L3 = { a, b, aa, ab } 
 
* * * 
ING. JORGE BUABUD 
LINGÜÍSTICA MATEMÁTICA 
U.T.N. – F.R.T. 
S. y S. de los L. 
DIFERENCIA: 
Función con dominio en 2 x 2 y rango en 2 . Tal que dados los lenguajes 
L1 y L2, la diferencia entre L1 y L2 da como resultado otro lenguaje L3 formado 
por todas las palabras de L1 excepto aquellas que pertenezcan también a L2. 
OPERACIONES CON LENGUAJES: 
Notación: L3 = L1 - L2 
Propiedades: dados los lenguajes L1, L2 y L3 se cumplen las leyes: 
 No Asociativa: (L1 - L2) - L3 ≠ L1 - (L2 - L3) 
 No Conmutativa: en general L1 - L2 ≠ L2 - L1 
 Elemento Neutro Ф: L1 - Ф = L1 
 
Ejemplos: Dados L1 = { λ, a, ab }; L2 = { a, b, ba } y L3 = { a, b, ab } 
 entonces: L1 - L2 = { λ, ab } L2 - L3 = { ba } L1 - L3 = { λ } 
 
* * * 
ING. JORGE BUABUD 
LINGÜÍSTICA MATEMÁTICA 
U.T.N. – F.R.T. 
S. y S. de los L. 
INTERSECCIÓN: 
Función con dominio en 2 x 2 y rango en 2 . Tal que dados los lenguajes 
L1 y L2, la intersección entre L1 y L2 da como resultado otro lenguaje L3 formado 
por todas las palabras que pertenecen a L1 y que también pertenecen a L2. 
OPERACIONES CON LENGUAJES: 
Notación: L3 = L1 L2 
Propiedades: dados los lenguajes L1, L2 y L3 se cumplen las leyes: 
 Asociativa: (L1  L2)  L3 = L1  (L2  L3) 
 Conmutativa: L1  L2 = L2  L1 
 Elemento Neutro Σ*: Σ*  L1 = L1  Σ* = L1 
Ejemplos: Dados L1 = { λ, a, ab }; L2 = { a, b, bb } y L3 = { b, bb, aa } 
 entonces: L1  L2 = { a } L2  L3 = { b, bb } L1  L3 = Ф 
 
* * * 
ING. JORGE BUABUD 
LINGÜÍSTICA MATEMÁTICA 
U.T.N. – F.R.T. 
S. y S. de los L. 
COMPLEMENTO: 
Función con dominio en 2 y rango en 2 . Tal que dado el lenguaje L1, el 
complemento de L1 da como resultado otro lenguaje L3 formado por todas las 
palabras que pertenecen a Σ* y que no pertenecen a L1. 
OPERACIONES CON LENGUAJES: 
Notación: L3 = L1 = L1 
Propiedades: 
 L1 = Σ* - L1 
 Σ* = Ф y Σ+ = Lλ 
 Involutiva: (L1) = L1 
 
Ejemplos: Dado L1 = { λ, a, b } entonces: 
 L1 = {todas las secuencias de a y/o b excepto la palabra 
 vacía y las palabras unisimbólicas a y b } 
_ 
* * 
ING. JORGE BUABUD 
LINGÜÍSTICA MATEMÁTICA 
U.T.N. – F.R.T. 
S. y S. de los L. 
PRODUCTO O CONCATENACIÓN: 
Función con dominio en 2 x 2 y rango en 2 . Tal que dados los lenguajes 
L1 y L2, el producto o concatenación entre L1 y L2 da como resultado otro 
lenguaje L3 formado por todas las palabras que resultan de concatenar una palabra 
de L1 con una palabra de L2 y solo en ese orden. 
OPERACIONES CON LENGUAJES: 
Notación: L3 = L1 .L2 
Propiedades: dados los lenguajes L1, L2 y L3 se cumplen las leyes: 
 Asociativa: (L1 . L2) . L3 = L1 . (L2 . L3) 
 No Conmutativa: en general L1 . L2 ≠ L2 . L1 
 Elemento Neutro Lλ: Lλ . L1 = L1 . Lλ = L1 
Ejemplos: Dados L1 = { λ, a }; L2 = { b, bb } y L3 = { aa } entonces: 
 L1 . L2 = { b, bb, ab, abb } L2 . L3 = { baa, bbaa } L2 . Ф = Ф 
 
* * * 
ING. JORGE BUABUD 
LINGÜÍSTICA MATEMÁTICA 
U.T.N. – F.R.T. 
S. y S. de los L. 
OPERACIONES CON LENGUAJES: 
Notación: L3 = L1 
Propiedades: 
 Desde un punto de vista práctico la potencia es una forma reducida 
 de representar el producto de un lenguaje consigo mismo. 
 Por definición L1 = Lλ y L1 = L1 
Ejemplos: Dados L1 = { a, b } L2 = { bab, bb, ab } 
 L1 = { aaa, aab, aba, abb, baa, bab, bba, bbb } 
 L2 = { babbab, babbb, babab, bbbab, bbbb, bbab, abbab, abbb, abab } 
i 
0 1 
2 
3 
POTENCIACIÓN: 
Función con dominio en 2 x N y rango en 2 . Tal que dado el lenguaje L1 y 
el número natural i mayor o igual que 2, la potencia con base L1 y exponente i 
da como resultado otro lenguaje L3 formado por el producto de L1 consigo 
mismo (i - 1) veces. 
* * 
ING. JORGE BUABUD 
LINGÜÍSTICA MATEMÁTICA 
U.T.N. – F.R.T. 
S. y S. de los L. 
OPERACIONES CON LENGUAJES: 
Notación: L3 = L1 = L1  L1  L1 …… =  L1 
 
Propiedades: 
 (L1 ) = L1 
 Por definición Ф = Lλ y Lλ = Lλ 
 
Ejemplos: Dado L1 = { aa, ab, ba, bb } 
 L1 = { todas las secuencias de a y/o b de long. par incluida la vacía } 
 
* 
* * 
* 
CLAUSURA, CIERRE O ESTRELLA DE KLEENE: 
Función con dominio en 2 y rango en 2 . Tal que dado el lenguaje L1, la 
operación “L1 estrella” da como resultado otro lenguaje L3 formado por todas 
las potencias de base L1 y exponente i, desde i igual a cero hasta infinito. 
0 2 1  
i = 0 
* * * 
i 
* * 
ING. JORGE BUABUD 
LINGÜÍSTICA MATEMÁTICA 
U.T.N. – F.R.T. 
S. y S. de los L. 
OPERACIONES CON LENGUAJES: 
Notación: L3 = L1 = L1  L1  L1 …… =  L1 
 
Propiedades: 
 (L1 ) = L1 
 Por definición Ф = Ф y Lλ = Lλ 
 
Ejemplos: Dado L1 = { aa, ab, ba, bb } L2 = { λ, aa, ab, ba, bb } 
 L1 = { todas las secuencias de a y/o b de long. par } 
 L2 = L2 = L1 
+ 
+ + 
+ 
CLAUSURA, CIERRE O ESTRELLA POSITIVA: 
Función con dominio en 2 y rango en 2 . Tal que dado el lenguaje L1, la 
operación “L1 estrella positiva” da como resultado otro lenguaje L3 formado por 
todas las potencias de base L1 y exponente i, desde i igual a uno hasta infinito. 
1 3 2  
i = 1 
+ + + 
+ * * 
i 
* * 
ING. JORGE BUABUD 
LINGÜÍSTICA MATEMÁTICA 
U.T.N. – F.R.T. 
S. y S. de los L. 
OPERACIONES CON LENGUAJES: 
Notación: L3 = L1 
Propiedades:Distributiva: (L1 . L2) = L2 . L1 (L1*) = (L1 )* 
 Involutiva: (L1 ) = L1 
Ejemplos: Dados L1 = { ab, bb } L2 = { aa, ba } 
 L1.L2 = { abaa, abba, bbaa, bbba} 
 L2 = { aa, ab } L1 = { ba, bb } 
 ( L1 . L2 ) = { aaba, abba, aabb, abbb } = L2 . L1 
-1 
-1 
-1 
INVERSA: 
Función con dominio en 2 y rango en 2 . Tal que dado el lenguaje L1, la 
inversa de L1 da como resultado otro lenguaje L3 formado por todas las inversas 
correspondientes a las palabras de L1. 
-1 -1 
-1 
-1 -1 
-1 
-1 
-1 
-1 -1 
* * 
ING. JORGE BUABUD 
LINGÜÍSTICA MATEMÁTICA 
U.T.N. – F.R.T. 
S. y S. de los L. 
Ejemplos de Operaciones con Palabras 
y con Lenguajes: 
Ejemplo 1 
Dado el alfabeto Letras = { a, b, c, .…, z } 
 
 haciendo caso omiso de las tildes y los espacios en blanco, los 
 siguientes son casos curiosos de palíndromos: 
 
 ananá, oso, ojo, asa, ala, sus, allá, anilina, reconocer, somos, aérea, rasar 
 atar a la rata, alábala a la bala, anita lava la tina, arroz a la zorra 
 
 diversas palabras del español resultan de concatenar dos o más 
 palabras del mimo lenguaje: 
 limpia.para.brisas = limpiaparabrisas bala . cera = balacera 
 casa . miento = casamiento agua . tero = aguatero 
 rápida . mente = rápidamente villa . nada = villanada 
 
 las siguientes palabras y sus inversas tienen distintos significados: 
 odio, oído, osar, raso, orar, raro, lava, aval, raza, azar, acera, areca 
ING. JORGE BUABUD 
LINGÜÍSTICA MATEMÁTICA 
U.T.N. – F.R.T. 
S. y S. de los L. 
Ejemplos de Operaciones con Palabras 
y con Lenguajes: 
Ejemplo 2 
Dado el alfabeto Sílabas = { ma, mon, mo, ca, co, li, ra, re, ro, ta, to, ja, bron } 
 haciendo caso omiso de las tildes tenemos los siguientes palíndromos: 
 maroma, cólico, retaré, remaré, coco, caca, caraca 
 las siguientes palabras y sus inversas tienen significados distintos: 
 jamón, monja, bronca, cabrón, mora, ramo, coca, caco, 
 raco, cora, maca, cama, coma, maco, como, moco, 
 rata, tara, roca, caro, tomón, monto, rato, tora 
 
 
ING. JORGE BUABUD 
LINGÜÍSTICA MATEMÁTICA 
U.T.N. – F.R.T. 
S. y S. de los L. 
Ejemplos de Operaciones con Palabras 
y con Lenguajes: 
Ejemplo 3 
Dado el alfabeto Σ = { a, b, c, …, z, 0, 1, … 9 , _ } se puede definir los 
siguientes lenguajes unisimbólicos : 
Letras = { a, b, c, …. , z } 
Dígitos = { 0, 1, 2, 3, …. , 9} 
Guión = { _ } 
Combinando convenientemente estos lenguajes se puede representar el 
conjunto de todos los identificadores de un lenguaje de programación: 
Identificador = (Letras  Guión) . (Letras  Dígitos  Guión) * 
ING. JORGE BUABUD 
LINGÜÍSTICA MATEMÁTICA 
U.T.N. – F.R.T. 
S. y S. de los L. 
Ejemplos de Operaciones con Palabras 
y con Lenguajes: 
Ejemplo 4 
En un lenguaje de programación concreto (C++, Delphi, Visual Basic, Java, 
etc.), los identificadores válidos tienen una longitud máxima. Supongamos 
que en el ejemplo anterior queremos acotar la longitud en 40. Esto traerá 
como consecuencia que el lenguaje dejará de ser infinito. 
Una solución satisfactoria pero no muy eficiente sería: 
Identificador = (Letras  Guión) . ( { λ }  (Letras  Dígitos  Guión) 
  (Letras  Dígitos  Guión)  (Letras  Dígitos  Guión) 
  (Letras  Dígitos  Guión)  (Letras  Dígitos  Guión) 
  …....  (Letras  Dígitos  Guión) ) 
3 2 
4 5 
39 
ING. JORGE BUABUD 
LINGÜÍSTICA MATEMÁTICA 
U.T.N. – F.R.T. 
S. y S. de los L. 
Ejemplos de Operaciones con Palabras 
y con Lenguajes: 
Continuación ejemplo 4 
¿Cuántos palabras tiene este lenguaje ? Sigamos el siguiente razonamiento 
por inducción en el largo de la palabra, suponiendo 26 letras: 
Longitud Cantidad 
1 27 
2 27x 37 = 999 
3 27x 37 = 36963 
k 27x 37 
40 27x 37  1,445 E+61 
2 
(k-1) 
39 
ING. JORGE BUABUD 
LINGÜÍSTICA MATEMÁTICA 
U.T.N. – F.R.T. 
S. y S. de los L. 
Ejemplos de Operaciones con Palabras 
y con Lenguajes: 
Continuación ejemplo 4 
Si ahora sumamos todas estas cantidades obtenemos el total de 
identificadores válidos de longitud menor o igual 40: 
 
 
Este resultado se puede obtener del producto de 27 por la serie de potencias: 
X+X + X + ….. + X para n = 39 
 
¿Existe una fórmula para calcular este resultado? 
 
  4,009 E+62 
2 3 n 
ING. JORGE BUABUD 
LINGÜÍSTICA MATEMÁTICA 
U.T.N. – F.R.T. 
S. y S. de los L. 
Ejemplos de Operaciones con Palabras 
y con Lenguajes: 
Continuación ejemplo 4 
 
¡NO! Porque la potencia no es distributiva con respecto a la suma. 
Pero se puede hacer el siguiente desarrollo para simplificar el cálculo: 
 
x + x2 + x3 + x4 + x5 = x ( 1 + x + x2 + x3 + x4 ) = 
 
x ( 1 + x ( 1 + x + x2 + x3 ) ) = x ( 1 + x ( 1 + x ( 1 + x + x2 ) ) ) = 
 
x ( 1 + x ( 1 + x ( 1 + x ( 1 + x ) ) ) ) 
 
ING. JORGE BUABUD 
LINGÜÍSTICA MATEMÁTICA 
U.T.N. – F.R.T. 
S. y S. de los L. 
Ejemplos de Operaciones con Palabras 
y con Lenguajes: 
Continuación ejemplo 4 
Por último veamos como se puede obtener una solución más eficiente para 
representar este lenguaje: 
 En primer lugar consideremos el siguiente caso sencillo: 
 
 
Dado el alfabeto Σ = { a, b } definimos los lenguajes: 
L1 = { a, b } y L2 = { λ, a, b } 
entonces: L1 = { aa, ab, ba, bb } 
 L2 = { λ, a, b, aa, ab, ba, bb } 
vemos que: L2 = L1  L1  L1 
podemos concluir que al agregar la palabra vacía a un 
lenguaje L, logramos que: 
 (L  Lλ) = L  L  L  ……  L 
2 
2 
2 0 1 2 
n 0 1 2 n 
ING. JORGE BUABUD 
LINGÜÍSTICA MATEMÁTICA 
U.T.N. – F.R.T. 
S. y S. de los L. 
Ejemplos de Operaciones con Palabras 
y con Lenguajes: 
Continuación ejemplo 4 
 Aplicando esta propiedad al lenguaje de los identificadores obtenemos una 
forma simple de acotar la longitud del mismo a 40 símbolos: 
 
Identificador = (Letras  Guión) . (Letras  Dígitos  Guión  Lλ) 
 
39 
Esta misma estrategia se puede utilizar para representar diversos lenguajes 
que contienen secuencias de caracteres que deben acotarse en su longitud. 
Por ejemplo cuando queremos definir un campo de datos en un formulario 
de cualquier índole (nombres, número de legajo, dirección de e-mail, etc.). 
ING. JORGE BUABUD 
LINGÜÍSTICA MATEMÁTICA 
U.T.N. – F.R.T. 
S. y S. de los L. 
Ejemplos de Operaciones con Palabras 
y con Lenguajes: 
Ejemplo 5 
Consideremos un caso similar al anterior pero más complejo. 
Supongamos que se debe representar el lenguaje de todas las denominaciones 
de asignaturas de una carrera, con las siguientes características: 
a) Cada componente de la denominación debe comenzar con una letra 
seguida o no de letras minúsculas y puede terminar o no en un punto. 
b) El primer componente debe comenzar con mayúscula. 
c) Debe contener al menos un componente. 
d) Si tiene varios componentes deben separarse con un espacio en blanco. 
e) La longitud total incluidos puntos y espacios debe ser 45 
ING. JORGE BUABUD 
LINGÜÍSTICA MATEMÁTICA 
U.T.N. – F.R.T. 
S. y S. de los L. 
Ejemplos de Operaciones con Palabras 
y con Lenguajes: 
Continuación del ejemplo 5 
Algunas denominaciones válidas serían: 
“Sintaxis y Semántica de los Lenguajes” 
“Paradigmas de Prog.” 
“Mat. Aplicada I I” 
Como vemos, cada componente puede tener una longitud variable y el total 
de una denominación no debe superar los 45 símbolos. Esta complicación 
hace que no sea posible utilizar la estrategia del ejemplo 5. 
En este caso se puede recurrir a otro artificio, que consiste en plantear un 
lenguaje de denominaciones sin límite de longitud e intersectarlo con el 
lenguaje de todas las secuencias posibles sobre el alfabetobase con longitud 
no superior a 45. 
ING. JORGE BUABUD 
LINGÜÍSTICA MATEMÁTICA 
U.T.N. – F.R.T. 
S. y S. de los L. 
Ejemplos de Operaciones con Palabras 
y con Lenguajes: 
Continuación del ejemplo 5 
 
Consideremos el alfabeto base: 
Σ = { a, … , z, A, … , Z, . , } donde  equivale a un espacio en blanco 
 
definamos los siguientes lenguajes unisimbólicos: 
L1 = { A, … , Z } L2 = { a, … , z } L3 = { . } L4 = {  } 
 
Entonces el primer lenguaje a intersectar se puede representar así: 
L5 = L1 . L2* . ( L3  Lλ ) . ( L4 . (L1  L2) . L2* . ( L3  Lλ ) )* 
el segundo lenguaje, es decir el de todas las secuencias con un máximo de 45: 
L6 = ( L1  L2  L3  L4  Lλ ) 
 
De tal modo que el lenguaje resultante para solucionar el problema queda: 
 
L7 = L5  L6 
45 
ING. JORGE BUABUD 
LINGÜÍSTICA MATEMÁTICA 
U.T.N. – F.R.T. 
S. y S. de los L. 
Niveles de un lenguaje: 
Con el objetivo de estudiar una frase o sentencia, se puede considerar 4 niveles 
de lenguajes. Esto facilita la tarea de análisis, ya que la divide en fases o 
etapas que permiten un procesamiento escalonado del lenguaje; desde un 
menor nivel de complejidad a un mayor nivel de complejidad. 
Estos niveles son: 
 
 
Niveles de un Lenguaje 
 
 
 LEXICOGRÁFICO 
 SINTÁCTICO 
 SEMÁNTICO 
 PRAGMÁTICO 
ING. JORGE BUABUD 
LINGÜÍSTICA MATEMÁTICA 
U.T.N. – F.R.T. 
S. y S. de los L. 
Niveles de un lenguaje: 
 
Por ejemplo: 
Diccionario del Lenguaje de programación C++: 
 
 
Tipos de componentes léxicos de C++: 
palabras claves, delimitadores, operadores, identificadores, números, etc. 
Nivel Lexicográfico: Se refiere al reconocimiento del léxico de un lenguaje o 
sea la identificación de los símbolos del alfabeto del lenguaje, llamados 
componentes léxicos. Es lo que normalmente llamamos diccionario. También 
incluye la clasificación en tipos de componentes léxicos. Cabe 
destacar que este nivel no depende del contexto. 
main if while switch ( ) + - * num id  
ING. JORGE BUABUD 
LINGÜÍSTICA MATEMÁTICA 
U.T.N. – F.R.T. 
S. y S. de los L. 
Niveles de un lenguaje: 
Nivel Sintáctico: Se trata de la forma en la que los componentes léxicos se 
organizan dentro de una frase o sentencia, es decir la estructura de dicha 
secuencia de símbolos. Este nivel es independiente o libre del contexto. 
Por ejemplo: 
Lenguaje de programación C++: 
Estructura de una sentencia selectiva 
 if ( exp.lógica ) sentencia else sentencia 
 
Estructura de una sentencia de asignación: 
 identificador = expresión ; 
 
if (N=0) S1 = S1 + N; else S2 = S2 + N; 
ING. JORGE BUABUD 
LINGÜÍSTICA MATEMÁTICA 
U.T.N. – F.R.T. 
S. y S. de los L. 
Niveles de un lenguaje: 
Nivel Semántico: Se refiere al significado o connotación de una palabra de un 
lenguaje. Tiene en cuenta la coherencia de una frase o sentencia. Este nivel 
es dependiente del contexto. 
Por ejemplo: 
Lenguaje de programación C++: 
Comprobación de Tipos: verificación de la correspondencia entre las 
declaraciones de identificadores y el uso de dichos identificadores. 
 
 
 Observación: En este caso la sentencia es incorrecta semánticamente, ya que 
se utiliza una variable I de tipo float como índice del arreglo V. 
float I , V[100]; void main (void) { I = 12.3 ; V[ I ] = 23.45 ; } 
ING. JORGE BUABUD 
LINGÜÍSTICA MATEMÁTICA 
U.T.N. – F.R.T. 
S. y S. de los L. 
Niveles de un lenguaje: 
Nivel Pragmático: Tiene que ver con los hechos o acciones que evocan las 
frases o sentencias de un lenguaje y su utilización por parte de un procesador 
humano o computacional. Este nivel es dependiente del contexto. 
Por ejemplo: 
Lenguaje de programación C++: 
Una sentencia de entrada implica la espera del dato que ingresa por el 
periférico correspondiente, la toma desde el buffer de dicho periférico, la 
verificación del formato y de la coherencia del mismo; y almacenamiento en la 
posición de memoria RAM correspondiente al identificador de la variable. 
 
Observación: Para que no se produzca un error pragmático, en tiempo de 
ejecución, el operador debe introducir un dato de tipo numérico. 
float N1; void main(void) { scanf ( “ % f ”, &N1 ); }

Continuar navegando