Tema 1: Introducción

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Tema 1: Introducción"

Transcripción

1 Tema 1: Introducción Procesamiento de Lenguajes Dept. de Lenguajes y Sistemas Informáticos Universidad de Alicante Procesamiento de Lenguajes Tema 1: Introducción 1 / 12 Definición de compilador Un compilador es un programa que traduce de un lenguaje fuente (normalmente un lenguaje de programación de alto nivel) a un lenguaje objeto (normalmente código máquina) IMPORTANTE: un compilador es un traductor Un IDE (Integrated Development Environment) no es un compilador, un IDE suele tener un buen editor, y llama al compilador y enlazador, y suele integrar un depurador. Procesamiento de Lenguajes Tema 1: Introducción 2 / 12

2 Tipos de procesadores de lenguaje LENGUAJE FUENTE LENGUAJE OBJETO traductor/conversor alto alto compilador alto bajo ensamblador medio/bajo bajo preprocesador alto alto intérprete alto medio (*) (*) la mayoría de los intérpretes actuales precompilan el programa fuente y generan un código intermedio Procesamiento de Lenguajes Tema 1: Introducción 3 / 12 Qué vamos a estudiar? Las técnicas y algoritmos que vamos a estudiar se aplican al diseño de compiladores, pero se pueden aplicar en otras tareas que requieran el procesamiento y/o traducción de lenguajes informáticos: Traductores automáticos de lenguajes humanos (ejemplo: internostrum, Apertium,...) Visores de PDF (evince, acroread,...) Navegadores web (Firefox, Chrome,...) Ficheros de configuración (.ini...)... Procesamiento de Lenguajes Tema 1: Introducción 4 / 12

3 Historia de los compiladores Los primeros compiladores eran humanos: Los primeros compiladores no humanos eran compiladores cruzados (cross-compilers): en una máquina se generaba código para ser ejecutado en otra máquina. Cuando se diseñaba una nueva arquitectura, lo primero que se hacía era diseñar un cross-compiler en una arquitectura conocida, para poder compilar el compilador nativo en la nueva arquitectura. Procesamiento de Lenguajes Tema 1: Introducción 5 / 12 Diseño de compiladores C C++ Pascal FORTRAN Cobol Ada 8086 RISC N lenguajes fuente M lenguajes objeto NxM compiladores Procesamiento de Lenguajes Tema 1: Introducción 6 / 12

4 intermedio FRONT END C C++ Pascal FORTRAN Cobol Ada Intermedio BACK END 8086 RISC N lenguajes fuente M lenguajes objeto N front end + M back end Procesamiento de Lenguajes Tema 1: Introducción 7 / 12 intermedio (mundo real) FRONT END C C++ Pascal FORTRAN Cobol Ada Intermedio 1 Intermedio 2 Intermedio 3 BACK END 8086 RISC Procesamiento de Lenguajes Tema 1: Introducción 8 / 12

5 Fases de un compilador Internamente, un compilador se organiza en varias fases o partes que interaccionan entre sí: 1 Análisis léxico 2 Análisis sintáctico 3 Análisis semántico 4 Gestión de errores 5 Tabla de símbolos 6 Generación de código intermedio 7 Optimización de código intermedio 8 Generación de código objeto 9 Optimización de código objeto Procesamiento de Lenguajes Tema 1: Introducción 9 / 12 Estructura estándar de un compilador Gestión errores Tab.Símbolos A. Semántico Programa fuente A. Léxico A. Sintáctico Generación Cód. Intermedio FRONT END Programa Cód.Intermedio Optimización Intermedio BACK END Generación Objeto Optimización Objeto Programa Cód. Objeto Procesamiento de Lenguajes Tema 1: Introducción 10 / 12

6 Cómo se especifica un traductor/compilador? Especificación léxica: expresiones regulares, AFD, diagramas de transiciones Especificación sintáctica: gramáticas independientes del contexto Especificación semántica: sistema de tipos, restricciones semánticas Especificación de la traducción: gramáticas de atributos, DDS, ETDS Procesamiento de Lenguajes Tema 1: Introducción 11 / 12 Ejemplo de traducción 2+35*4 suma(2,prod(35,4)) 2-3/(4+5*6) resta(2,div(3,suma(4,prod(5,6)))) suma(resta(2,3),4) resta(suma(resta(2,3),4),5) Hay dos formas de resolver este problema: 1 A mano (difícil) 2 Utilizando técnicas para el diseño de compiladores: análisis léxico, análisis sintáctico, traducción dirigida por la sintaxis (chupao) Procesamiento de Lenguajes Tema 1: Introducción 12 / 12

Tema 1: Introducción

Tema 1: Introducción Tema 1: Introducción Procesamiento de Lenguajes Dept. de Lenguajes y Sistemas Informáticos Universidad de Alicante Procesamiento de Lenguajes Tema 1: Introducción 1 / 28 Definición de compilador Un compilador

Más detalles

Tema 1: Introducción

Tema 1: Introducción Tema 1: Introducción Procesamiento de Lenguajes Dept. de Lenguajes y Sistemas Informáticos Universidad de Alicante Procesamiento de Lenguajes Tema 1: Introducción 1 / 12 Definición de compilador Un compilador

Más detalles

Lenguaje de programación. COMPILADORES Unidad I: Introducción al proceso de compilación

Lenguaje de programación. COMPILADORES Unidad I: Introducción al proceso de compilación COMPILADORES Unidad I: Introducción al proceso de compilación Flor Prof. Flor Narciso GIDyC-Departamento de Computación LABSIULA-Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de

Más detalles

Elementos para el estudio de los compiladores

