Beruflich Dokumente
Kultur Dokumente
CAPITULO 1
1. Elementos bsicos de la teora de lenguajes y conjuntos.
1.1.
CONCEPTO
Es una rama de la informtica que se encarga del diseo,
implementacin anlisis, caracterizacin y clasificacin de lenguajes de
programacin y su caractersticas. Es un campo multidisciplinar,
dependiendo tanto de (y en algunos casos afectando) a las matemticas,
ingeniera del software, lingstica, e incluso ciencias cognitivas. Es una
rama bien reconocida de la informtica, y un rea activa de investigacin,
con resultados publicados en un gran nmero de revistas dedicadas a la
PLT, as como en general en publicaciones de informtica e ingeniera.
Un smbolo no oficial de la teora de lenguajes de programacin es la letra
griega lambda en minsculas. Este uso deriva del clculo lambda, un
modelo computacional ampliamente usado por investigadores de
lenguajes de programacin. Muchos textos y artculos sobre
programacin y lenguajes de programacin utilizan lambda de una u otra
manera.
1.2.
1.3.
chmod +x program
Este script genera un nuevo programa que imprime por pantalla los
nmeros 1 a 992. Esto es slo una muestra de cmo usar cdigo
para escribir ms cdigo, no la forma ms eficiente de imprimir una
lista de nmeros. En cualquier caso, un buen programador puede
escribir y ejecutar esta meta programa en apenas un par de
minutos, y habr generado exactamente 1000 lneas de cdigo en
esa cantidad de tiempo.
1.3.8. Lenguajes dedicados (Resumen)
Son lenguajes construidos para resolver problemas en un dominio
de problemas en particular de manera eficiente.
1.4.
1.5.
VOCABULARIO O ALFABETO
Un vocabulario o alfabeto es un conjunto finito de smbolos, no vaco.
Para definir que un smbolo a pertenecer a un alfabeto V, se utiliza la
siguiente notacin a V . Los alfabetos se definen por enumeracin de
los smbolos que contienen, podemos ver los siguientes ejemplos:
1.6.
V1={A,B,C,D,E,F,..,X,Y,Z}
V2={a,b,c,d,0,1,2,3,4,*,#,+}
V3={0,1}
V4={if, then, begin, end, else, a,b,;,=,>}
Tambin se pueden definir las tablas ASCII y EBCDIC como los
alfabetos de distintos ordenadores.
CADENA
Una cadena es una secuencia finita de smbolos de un determinado
alfabeto. Ejemplo. Tomando en cuenta los alfabetos o vocabularios
definidos anteriormente, podemos decir que:
En caso de que se desee por ejemplo unas " " dentro de las comillas de la
cadena de carcter es necesario realizar la accin que se denomina
escapar un carcter que consiste en precederlo de una es decir. Los
caracteres especiales que pueden aparecer dentro de un documento con
delimitacin son:
1.6.1. LONGITUD DE CADENA
La longitud de una cadena consiste en el nmero de smbolos
pertenecientes a la cadena. Ejemplo: Tomando en cuenta los
ejemplos de cadena podemos decir que:
|abcb| es de longitud 4
|a + 2*b| es de longitud 5
|000111| es de longitud 6
|if a>b then a=b;| es de longitud 9
CAPITULO 2
2. Cadenas y gramticas formales.
2.1.
QU ES UNA GRAMATICA?
2.2.
CAPITULO 3
3. Expresiones Regulares
3.1.
DEFINICION
Las expresiones regulares son un metalenguaje para describir a otros
lenguajes. (Resumen)
Surgen para poder representar de manera condensada un lenguaje.
(Resumen)
Las expresiones regulares se corresponden con los lenguajes y es por esto
que guardan una relacin con los vocabularios o alfabetos. (Resumen)
Representan a los lenguajes regulares y su propsito es simplificar la
escritura de estos lenguajes. (Resumen)
Su objetivo es representar todos los posibles lenguajes definidos sobre un
alfabeto en base a una serie de lenguajes primitivos y unos operadores de
composicin. (Resumen)
Se usan como un lenguaje para describir patrones en texto que son sencillos
pero muy tiles. (Resumen)
3.2.
A. UNION O ALTERNATIVA:
B. CONCATENACION:
C. PORTENCIA DE UN LENGUAJE: No existe pero se toma por ello un caso
particular de la concatenacin.
D. CIERRE U OPERACIN ESTRELLA:
E. CIERRE POSITIVO:
3.3.
PRECEDENCIA DE OPERACIONES
Teorema
Dos expresiones regulares son iguales, si designan al mismo conjunto
regular.
3.4.
PROPIEDADES
Resolucion:
aa*bb* =
aa0bb0i= ab
aa1bb0= aab
aa3bb0= aaaab
aa0bb3= abbb
aa0bb1=abb
aa3bb0=aaaab
Sea la ER (0 | 1)
+
+ ++
Esto es igual a (0 | 1) = (0 1 )