La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Compiladores y sus aplicaciones

Presentaciones similares


Presentación del tema: "Compiladores y sus aplicaciones"— Transcripción de la presentación:

1 Compiladores y sus aplicaciones
Daniel Doctor Soriano FLISOL 2009

2 Agenda Presentación Objetivos Lenguajes
¿Por qué escribir nuestro propio lenguaje? Iniciamos poco a poco Algo divertido Sorpresa Sección de Preguntas y Respuestas

3 Presentación Mi nombre es Daniel Doctor Soriano.
Soy ex-alumno de ESCOM. He trabajado en diversos proyectos de tecnologías de la información (Sistemas empresariales, Sitios Web, aplicaciones móviles, Sistemas GIS). Promotor del software libre y de código abierto desde el año 2003.

4 Objetivo de esta plática
Servir de introducción a los interesados en el diseño y construcción de compiladores. Conocer algunas técnicas simples y desarrollar programas que hagan uso de ellas. Ver que finalmente no es imposible. Divertirse un rato 

5 Compiladores y Lenguajes.
Vamos por una definición (simplificada) “Un compilador es un programa que traduce enunciados de un lenguaje a otro”. En la práctica normalmente asociamos y conocemos compiladores de: C -> Código máquina Java-> Java ByteCodes C# -> MSIL

6 Sin embargo… Un compilador es un programa que traduce entre lenguajes y estos no necesariamente tienen que ser C o Java. Podemos hacer compiladores no-convencionales. Un convertidor de texto a imagen o viceversa, Un corrector ortográfico. Generadores de código. Los traductores de un idioma a otro.

7 El cielo es el límite En general cualquier programa que ha alcanzado cierto desarrollo incluye este tipo de tecnologías como pueden ser: Gestores de base de datos. Entornos de desarrollo Aplicaciones empresariales. Navegadores web

8 Si no te gusta un lenguaje diseña el tuyo…
Existen múltiples lenguajes diseñados para satisfacer los gustos y necesidades de los programadores.

9 Gramáticas y lenguajes
Una gramática es una forma de describir como está estructurado un lenguaje y es la herramienta fundamental para trabajar con ellos.

10 Niveles de Lenguajes Según Chomsky : Tipo Lenguaje Autómata
Recursivamente enumerable Máquina de Turing 1 Dependiente del Contexto Autómata linealmente acotado 2 Independiente del Contexto Autómata con pila 3 Regular Autómata finito

11 Para nuestros ejemplos…
Nos bastan con gramáticas de nivel 3 y en caso de querer hacer un lenguaje más potente una de nivel 2.

12 Expresiones Regulares
Son una forma sencilla de buscar patrones en un texto. Se implementan en un autómata de estados finitos (que finalmente es una matriz). Los lenguajes de programación más populares tienen bibliotecas que ya las implementan : Perl, Java, C#, Ruby.

13 RegExp Basic Los operadores más usados son:
. (Punto) que indica cualquier carácter [a-z] Intervalo * (Ninguno o más caracteres) + (Uno o más) Cada implementación tiene muchos más operadores disponibles pero este es el conjunto básico.

14 Veamos un código de Ejemplo C#
Por que C#? Es un lenguaje fácil de aprender con varias implementaciones (MS, Mono). Soporta Expresiones regulares. Se parece a C y Java. Necesitaba aprender C# y este fue mi “Hola mundo”.

15 Presentando Ubicuos.com
¿Qué es Ubicuos.com? Es nuestro esfuerzo encaminado a ofrecer noticias, seguimiento de eventos, ayuda para programación y publicidad a los proyectos de software. Resolvemos dudas y apoyamos eventos. Publicamos material. Ofrecemos cursos

16 Colabora! Colaborar con nosotros es fácil y tendrás las siguientes ventajas. Apoyo de publicidad. Acceso a materiales adicionales. Promociones. Reuniones de negocios o investigación exclusivas. Soporte currícular

17 Por último… Buscamos desarrolladores para cubrir una plaza.
Programación en lenguaje de scripting (Perl, PHP, Ruby, o Python). SQL (INSERT, SELECT, UPDATE, DELETE) Gusto por aprender y disponibilidad de tiempo!

18 Gracias por su atención.
Mi correo: Sitios web:


Descargar ppt "Compiladores y sus aplicaciones"

Presentaciones similares


Anuncios Google