Elementos para el estudio de los compiladores Ing. Adrian Ulises Mercado Martínez Enero 30, 2015 Ing. Adrian Ulises Mercado Martínez Enero 30, 2015 1 / 51 1 Objetivo 2 Historia 3 Traductor Tipo de Traductores Compilador Intérprete Máquina Virtual

Más detalles

Tema 1.1. Un lenguaje mínimo y su procesador: Introducción

Tema 1.1. Un lenguaje mínimo y su procesador: Introducción Tema 1.1. Un lenguaje mínimo y su procesador: Introducción Profesor Federico Peinado Elaboración del material José Luis Sierra Federico Peinado Facultad de Informática Universidad Complutense de Madrid

Más detalles

TEMA 2: Algoritmos y Programas. Fundamentos de Informática (Grados en Ingenierías Industriales)

TEMA 2: Algoritmos y Programas. Fundamentos de Informática (Grados en Ingenierías Industriales) TEMA 2: Algoritmos y Programas Fundamentos de Informática (Grados en Ingenierías Industriales) Índice de contenidos 1. Introducción. Conceptos básicos 2. Representación de algoritmos. 3. Metodología de

Más detalles

descripción del argumento identificador tipo longitud condición restricción

descripción del argumento identificador tipo longitud condición restricción Recuerde que estos son apuntes muy simplificados que deberá completar con la bibliografía PROGRAMACIÓN 0 Prof. Dolores Cuiñas H. recomendada APUNTES Nº. METODOLOGÍA PARA LA CONSTRUCCIÓN DE PROGRAMAS. Presentaremos

Más detalles

Tema 3: Análisis sintáctico descendente. Cómo funciona el analizador sintáctico?

Tema 3: Análisis sintáctico descendente. Cómo funciona el analizador sintáctico? Tema 3: Análisis sintáctico descendente Procesamiento de Lenguajes Dept. de Lenguajes y Sistemas Informáticos Universidad de Alicante Procesamiento de Lenguajes Tema 3: Análisis sintáctico descendente

Más detalles

LAS ETAPAS DE LA METODOLOGIA METRICA

LAS ETAPAS DE LA METODOLOGIA METRICA LAS ETAPAS DE LA METODOLOGIA METRICA La metodología Métrica está estructurada en Fases, Módulos, Actividades y Tareas. FASE 0: PLAN DE SISTEMAS DE INFORMACION Se realiza la planificación estratégica de

Más detalles

TEMA 2: Lenguajes de programación

TEMA 2: Lenguajes de programación TEMA 2: Lenguajes de programación 2.1.- Introducción a los lenguajes de programación Qué es un lenguaje? Conjunto de símbolos y palabras (vocabulario o léxico) y conjunto de reglas (sintaxis y semántica)

Más detalles

Lenguajes de Cuarta Generación (4GL)

Lenguajes de Cuarta Generación (4GL) Lenguajes de Cuarta Generación (4GL) Herramientas de Diseño Prof. Víctor Valenzuela R. Contenido Introducción Breve Reseña Histórica Lenguaje de Cuarta Generación Áreas Funcionales Tipos de 4GL Componentes

Más detalles

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria.

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria. 1.2. Jerarquía de niveles de un computador Qué es un computador? Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria. Sistema complejo se estudia

Más detalles

Lenguajes de programación

Lenguajes de programación Introducción Lenguajes de programación Primera generación: lenguajes máquina Los programas se escriben en código binario 000001011010000000000000 Segunda generación: lenguajes simbólicos Cada instrucción

Más detalles

INTRODUCCIÓN A LA PROGRAMACIÓN

INTRODUCCIÓN A LA PROGRAMACIÓN INTRODUCCIÓN A LA PROGRAMACIÓN Dpto. Escultura. Facultad de BB.AA. Valencia. UPV Prof. Moisés Mañas Carbonell Dpto. Escultura. UPV moimacar@esc.upv.es DÓNDE ESTAMOS/ DÓNDE VAMOS A TRABAJAR? PROCESADORES

Más detalles

Unidad 2. Introducción Lenguajes y Compiladores

Unidad 2. Introducción Lenguajes y Compiladores Unidad 2 Introducción Lenguajes y Compiladores Principal material bibliográfico utilizado Compiladores Principios, técnicas y herramientas. Aho y Ullman. Addison Wesley. www.jorgesanchez.net www.iqcelaya.itc.mx/~vicente/programacion/tradcomp.pdf

Más detalles

Autómatas Finitos y Lenguajes Regulares

Autómatas Finitos y Lenguajes Regulares Autómatas Finitos y Lenguajes Regulares Problema: Dado un lenguaje L definido sobre un alfabeto A y una cadena x arbitraria, determinar si x L o x L. Cadena x AUTOMATA FINITO SI NO Lenguaje Regular Autómatas

Más detalles

Bloque II. Elementos del lenguaje de programación Java

Bloque II. Elementos del lenguaje de programación Java Bloque II. Elementos del lenguaje de programación Java 1.Introducción a los lenguajes de programación 2. Estructura de un programa 3. Datos y expresiones simples 4. Instrucciones de control 5. Entrada/salida

Más detalles

Programación Digital I

Programación Digital I Programación Digital I Programación Digital I Gilberto Diaz gilberto@ula.ve Universidad de Los Andes Facultad de Ingeniería Escuela de Sistemas Depto de Computación Mérida - Venezuela Repaso Componentes

Más detalles

Fundamentos de Programación y Bases de Datos

Fundamentos de Programación y Bases de Datos Descripción En la actualidad la mayoría de nuestra vida está basada en el uso de programas informáticos. Para desarrollar un programa informático es necesario transcribir la realidad a dicho programa,

Más detalles

IFCT0610 Administración y Programación en Sistemas de...

