Compiladores y sus aplicaciones

Slides:



Advertisements
Presentaciones similares
Introducción a la programación
Advertisements

La gran carrera de los frijoles
CAZAS DE TESOROS Actividad didáctica para integrar internet en el currículo muy utilizadas en países anglosajones y de reciente introducción en España.
Moodle.
SERVICIOS WEB EN.NET INTEGRANTES: ADRIANA BLANCO PEÑA MIRIAM SORIANO HERNANDEZ ALVARO PETROVICH CID CONTRERAS LUIS RAMIREZ PALESTINO.
CUPS Configuración y Uso de Paquetes de Software
¿Qué es Sofware? Son el conjunto de instrucciones que dirigen las actividades del Hardware Consiste en programas, módulos de soporte y archivos de datos,
Framework de.Net Infraestructura sobre la que se reúne todo un conjunto de lenguajes y servicios que simplifican el desarrollo de aplicaciones Entorno.
Introducción a Moodle.
RSS Y LECTORES.
Productos Comunicativos
Tecnologías para desarrollo de aplicaciones web. Un caso de uso
¿Cómo hacer para que una máquina comprenda el LN?
Desarrollo de un entorno de programación para Máquinas de Turing
INTRODUCCIÓN A JAVA.
Arquitectura Orientada a Servicios (SOA)
Caza del tesoro.
INSTITUTO TECNOLOGICO DE MINATITLAN
"java del lado del servidor" Servlet y JSP Java Server Pages.
Propósito Introducción Tema Actividades de aprendizaje Actividades de aprendizaje El éxito fundamental de la web se basa en tres aspectos principales:
INTERNET Y SUS APLICACIONES
WWW (World Wide Web) Pedro José López Javier Díaz
Aplicaciones en línea:aquellas aplicaciones que los usuarios pueden utilizar accediendo a un servidor web a través de Internet o de una intranet mediante.
3. Elaboración de un Portafolio Digital
ALGORITMOS, LENGUAJES Y TECNICAS DE PROGRAMACION
WIKI. QUE ES UN WIKI? Es un sitio web cuyas páginas web pueden ser editadas por múltiples voluntarios a través del navegador web. Los usuarios pueden.
Mara III Este es un software de adquisición de datos que se presenta como paquete cerrado, de bajo costo y amplias prestaciones Software de Adquisisción.
Desarrollo de Aplicaciones Utilizando Java Edición Empresarial – JEE6
SQL. PRESENTADO POR: JHENYFER PUENTES ADRIANA LOTE MARCO YEPEZ ROQUE ECHEVARRIA CARLOS ROBLES JAVIER TRUJILLO.
Diseño de una base de datos Zavaleta Nolasco Karina
InfoPath Ventajas y Uso.
 Fue en el año 1945 cuando el matemático Jhon Von Neumann, fascinado por las posibilidades del ENIAC, demostró que una computadora podía tener una estructura.
