Escolar Documentos
Profissional Documentos
Cultura Documentos
Tomaremos ahora una definicin ms explcita, que nos permita entender cmo se
construye un Lenguaje Formal.
LENGUAJE FORMAL: Sea un conjunto finito de elementos llamado Alfabeto
(Formal); un Lenguaje Formal L definido sobre es un subconjunto de *
(el conjunto de todos los arreglos o cadenas posibles de formar con los
elementos de ), y determinado por las cadenas que cumplen con las
reglas definidas por una Gramtica Formal.
Se est mencionando un concepto ya conocido en trminos naturales, que es el
ALFABETO. En un enfoque formal, se considera que debe ser el conjunto finito de
smbolos (no letras, ni caracteres, necesariamente) que se emplean para formar
las palabras. En trminos naturales, un lingista dira que slo las letras podran
ser parte del Alfabeto del castellano, pero en trminos formales tambin podran
tenerse otros smbolos; por ejemplo, como SR-71 es una palabra vlida del
castellano (es el nombre de un avin), entonces se considera que S, R, -, 7 y 1
son smbolos de nuestro Alfabeto, desde el punto de vista formal.
Ejemplos de posibles Alfabetos Formales vlidos son:
= { a, b, c, ch, d, e, f, g, h, etc. }
En idioma castellano.
= { .-, -..., -.-., ----, -.., ., ..-., --., ...., .., etc. }
En cdigo Morse.
={.,-}
En cdigo Morse.
= { x | x es un caracter del cdigo ASCII}
= { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }
= { 0, 1}
Para formar cadenas
de bits.
= { +, -, *, / }
= { a, e, i, o, u }
Obsrvese que un smbolo de un alfabeto puede estar formado por ms de
1 carcter, como en el caso de la ch. Desde el punto de vista formal, dicha
combinacin de letras puede ser considerada perfectamente como un nico
smbolo, sobre todo considerando que representa un fonema y no una
combinacin de stos.
En trminos computacionales, el Alfabeto del Lenguaje Formal integrado por los
identificadores vlidos en C estar formado por las letras, los dgitos y el _; el de
los nmeros enteros por los dgitos y los dos signos. Cul sera el Alfabeto de los
nmeros flotantes? Y el de los hexadecimales en ensamblador?Y el de otros
tokens comunes?
EJEMPLO:
Disear un Lenguaje Formal, a partir de ciertas reglas expresadas textualmente en
castellano y con = { x, y, z }. Las reglas se propondrn un poco ms adelante,
una vez que definamos todas las cadenas posibles de formar con los smbolos del
alfabeto.
Se insiste en que el Lenguaje que disearemos no sirve para algo til, sino slo
para conocer un ejemplo concreto. Posteriormente se tratar el tema de las
Gramticas Formales.
Es importante aclarar que por esta nica ocasin haremos algo que es incorrecto;
en realidad, para disear un Lenguaje Formal, se deber emplear una Gramtica
Formal y no una Natural, expresada en trminos del castellano.
Antes de evaluar * introduciremos un nuevo concepto previo, que evitar el
divagar acerca de cules son todas las cadenas posibles de formar con los
elementos del Alfabeto:
n = {s s es toda cadena de longitud n, que se pueda formar con los
smbolos de }
En este caso, n debe tomar valores especficos de nmeros naturales, como 0, 1,
2, 3, etc.
o = { }
como .
1 = = { x, y, z }
2 = { xx, xy, xz, yx, yy, yz, zx, zy, zz }
3 = { xxx, xxy, xxz, xyx, xyy, xyz, xzx, xzy, xzz, yxx, yxy, yxz, ... , zzx, zzy, zzz }
4 = { xxxx, xxxy, xxxz, xxyx, xxyy, xxyz, xxzx, xxzy, xxzz, ... , zzzx, zzzy, zzzz }
...
...
, etc.
Por lgica, se deduce la forma de relacionar los valores de las n para obtener *:
* = U n n 0, es decir, * = 0 U 1 U 2 U 3 U ...
* se llama conjunto de todas las palabras posibles sobre .
Adems, existe una variante muy parecida, pero que excluye a la cadena vaca :
+ = U n n , es decir, + = 1 U 2 U 3 U 4 U ...
+ se llama conjunto de todas las palabras no vacas sobre .
La forma de relacionar los dos conjuntos es:
* = + U {
}.
Conviene aclarar que 0 = { 0, 1, 2, 3, 4, ... }, mientras que = { 1, 2, 3, 4,
5, ... }.
Determinar finalmente las palabras del Lenguaje Formal, en caso de que las
reglas gramaticales (en forma natural o textual) fuesen, por ejemplo:
La cadena es de longitud menor o igual a tres.
La cadena finaliza con x con z.
La cadena no inicia con y.
Se debe recalcar que en este caso se est empleando una Gramtica Natural (no
Formal) para no intentar asimilar tantos conceptos innovadores en forma