IFCT0610 Administración y Programación en Sistemas de... IFCT0610 Administración y Programación en Sistemas de... PARTE 1. MF1213_3 INSTALACIÓN Y CONFIGURACIÓN DE SISTEMAS DE PLANIFICACIÓN DE RECURSOS EMPRESARIALES Y DE GESTIÓN DE RELACIONES CON CLIENTES UNIDAD

Más detalles

Tema 1. Introducción

Tema 1. Introducción Departamento de Tecnologías de la Información Tema 1 Introducción Ciencias de la Computación e Inteligencia Artificial Índice 1.1 Conceptos 1.2 Un poco de historia 1.3 Estructura de un compilador 1.4 Teoría

Más detalles

TEMA V: GENERACIÓN DE CÓDIGO

TEMA V: GENERACIÓN DE CÓDIGO TEMA V: GENERACIÓN DE CÓDIGO Especificaciones Formato intermedio Partición HW/SW Código Implementación HW Integración Verificación ARQUITECTURAS DEL SISTEMA SOFTWARE Conjunto de instrucciones Pipeline?

Más detalles

Compiladores: Introducción

Compiladores: Introducción Compiladores: Introducción Pontificia Universidad Javeriana Cali Ingeniería de Sistemas y Computación Prof. Gloria Inés Alvarez V. (galvarez@puj.edu.co) Basado en [Aho, 2007, chp. 1] Qué es un COMPILADOR?

Más detalles

Titulación de Formación Profesional: TÉCNICO SUPERIOR EN ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED (Real Decreto1629/2009, de 30 de octubre)

Titulación de Formación Profesional: TÉCNICO SUPERIOR EN ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED (Real Decreto1629/2009, de 30 de octubre) Titulación de Formación Profesional: TÉCNICO SUPERIOR EN ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED (Real Decreto1629/2009, de 30 de octubre) IMPLANTACIÓN DE SISTEMAS OPERATIVOS ADMINISTRACIÓN DE SISTEMAS

Más detalles

Lenguajes y Compiladores Introducción. Compiladores 1

Lenguajes y Compiladores Introducción. Compiladores 1 Facultad de Ingeniería de Sistemas Lenguajes y Introducción 1 Objetivos Conocer los fundamentos de construcción de en todas sus fases, presentando los conceptos básicos, definiciones formales, técnicas

Más detalles

Prácticas de Lenguajes, Gramáticas y Autómatas

Prácticas de Lenguajes, Gramáticas y Autómatas Prácticas de Lenguajes, Gramáticas y Autómatas Cuarto cuatrimestre (primavera) de Ingeniería en Informática Curso 2003-2004 http://webdiis.unizar.es/asignaturas/lga Profesor Responsable: Rubén Béjar Hernández

Más detalles

Etapas para la solución de un problema por medio del computador

Etapas para la solución de un problema por medio del computador Algoritmos. Definición Un algoritmo se puede definir como una secuencia de instrucciones que representan un modelo de solución para determinado tipo de problemas. O bien como un conjunto de instrucciones

Más detalles

Unidad I Introducción a la programación de Sistemas. M.C. Juan Carlos Olivares Rojas

Unidad I Introducción a la programación de Sistemas. M.C. Juan Carlos Olivares Rojas Unidad I Introducción a la programación de Sistemas M.C. Juan Carlos Olivares Rojas Agenda 1.1 Qué es y que estudia la programación de sistemas? 1.2 Herramientas desarrolladas con la teoría de programación

Más detalles

CCU Esri Colombia 2014 Taller Técnico Introducción a CityEngine

CCU Esri Colombia 2014 Taller Técnico Introducción a CityEngine Introducción a CityEngine Sidney Rocio Bernal Cárdenas CCU Esri Colombia 2014 Agenda Introducción a CityEngine 1. SIG 3D 2. Diseñando en CityEngine Características Modelado de Procesos 3. Integración ArcGIS

Más detalles

INTRODUCCIÓN A COMPILADORES Y LENGUAJES FORMALES FUNDAMENTOS DE COMPILADORES

INTRODUCCIÓN A COMPILADORES Y LENGUAJES FORMALES FUNDAMENTOS DE COMPILADORES Todos los derechos de propiedad intelectual de esta obra pertenecen en exclusiva a la Universidad Europea de Madrid, S.L.U. Queda terminantemente prohibida la reproducción, puesta a disposición del público

Más detalles

UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DEPARTAMENTO DE INFORMÁTICA Y ANÁLISIS NUMÉRICO

UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DEPARTAMENTO DE INFORMÁTICA Y ANÁLISIS NUMÉRICO UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DEPARTAMENTO DE INFORMÁTICA Y ANÁLISIS NUMÉRICO PROCESADORES DE LENGUAJES INGENIERÍA INFORMÁTICA PRIMER CURSO DE SEGUNDO CICLO SEGUNDO CUATRIMESTRE Ingeniería

Más detalles

Oracle Database 11g: Programación con PL/SQL Nuevo

Oracle Database 11g: Programación con PL/SQL Nuevo Oracle University Contacte con nosotros: 902 302 302 Oracle Database 11g: Programación con PL/SQL Nuevo Duración: 5 Días Lo que aprenderá Este curso ofrece una introducción sobre PL/SQL a los estudiantes

Más detalles

Programación Java SE 7

Programación Java SE 7 Programación Java SE 7 : 5 Este curso, que es el segundo de una serie de dos cursos que tratan de la plataforma Java Standard Edition 7 (Java SE 7), describe las principales interfaces de programación

Más detalles

Programación de Ordenadores. Dept. Ciencias de la Computación e I.A. Universidad de Granada

