Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
ESCUELA DE SISTEMAS
ASIGNATURA: Compiladores
AUTOR/ES:
Jos Chacan
2017-01
Introduccin
# 1 "prueba.c"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "prueba.c"
# 1 "c:\\mingw\\include\\conio.h" 1 3
# 16 "c:\\mingw\\include\\conio.h" 3
# 1 "c:\\mingw\\include\\_mingw.h" 1 3
# 55 "c:\\mingw\\include\\_mingw.h" 3
# 56 "c:\\mingw\\include\\_mingw.h" 3
# 66 "c:\\mingw\\include\\_mingw.h" 3
# 1 "c:\\mingw\\include\\msvcrtver.h" 1 3
# 35 "c:\\mingw\\include\\msvcrtver.h" 3
# 36 "c:\\mingw\\include\\msvcrtver.h" 3
# 67 "c:\\mingw\\include\\_mingw.h" 2 3
# 1 "c:\\mingw\\include\\w32api.h" 1 3
# 35 "c:\\mingw\\include\\w32api.h" 3
# 36 "c:\\mingw\\include\\w32api.h" 3
# 59 "c:\\mingw\\include\\w32api.h" 3
# 1 "c:\\mingw\\include\\sdkddkver.h" 1 3
# 35 "c:\\mingw\\include\\sdkddkver.h" 3
# 36 "c:\\mingw\\include\\sdkddkver.h" 3
# 60 "c:\\mingw\\include\\w32api.h" 2 3
# 74 "c:\\mingw\\include\\_mingw.h" 2 3
# 17 "c:\\mingw\\include\\conio.h" 2 3
# 24 "c:\\mingw\\include\\conio.h" 3
char* __attribute__((__cdecl__)) __attribute__((__nothrow__)) _cgets (char*);
int __attribute__((__cdecl__)) __attribute__((__nothrow__)) _cprintf (const char*, ...);
int __attribute__((__cdecl__)) __attribute__((__nothrow__)) _cputs (const char*);
int __attribute__((__cdecl__)) __attribute__((__nothrow__)) _cscanf (char*, ...);
# 4 "prueba.c"
int main ()
{
printf ("************************************************\n");
printf (" !!! HOlA PROGRAMA REALIZADO POR JOSE CHACAN !!!\n");
printf ("************************************************\n");
getch ();
return 0;
}
.file "prueba.c"
.def ___main; .scl 2; .type 32; .endef
.section .rdata,"dr"
LC0:
.ascii "!!! HOLA PROGRAMA REALIZADO POR JOSE CHACAN!!!\0"
.text
.globl _main
.def _main; .scl 2; .type 32; .endef
_main:
pushl %ebp
movl %esp, %ebp
subl $8, %esp
andl $-16, %esp
movl $0, %eax
addl $15, %eax
addl $15, %eax
shrl $4, %eax
sall $4, %eax
movl %eax, -4(%ebp)
movl -4(%ebp), %eax
call __alloca
call ___main
movl $LC0, (%esp)
call _printf
leave
ret
.def _printf; .scl 3; .type 32; .endef
5. Cdigo ejecutable
CONCLUSIN
ESCUELA DE SISTEMAS
ASIGNATURA: Compiladores
CONCEPTUALIZACIN
AUTOR/ES:
Jos Chacan
2017-01
Introduccin
Una expresin regular describe una o ms cadenas que deben coincidir al buscar en un
cuerpo de texto. La expresin acta como un modelo de caracteres que se compara con
el texto que se busca. Es posible usar expresiones regulares para buscar modelos en una
cadena, reemplazar texto y extraer subcadenas.
Objetivos
Determinar la relacin del compilador con otros programas.
Desarrollo
El analizador lxico debe analizar e identificar slo un conjunto finito de cadena
vlida/token/lexeme que pertenecen al lenguaje de la mano. Busca el modelo definido
por las normas del lenguaje.
Hay una serie de leyes algebraicas que son obedecidas por las expresiones regulares,
que puede ser usado para manipular las expresiones regulares en formas equivalentes.
Operaciones
Las diferentes operaciones sobre los idiomas disponibles son:
L U M = {s | s en L o s es en M}
LM = {st | s es en L y t se encuentra en M}
La clausura de Kleene un lenguaje L es escrito como
Anotaciones
Si r y s son expresiones regulares denotando las lenguas L(r) y L(s), a continuacin,
Unin: (r) | (s) es una expresin regular que denota L(r) U L(s)
Precedencia y asociatividad
Practica laboratorio 2
Primeramente abrimos nuestra cuenta de correo drive para hacer nuestra expresin regular
Una vez creado el formulario procedemos a realizar la primera pregunta preguntas: Nombre
Le ponemos como descripcin que reciba mximo 2 palabras en maysculas.
Escogemos la opcion expresion regular y coincide con y el patron para hacer el ingreso de nombres en
mayuscula es [A-Z]+\s{0,1}[A-Z]*
De la misma forma hacemos para hacer el ingreso de los apellidos y el patrn para esta expresin regular
es la misma de los nombres con la diferencia de que el * la cambiamos por el sigo + : [A-Z]+\s{0,1}[A-
Z]+
La siguiente pregunta dice reconocer nmeros enteros de 0 hasta 256 y la expresin a utilizar es: ([0-9]|
[1-9][0-9]|2[1-4][0-9]|25[0-6])
Para la siguiente expresin regular es similar al de la anterior para ello utilizamos el siguiente patrn ([0-
9]|-[1-9][0-9]|[1-9][0-9][0-9]|[1-4][0-9][0-9][0-9]|52[-9][0-9]|52[1-7][0-9]|528[0-4])
Conclusin
Expresin regular es una notacin para importante especificacin de patrones. Cada
patrn coincide con un conjunto de cadenas, de modo que las expresiones regulares
como nombres para un conjunto de cadenas. Fichas lenguaje de programacin puede
ser descrita por los idiomas. La especificacin de las expresiones regulares es un
ejemplo de una definicin recursiva. Lenguajes regulares son fciles de comprender y
tener eficacia en su aplicacin.