Lenguajes de programación Web
LENGUAJES DE PROGRAMACION son herramientas que nos permiten crear programas y software. Entre ellos tenemos Delphi, Qbasic, Visual Basic, Pascal, Java,
Servidores LAMP (Linux Apache MySQL PHP) ING CARLOS EDUARDO PUENTES F. UNIVERSIDAD MANUELA BELTRAN.
Ing. Eddye Sánchez Castillo. Tecnología de Software  Introducción  Características  Deterioro  Evolución  Software Heredado  Software Libre  Software.
Marco Conceptual para la Gestión de Conocimiento de entornos de colaboración: aplicación a la creación de un portal de revistas electrónicas EUITIO Daniel.
Lenguajes de programación para la web Lenguaje html Lenguaje java script Es un lenguaje estático para el desarrollo de sitios web Ventajas: Sencillo que.
Ingeniería en Sistemas de Información Diseño de Sistemas (3K1)
INTRODUCCIÓN A JAVA. Índice ¿Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales ¿Qué ventajas tengo como desarrollador?
Es un tipo de Web estática, la cual fue creada en el año 1994 y utilizada hasta 1997, esta asociada con la tecnología HTML y GIF y las paginas Web son.
UNIDAD EDUCATIVA CALASANZ Manual de usos de WORDPRESS. NOMBRE: Melissa Veintimilla Labanda Curso: 1º ´´C´´ FECHA: 29 de marzo del 2015.
Uso del calendario Google en un curso de MID Dra. Perla A. Salinas Olivo Dr. Jorge A. Ramírez Vargas Mtra. Rebeca E. Arias Santos Ing. Emilio Esparza.
FRAMEWORK VS Código fuente
DOKEOS ANGELA PATRICIA MORENO CAÑON COD INTRODUCCION A LA INGENIERIA.
Informática Básica Unidad II
Teoría de Autómatas y Lenguajes Formales Informática Técnica de Gestión ESCUELA SUPERIOR DE INFORMATICA Universidad de Castilla-La Mancha Tema 1. Introducción.
PROGRAMAS INFORMATICOS
FACULTAD DE CIENCIAS ECONÓMICAS Y EMPRESARIALES PASOS PARA INSTALAR JOOMLA MIGUEL OTERO R. PROFESOR: JONATHAN VEGA GESTIÓN DE INFORMACIÓN WEB.
Introducción al Lenguaje. ¿ Qué es PHP ? O Hypertext Pre-processoes (PHP) es un lenguaje de "código abierto" interpretado, de alto nivel, embebido en.
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:21 PRESENTACION: BASE DE DATOS ALUMNAS: Adán Millán Sánchez.
Cristian Fonnegra Marin
María José Freire Mayra Coello Juan Francisco Pérez
DESARROLLO DE APPS MÓVILES - Introducción COMPUTER DATA SYSTEMS.
III. DESARROLLO DE SISTEMAS.. Podemos definir el desarrollo de sistemas informáticos como el proceso mediante el cual el conocimiento humano y el uso.
Google Talk y Google Docs
Tema 11 Bases de Datos y el Lenguaje SQL
Conceptos Básicos ¿Qué es un blog? Un blog, (también se conocen como weblog o bitácora), es un sitio web que recopila cronológicamente textos o artículos.
APACHE WEB SERVER El proyecto Apache Web Server es un desarrollo de software en colaboración, enfocado en crear una implementación de un servidor HTTP.
Universidad de Carabobo Facultad Ciencias de la Educación Escuela de Educación Departamento de Matemática Trabajo Colaborativo Wikipedia Integrantes:
KompoZer Es un completo sistema de Web que combina archivos Web manejables y de fácil uso del editor de páginas WYSIWYG. Hay binarios disponibles para.
Compilador Es un programa informático que traduce un programa escrito en un lenguaje de programación a otro lenguaje de programación, generando un programa.
Introducción al Lenguaje. ¿Qué es PHP? O Es un lenguaje de programación que es interpretado por un servidor web. O El lenguaje es genérico. PHP está orientado.
INTRODUCCIÓN A LA INGENIERIA DE SOFTWARE ALUMNO MILLER ANDRES GALINDO DUCUARA (412088)
 Panorama General Fundamentos de Programación M.I. Jaime Alfonso Reyes Cortés.
ALUMNO: Benjamin López Suarez PROFESOR: José Juan Ulin Ricardez MATERIA: Diseño Web PRESENTACION: Herramientas para desarrollo web.
BUSINESS T&G Think & Grow Uniclass Facturación Ahorra tiempo en los procesos de facturación.
PAGINAS WEB DENIS SILVA PARRAL SARAI LOPEZ GONZALEZ.
10-Febrero Software de aplicación. Héctor Alejandro Bautista Alatriste.
ASPECTOS BÁSICOS IRENE LÓPEZ-REY SÁNCHEZ-CANO DIEGO FRAILE SERRANO MARTÍN CORBACHO LOARTE ALFONSO JOSÉ GÓMEZ BLÁZQUEZ.
Transcripción de la presentación:

Compiladores y sus aplicaciones Daniel Doctor Soriano FLISOL 2009

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

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.

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 

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

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.

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

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.

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.

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

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.

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.

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.

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”.

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

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

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!

Gracias por su atención. Mi correo: webmaster@smartdsign.net Sitios web: http://www.ubicuos.com http://www.smartdsign.net