Programación de Ordenadores. Dept. Ciencias de la Computación e I.A. Universidad de Granada TEMA Programación de Ordenadores Dept. Ciencias de la Computación e I.A. Universidad de Granada 1 Índice Resolución de Problemas con Ordenadores Algoritmo Metodología de la programación Lenguajes de programación

Más detalles

Bloque 1. La sociedad de la información y el ordenador

Bloque 1. La sociedad de la información y el ordenador Bloque 1. La sociedad la información y el ornador El tratamiento la información y sus aplicaciones a diversos ámbitos la sociedad actual. Las Tecnologías la Información y la Comunicación. Evolución y futuro

Más detalles

UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DEPARTAMENTO DE INFORMÁTICA Y ANÁLISIS NUMÉRICO

UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DEPARTAMENTO DE INFORMÁTICA Y ANÁLISIS NUMÉRICO UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DEPARTAMENTO DE INFORMÁTICA Y ANÁLISIS NUMÉRICO PROCESADORES DE LENGUAJES GRADO EN INGENIERÍA INFORMÁTICA ESPECIALIDAD DE COMPUTACIÓN TERCER CURSO SEGUNDO

Más detalles

José Luis Alonzo Velázquez

José Luis Alonzo Velázquez UG Introducción Universidad de Guanajuato Sesión 1 Temario Sobre la clase: Preguntas Sobre la clase: Tareas Objetivo del Curso Inicio de curso Temario: 1 Introducción a la Programación 1 Karel el Robot

Más detalles

Curso de Computación Científica en Clusters

Curso de Computación Científica en Clusters Pilar González, Juan Piernas, Luis P. García, Javier Cuenca, Juan Fernández, Domingo Giménez UniversidaddeMurcia Introducción Avances en distintas áreas científicas e ingenieriles uso intensivo y extensivo

Más detalles

Teoría de Autómatas y Lenguajes Formales. Capítulo 1: Introducción. Teoría de Autómatas y Lenguajes formales es un repaso a la informática teórica.

Teoría de Autómatas y Lenguajes Formales. Capítulo 1: Introducción. Teoría de Autómatas y Lenguajes formales es un repaso a la informática teórica. Teoría de Autómatas y Lenguajes Formales Capítulo 1: Introducción Holger Billhardt holger.billhardt@urjc.es Introducción Teoría de Autómatas y Lenguajes formales es un repaso a la informática teórica.

Más detalles

José Luis Alonzo Velázquez

José Luis Alonzo Velázquez UG Introducción Universidad de Guanajuato Temario Sobre la clase: Preguntas Sobre la clase: Tareas Objetivo del Curso Inicio de curso Temario: 1 Introducción a la Programación 1 Karel el Robot El robot

Más detalles

UNIVERSIDAD DE LAS PALMAS DE GRAN CANARIA

UNIVERSIDAD DE LAS PALMAS DE GRAN CANARIA UNIVERSIDAD DE LAS PALMAS DE GRAN CANARIA CONSECUENCIAS ADMINISTRATIVAS DE LA EXTINCIÓN DE LOS PLANES DE ESTUDIOS DE INGENIERÍA TÉCNICA EN INFORMÁTICA DE SISTEMAS, INGENIERÍA TÉCNICA EN INFORMÁTICA DE

Más detalles

Parte I: Programación en Ada

Parte I: Programación en Ada Parte I: Programación en Ada 1. Introducción a los computadores y su programación 2. Elementos básicos del lenguaje 3. Modularidad y programación orientada a objetos 4. Estructuras de datos dinámicas 5.

Más detalles

Informática Básica. Definiciones. Conceptos generales e historia

Informática Básica. Definiciones. Conceptos generales e historia Informática Básica Conceptos generales e historia Definiciones Informática: ciencia del tratamiento automático (mediante máquinas) y racional (siguel razonamiento humano) de la información. Computadora:

Más detalles

Todos los estados del país.

Todos los estados del país. FICHA TÉCNICA IDENTIFICACIÓN GENERAL DEL PROYECTO TITULO (NOMBRE) DEL PROYECTO : Sistema Automatizado para la Firma Electrónica y el Estampado de Tiempo (SAFET) LOCALIZACIÓN: (SECTOR, MUNICIPIO, ESTADO)

Más detalles

Capítulo 3 CICLO DE VIDA DE UN PROGRAMA. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

Capítulo 3 CICLO DE VIDA DE UN PROGRAMA. Presentación resumen del libro: EMPEZAR DE CERO A PROGRAMAR EN lenguaje C Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C" Autor: Carlos Javier Pes Rivas (correo@carlospes.com) Capítulo 3 CICLO DE VIDA DE UN PROGRAMA 1 OBJETIVOS Saber qué es la Ingeniería

Más detalles

Objetivos y Temario CURSO SQL SERVER 2012

Objetivos y Temario CURSO SQL SERVER 2012 Objetivos y Temario CURSO SQL SERVER 2012 OBJETIVOS Este curso está dirigido a todos los que comienzan a trabajar con SQL Server 2012. De una forma rápida y concisa obtendrá el conocimiento necesario para

Más detalles

MODELIZACIÓN AUTOMÁTICA DE PROBLEMAS DE REDES DE DISTRIBUCIÓN MEDIANTE TECNOLOGÍA JAVA

MODELIZACIÓN AUTOMÁTICA DE PROBLEMAS DE REDES DE DISTRIBUCIÓN MEDIANTE TECNOLOGÍA JAVA MODELIZACIÓN AUTOMÁTICA DE PROBLEMAS DE REDES DE DISTRIBUCIÓN MEDIANTE TECNOLOGÍA JAVA Angel Cobo Ortega Patricia Gómez García Fac. Económicas y Empresariales - Universidad de Cantabria Av. Los Castros

Más detalles

Parte I: Programación en un lenguaje orientado a objetos

Parte I: Programación en un lenguaje orientado a objetos Parte I: Programación en un lenguaje orientado a objetos 1. Introducción a los lenguajes de programación Lenguajes de alto nivel. El proceso de compilación. El ciclo de vida del software. Concepto de algoritmo.

Más detalles

Nombre de la asignatura : Análisis y Diseño Orientado a Objetos. Carrera : Ingeniería en Sistemas Computacionales. Clave de la asignatura : SCB-

Nombre de la asignatura : Análisis y Diseño Orientado a Objetos. Carrera : Ingeniería en Sistemas Computacionales. Clave de la asignatura : SCB- 1. D A T O S D E L A A S I G N A T U R A Nombre de la asignatura : Análisis y Diseño Orientado a Objetos Carrera : Ingeniería en Sistemas Computacionales Clave de la asignatura : SCB- Horas teoría-horas

Más detalles

El Compilador GNU para C: GCC PROGRAMACIÓN I OTOÑO DE 2018 DR. MARIO ROSSAINZ LÓPEZ

El Compilador GNU para C: GCC PROGRAMACIÓN I OTOÑO DE 2018 DR. MARIO ROSSAINZ LÓPEZ El Compilador GNU para C: GCC PROGRAMACIÓN I OTOÑO DE 2018 DR. MARIO ROSSAINZ LÓPEZ El Compilador GCC GCC es un compilador originario del proyecto GNU que se utiliza para compilar programas escritos en

Más detalles

ÍNDICE CAPÍTULO I AGRADECIMIENTO DEDICATORIA. Página

ÍNDICE CAPÍTULO I AGRADECIMIENTO DEDICATORIA. Página ÍNDICE AGRADECIMIENTO DEDICATORIA CAPÍTULO I Página 1. INTRODUCCIÓN 1.1. Problemática actual en la Web 2 1.2. El proyecto GNU 3 1.2.1. La Free Software Foundation y el proyecto GNU 3 1.2.2. Software Libre

Más detalles

Introducción al Diseño de Compiladores. Año

Introducción al Diseño de Compiladores. Año Introducción al Diseño de Compiladores Año 2003 1 BIBLIOGRAFÍA [AHO] Compilers. Principles, Techniques, and Tools Aho, Sethi; Adisson-Wesley 1986 [TEU] Compiladores: Conceptos fundamentales. Teufel ; Addison

Más detalles

INTRODUCCIÓN...11 CAPÍTULO 1. ELEMENTOS, ESTRUCTURA Y FUNCIONES DE UN SISTEMA OPERATIVO...13

INTRODUCCIÓN...11 CAPÍTULO 1. ELEMENTOS, ESTRUCTURA Y FUNCIONES DE UN SISTEMA OPERATIVO...13 Índice INTRODUCCIÓN...11 CAPÍTULO 1. ELEMENTOS, ESTRUCTURA Y FUNCIONES DE UN SISTEMA OPERATIVO...13 1.1 El sistema informático...14 1.1.1 Tipos de sistemas informáticos...16 1.2 El ordenador...17 1.2.1

Más detalles

Conceptos fundamentales de Algoritmos

Conceptos fundamentales de Algoritmos Conceptos fundamentales de Algoritmos Es una secuencia de acciones para la realización de una tarea determinada. Conjunto de reglas o instrucciones que indican una secuencia lógica de operaciones que proporciona

Más detalles

C1 INTRODUCCIÓN AL LENGUAJE C. Fundamentos de Informática Departamento de Ingeniería de Sistemas y Automática. EII. Universidad de Valladolid

C1 INTRODUCCIÓN AL LENGUAJE C. Fundamentos de Informática Departamento de Ingeniería de Sistemas y Automática. EII. Universidad de Valladolid C1 INTRODUCCIÓN AL LENGUAJE C Fundamentos de Informática Departamento de Ingeniería de Sistemas y Automática. EII. Universidad de Valladolid Índice 1. Lenguajes de Programación 1. Definición. 2. Niveles

Más detalles

PROGRAMACIÓN BÁSICA ii

PROGRAMACIÓN BÁSICA ii i PROGRAMACIÓN BÁSICA ii PROGRAMACIÓN BÁSICA Morelia, Michoacán. México iii Cubierta de CIE-CONALEP Colaboración: Coordinación de Innovación Educativa, CIE/QFB - UMSNH Sistema Nacional de Educación a Distancia,

Más detalles

Presentación de PLN. Datos de la asignatura. Procesamiento del. Lenguaje Natural. Ingeniero en Informática, plan 2000

Presentación de PLN. Datos de la asignatura. Procesamiento del. Lenguaje Natural. Ingeniero en Informática, plan 2000 Presentación de PLN Procesamiento del Lenguaje Natural José María Gómez Hidalgo http://www.esp.uem.es/~jmgomez/ Datos de la asignatura Ingeniero en Informática, plan 2000 Optativa, segundo ciclo, 6 créditos,

Más detalles

PROGRAMA TEMA I.- INTRODUCCIÓN

PROGRAMA TEMA I.- INTRODUCCIÓN UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DEPARTAENTO DE INFORÁTICA Y ANÁLISIS NUÉRICO PROCESADORES DE LENGUAJES INGENIERÍA INFORÁTICA PRIER CURSO DE SEGUNDO CICLO SEGUNDO CUATRIESTRE Ingeniería

Más detalles

Organización. Organización. Llenguatges de Programació Curs Gonzalo Besuievsky IMA - UdG. Horario Miércoles de 9:30 a 13:00

Organización. Organización. Llenguatges de Programació Curs Gonzalo Besuievsky IMA - UdG. Horario Miércoles de 9:30 a 13:00 Llenguatges de Programació Curs 03-04 Gonzalo Besuievsky IMA - UdG Organización Horario Miércoles de 9:30 a 13:00 Tutorías Después de clase por mail: gonzalo@ima.udg.es Página del curso http://ima.udg.es/docencia/03-04/3157ra0008/index.html

Más detalles

Programación de Ordenadores

Programación de Ordenadores Programación de Ordenadores Ingeniería Química David Pelta Depto de Ciencias de la Computación e I.A. Universidad de Granada Índice Resolución de Problemas con Ordenadores Algoritmo Metodología de la programación

Más detalles

Dr. Carlos A. Coello Coello Departamento de Computación CINVESTAV IPN

Dr. Carlos A. Coello Coello Departamento de Computación CINVESTAV IPN Dr. Carlos A. Coello Coello Departamento de Computación CINVESTAV IPN ccoello@cs.cinvestav.mx Por qué estudiar conceptos de Lenguajes de Programación? Para incrementar nuestra capacidad de expresar ideas

Más detalles

Procesadores de lenguaje Tema 1 Introducción a los compiladores

Procesadores de lenguaje Tema 1 Introducción a los compiladores Procesadores de lenguaje Tema 1 Introducción a los compiladores Salvador Sánchez, Daniel Rodríguez Departamento de Ciencias de la Computación Universidad de Alcalá Resumen del tema Traductores Estructura

Más detalles

Universidad Central Del Este U C E Facultad de Ciencias y Humanidades Escuela de Pedagogía Mención Informática

Universidad Central Del Este U C E Facultad de Ciencias y Humanidades Escuela de Pedagogía Mención Informática Universidad Central Del Este U C E Facultad de Ciencias y Humanidades Escuela de Pedagogía Mención Informática Programa de la asignatura: SIS-202 LENGUAJE DE PROGRAMACIÓN I Total de Créditos: 4 Teórico:

Más detalles

Oferta de formación del programa ISTRAM /ISPOL.

Oferta de formación del programa ISTRAM /ISPOL. Oferta de formación del programa ISTRAM /ISPOL. Modelo Descripción Euros ISTRAM /ISPOL FORMACIÓN Curso compartido de la aplicación informática ISTRAM /ISPOL : (Seleccionar lo que proceda) Nivel Iniciación.

Más detalles

PROGRAMACIÓN EN C para uc MCS-51

PROGRAMACIÓN EN C para uc MCS-51 PROGRAMACIÓN EN C para uc MCS-5 Resumen de contenidos - Objetivos 2 - Justificación 3 - Compiladores cruzados 4 - Compiladores Keil uvision2 5 - Uso del entorno de programación 6 - Ejemplos 7 - Bibliografía

Más detalles

Algoritmos y Diagramas de flujo

Algoritmos y Diagramas de flujo Algoritmos y Diagramas de flujo En los pasos a seguir para el desarrollo de un problema, existen básicamente dos tipos de elementos con los cuales es posible especificar un problema en forma esquemática

Más detalles

Comunicación con la Computadora

Comunicación con la Computadora Comunicación con la Computadora Programación Básica Copyright CARIMOBITS Comunicación con la computadora Se logra a través de lenguajes de computadoras o lenguajes de programación. Tipos de lenguajes de

Más detalles

Lenguajes. Ciclo de desarrollo. Cód. Máquina Lenguajes alto nivel Lenguaje ensamblador 6-2. Introducción a los microprocesadores IIE FI - UDELAR

Lenguajes. Ciclo de desarrollo. Cód. Máquina Lenguajes alto nivel Lenguaje ensamblador 6-2. Introducción a los microprocesadores IIE FI - UDELAR 6-1 Lenguajes Cód. Máquina Lenguajes alto nivel Lenguaje ensamblador Ciclo de desarrollo 6-2 Nivel de abstracción bajo ceros y unos. Es lo único que entiende el procesador. Objetivo: código de máquina

Más detalles

Técnico Superior en DESARROLLO DE APLICACIONES WEB (LOE)

Técnico Superior en DESARROLLO DE APLICACIONES WEB (LOE) UNIVERSIDAD DE OVIEDO. RAMA DEL OCIMIENTO: Ingeniería y Arquitectura Técnico Superior en DESARROLLO DE APLICACIONES WEB (LOE) TENIDOS/COMPETENCIAS CRÉDITOS ECTS A REOCER OBL OPT PRÁC Sistemas Informáticos

Más detalles

Parte I: Elementos del lenguaje Ada

Parte I: Elementos del lenguaje Ada Parte I: Elementos del lenguaje Ada 1. Introducción a los computadores y su programación 2. Elementos básicos del lenguaje 3. Modularidad y programación orientada a objetos 4. Estructuras de datos dinámicas

Más detalles

CUERPO SUPERIOR FACULTATIVO OPCION: ANALISTA DE SISTEMAS

CUERPO SUPERIOR FACULTATIVO OPCION: ANALISTA DE SISTEMAS CUERPO SUPERIOR FACULTATIVO OPCION: ANALISTA DE SISTEMAS INFORMÁTICA GENERAL TEMA 1. Concepto de informática. Antecedentes históricos. Sistema informático. Hardware y software. TEMA 2. Teoría de la información.

Más detalles

Teoría de la Computación

Teoría de la Computación Teoría de la Computación Grado en Ingeniería Informática Prácticas de Laboratorio * Gregorio de Miguel Casado email: gmiguel@unizar.es Elvira Mayordomo Cámara email: elvira@unizar.es Dpto. de Informática

Más detalles

Lenguajes de Programación I

Lenguajes de Programación I Lenguajes de Programación I Prof. Wilmer Pereira Universidad Simón Bolívar Primeros pasos en los lenguajes de alto nivel El primer computador (1940) tenía el poder cálculo de una calculadora actual Primer

Más detalles

Introducción a los Sistemas Gestores de Bases de Datos

Introducción a los Sistemas Gestores de Bases de Datos Introducción a los Sistemas Gestores de Bases de Datos Gestión de Bases de Datos, módulo del ciclo de FP de Grado Superior, Administración de Sistemas Informáticos en Red [1] Datos y Archivos Gestión de

Más detalles

LA MÁQUINA VIRTUAL JAVA (JVM). COMPILADOR E INTÉRPRETE. BYTECODE, CÓDIGO FUENTE Y CÓDIGO MÁQUINA. (CU00611B)

LA MÁQUINA VIRTUAL JAVA (JVM). COMPILADOR E INTÉRPRETE. BYTECODE, CÓDIGO FUENTE Y CÓDIGO MÁQUINA. (CU00611B) APRENDERAPROGRAMAR.COM LA MÁQUINA VIRTUAL JAVA (JVM). COMPILADOR E INTÉRPRETE. BYTECODE, CÓDIGO FUENTE Y CÓDIGO MÁQUINA. (CU00611B) Sección: Cursos Categoría: Curso Aprender programación Java desde cero

Más detalles

Sintaxis y Semántica del Lenguaje. Gramáticas

Sintaxis y Semántica del Lenguaje. Gramáticas Gramáticas La tarea de proveer una descripción bien concisa y entendible de un lenguaje de programación es difícil pero esencial para el éxito de un lenguaje. Uno de los problemas en describir un lenguaje

Más detalles

METODOLOGÍA COMMONKADS.

METODOLOGÍA COMMONKADS. METODOLOGÍA COMMONKADS. Figura A.1. Metodología CommonKads La metodología CommonKads se utiliza como un estándar por los responsables de la gestión del conocimiento e ingenieros del conocimiento para el

Más detalles

Introducción a los ordenadores

Introducción a los ordenadores Tema 1 Introducción a los ordenadores Versión: 16 de febrero de 2009 Las palabras españolas informática y ordenador provienen de las francesas informatique y ordinateur. La palabra francesa informatique

Más detalles

TEMA 1. PROGRAMACIÓN DE UN COMPUTADOR

TEMA 1. PROGRAMACIÓN DE UN COMPUTADOR Tema 1. Programación de un computador TEMA 1. CIÓN DE UN COMPUTADOR 1. CONCEPTO DE 2. LENGUAJES DE CIÓN 2.1. LENGUAJE MÁQUINA 2.2. LENGUAJE ENSAMBLADOR 2.3. LENGUAJE DE ALTO NIVEL 3. ALGORITMOS. REPRESENTACIÓN

Más detalles

Algoritmos. Luis Castellanos & Angela Galea marzo de 2012

Algoritmos. Luis Castellanos & Angela Galea marzo de 2012 Luis Castellanos & Angela Galea marzo de 2012 Contenido 1. Introducción. 2. Qué es un Algoritmo 3. Tipos de 4. Para qué sirven los algoritmos? 5. Lenguaje de Programación 6. Tipos de Datos 7. Tipos de

Más detalles

PROGRAMA TEMA I.- INTRODUCCIÓN

PROGRAMA TEMA I.- INTRODUCCIÓN UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DEPARTAENTO DE INFORÁTICA Y ANÁLISIS NUÉRICO PROCESADORES DE LENGUAJES GRADO EN INGENIERÍA INFORÁTICA ESPECIALIDAD DE COPUTACIÓN TERCER CURSO SEGUNDO

Más detalles

Oracle Database: Programación con PL/SQL

Oracle Database: Programación con PL/SQL Oracle University Contact Us: +34916267792 Oracle Database: Programación con PL/SQL Duration: 5 Days What you will learn Este curso de formación Oracle Database: Programación con PL/SQL empieza con una

Más detalles

Sistemas Operativos. Iván Bernal, PhD 4. Escuela Politécnica Nacional I.

Sistemas Operativos. Iván Bernal, PhD 4. Escuela Politécnica Nacional   I. Sistemas Operativos Clase # 1 Introducción a la Materia Lunes, 08 de Abril de 2002 Iván Bernal, Ph.D Escuela Politécnica Nacional email: imbernal@mailfie.epn.edu.ec Agenda Visión del curso Deberes, exámenes,

Más detalles

Overview GeneXus Qué es y para qué sirve GeneXus? Principales características y beneficios.

Overview GeneXus Qué es y para qué sirve GeneXus? Principales características y beneficios. Overview GeneXus Qué es y para qué sirve GeneXus? Principales características y beneficios. Qué es GeneXus?, GeneXus es la herramienta líder para crear, desarrollar y mantener en forma automática aplicaciones

Más detalles

Tema 1: Algoritmos y programas

Tema 1: Algoritmos y programas Tema 1: Algoritmos y programas Objetivo: utilizar la computadora como una herramienta para resolver problemas. Medio: Aprendizaje de lenguajes y técnicas de programación. La resolución de un problema exige

Más detalles

Fundamentos de programación. Diagramas de flujo, Diagramas N-S, Pseudocódigo y Java

Fundamentos de programación. Diagramas de flujo, Diagramas N-S, Pseudocódigo y Java Fundamentos de programación. Diagramas de flujo, Diagramas N-S, Pseudocódigo y Java José Alfredo Jiménez Murillo Eréndira Miriam Jiménez Hernández Laura Nelly Alvarado Zamora Selecciona el libro para continuar

Más detalles

Introducción a la programación orientada a objetos

Introducción a la programación orientada a objetos Introducción a la programación orientada a objetos Cristina Cachero Castro Pedro J. Ponce de León Amador Estela Saquete Boró Departamento de lenguajes y sistemas informáticos Universidad de Alicante Índice

Más detalles

Introducción a la programación. El lenguaje de programación C

Introducción a la programación. El lenguaje de programación C Introducción a la programación El lenguaje de programación C El lenguaje de programación ANSI C Componentes del estándar ANSI C Historia de C Herramientas de programación en C Aplicaciones en C Programa

Más detalles

Error! Marcador no definido. Error! Marcador no definido. Error! Marcador no definido. Error! Marcador no definido.

Error! Marcador no definido. Error! Marcador no definido. Error! Marcador no definido. Error! Marcador no definido. Índice. Introducción... 7. Tipos de traductores... 7. Autómatas... 0.. Autómatas finitos (FA finite automata)... 0... Autómatas finitos deterministas (DFA deterministic finite automata)...... Autómatas

Más detalles

PROGRAMA TEMA II.- ANÁLISIS LEXICOGRÁFICO DEL ANÁLISIS SINTÁCTICO TEMA V. - ANÁLISIS SINTÁCTICO ASCENDENTE TEMA VI.- TRADUCCIÓN BASADA EN LA SINTAXIS

PROGRAMA TEMA II.- ANÁLISIS LEXICOGRÁFICO DEL ANÁLISIS SINTÁCTICO TEMA V. - ANÁLISIS SINTÁCTICO ASCENDENTE TEMA VI.- TRADUCCIÓN BASADA EN LA SINTAXIS UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DEPARTAMENTO DE INFORMÁTICA Á Y ANÁLISIS Á NUMÉRICO É PROCESADORES R C A R DE LENGUAJES G AJ INGENIERÍA INFORMÁTICA PRIMER R M R CURSO C RS DE SSEGUNDO

Más detalles

Prof. María Alejandra Quintero. Informática Año

Prof. María Alejandra Quintero. Informática Año Prof. María Alejandra Quintero Informática Año 2014-2015 Es la acción de escribir programas de computación con el objetivo de resolver un determinado problema. Implica escribir instrucciones para indicarle

Más detalles

Evolución del software y su situación actual

Evolución del software y su situación actual Evolución del software y su situación actual El software es el conjunto de programas que permite emplear la PC, es decir, es el medio de comunicación con la computadora, el control de sus funciones y su

Más detalles

3. Origen de los estudios en lingüística de las lenguas de señas 40. 4. Los estudios sobre la LSC 45

3. Origen de los estudios en lingüística de las lenguas de señas 40. 4. Los estudios sobre la LSC 45 SUMARIO Acerca de este libro27 Capítulo 1 Sobre lingüística, lenguas de señas y este libro l.lenguas de señas, códigos señados caseros y códigos señados colectivos restringidos. 33 2. Sobre el origen de

Más detalles

Programación de Sistemas. Mtro. en IA José Rafael Rojano Cáceres

Programación de Sistemas. Mtro. en IA José Rafael Rojano Cáceres Programación de Sistemas Mtro. en IA José Rafael Rojano Cáceres rrojano@gmail.com http://www.uv.mx/rrojano Elementos de un sistema embebido Elementos de un sistema embebido Desarrollo de Firmware Lenguajes

Más detalles

Tema 2 Conceptos básicos de programación. Fundamentos de Informática

Tema 2 Conceptos básicos de programación. Fundamentos de Informática Tema 2 Conceptos básicos de programación Fundamentos de Informática Índice Metodología de la programación Programación estructurada 2 Pasos a seguir para el desarrollo de un programa (fases): Análisis

Más detalles

Introducción. El proceso de traducción

Introducción. El proceso de traducción Traductores y compiladores bajo + de abstracción 1945 1950 1968 1970 1990 11100110 0001 0110 10101001 1100 0011 11000011 1101 1100 MOVE AX #2 MOVE BX #3 MUL CX AX BX Fact = 1; For i:=0 to 10 fact := fact

Más detalles

Base de Datos Oracle 10g: Programación con PL/SQL NUEVO

Base de Datos Oracle 10g: Programación con PL/SQL NUEVO Oracle University Llámenos: 01-800-919-3027 Base de Datos Oracle 10g: Programación con PL/SQL NUEVO Duración: 5 días Lo que aprenderá Este curso ofrece una introducción sobre PL/SQL a los estudiantes y

Más detalles

ITIL V3 Entender el enfoque y adoptar las buenas prácticas

ITIL V3 Entender el enfoque y adoptar las buenas prácticas El enfoque ITIL y las normas 1. Introducción 15 2. La gestión de servicios 16 2.1 Presentación 16 2.2 La noción de servicio 16 2.3 La gestión de servicios 17 3. Las normas 18 3.1 La norma ISO 9001 19 3.2

Más detalles

Módulo 5: Lenguaje Pascal

Módulo 5: Lenguaje Pascal Módulo 5: Lenguaje Pascal Tecnologías en la Educación Matemática Dr. Carlos Gonzalía DCIC - UNS Técnologías en la educación matemática Dr. Carlos Gonzalía 1 de Copyright Copyright 2012: M. Capobianco,

Más detalles

LA CESIUS. Dónde estamos?

LA CESIUS. Dónde estamos? LA CESIUS ESTRUCTURA Y PROGRAMACIÓN Dónde estamos? Estructura de J. von Neumann Historia 1941 - Plankalkül K. Zuse, ingeniero (GE, 1910/95) 1943 - ENIAC 1er comp. controlada por programa (Z3 1941) 1952

Más detalles