METACOMPILADOR DIDÁCTICO GENERADOR DE CÓDIGO JAVA
|
|
|
- Belén Campos Ferreyra
- hace 9 años
- Vistas:
Transcripción
1 METACOMPILADOR DIDÁCTICO GENERADOR DE CÓDIGO JAVA Erick Leonel Rico Preciado 1, Ana Cristina Bueno Campos 1, José Gerardo Carpio Flores 2, Ruth Sáez de Nanclares Rodríguez 2, Martha Alicia Rocha Sánchez 2 Resumen La investigación se enfoca en la construcción de un metacompilador, el cual es una herramienta especializada en el área de compiladores, en la categoría de gramáticas LL(1), siendo una investigación de desarrollo tecnológico, así como en el diseño de un lenguaje de programación. El metacompilador será utilizado de manera práctica y como caso de estudio en la impartición de la asignatura de Lenguajes y Autómatas II, perteneciente al plan de estudios de la carrera de Ingeniería en Sistemas Computacionales. El metacompilador es un software generador de analizadores sintácticos escritos en lenguaje java, que incluye un ambiente de desarrollo integrado, así como un módulo de detección de errores, y la generación de código java. Palabras Clave Compiladores, Teoría de la Computación, IDE, Ingeniaría de Software, Lenguaje. 1 Ingeniería en Sistemas Computacionales, Instituto Tecnológico de León, Av. Tecnológico s/n, Fracc. Industrial Julián de Obregón, C.P , Guanajuato, León, Teléfono (477) Instituto Tecnológico de León, Departamento de Sistemas y Computación, Av. Tecnológico s/n, Fracc. Industrial Julián de Obregón, C.P , Guanajuato, León, Teléfono (477) ; Fax: ; [email protected], [email protected], [email protected] 333
2 INTRODUCCIÓN Los compiladores son fundamentales en la computación, actúan como traductores, transforman los lenguajes de programación orientados a los humanos en lenguajes orientados al computador (Lemone, 1999). Para la mayoría de los usuarios, un compilador es visto como una caja negra que realiza la siguiente transformación (ver Figura 1): Figura 1. Proceso de Compilación Un compilador permite que la mayoría de los usuarios de computadoras ignoren los detalles del lenguaje máquina; los compiladores permiten que los programas y los programadores sean independientes de la plataforma computacional que ejecutará el código. El término compilador fue inventado a inicios de la década de los 50 s por Grace Murray Hopper. La traducción fue vista como la compilación de una secuencia de subprogramas seleccionados de una biblioteca. La compilación fue llamada programación automática por la respuesta a la ejecución de código. Entre los primeros compiladores reales, están los compiladores de FORTRAN de finales de los 50 s. Uno de los primeros compiladores de FORTRAN tomo 18 años hombre en su construcción (Lemone, 1999). El proceso de traducción puede describirse como una secuencia de fases seriadas que se describen a continuación (Aho, 2008): Análisis Léxico: Reconoce componentes léxicos (tokens). Análisis Sintáctico: Verifica mediante estructuras de datos que la secuencia de tokens se apegue a la definición del lenguaje. Análisis Semántico: Mediante un árbol de análisis gramatical, se verifica que la entrada sea lógicamente correcta. Optimización: Procura que la generación de código se ejecute más rápido y ocupe menos espacio. Generación de Código: selección de secuencias de instrucciones adecuadas para obtener código legible. El término metacompilador se refiere a un programa de computadora que recibe como entrada las especificaciones del lenguaje para el que se desea obtener un compilador, y genera como salida el compilador para ese lenguaje. El desarrollo de los metacompiladores se encuentra con la dificultad de unir las dos fases de atención en la compilación de programas: la fase de análisis y la fase de síntesis, que es la generación de código (Tremblay, 1985). Las gramáticas de contexto libre son útiles como mecanismos definicionales. Son usadas con frecuencia para usar parsers. (Aho, 2008)La idea es construir un generador de parsers que tome como entrada una clase de gramática y produzca como salida un parser que analice correctamente el lenguaje definido por la gramática. Este concepto es el de un compilador con definiciones de alto nivel que se traduce a formas ejecutables también de alto nivel. La facilidad que una herramienta de estas características aporta para modificar gramáticas y tener un analizador en forma automática es formidable desde el punto de vista didáctico. Los modelos educativos actuales requieren del aprendizaje centrado en el alumno, por lo cual el desarrollo del metacompilador auxiliará al alumno en la comprensión de la teoría de autómatas y lenguajes formales. La 334
3 herramienta se enfoca en la enseñanza a través de la implementación computacional de los conceptos, y así el alumno no deje de lado la programación de software de base. MATERIALES Y MÉTODOS El metacompilador realiza una traducción dirigida por sintaxis (parsing), así mismo se ha programado bajo el paradigma orientado a objetos del lenguaje Java, utilizando como herramienta de software el entorno integrado de desarrollo NetBeans. El desarrollo se realizó bajo la siguiente metodología: Actualización Teórico-Práctica Es necesario repasar algunos conceptos previos como: Actualización de los conocimientos teóricos necesarios para desarrollar el meta compilador. Desarrollo de la revisión técnica que permita conocer en dónde se encuentra en este momento la frontera del conocimiento en desarrollo y la aplicación de meta compiladores en el estudio y desarrollo de software de base. Comprender el uso y construcción de los meta compiladores más utilizados actualmente. Analizar los Ambientes de Desarrollo Integrados más populares en este momento. Implementación Computacional Para la parte de implementación, se desarrolló las siguientes partes que componen al metacompilador: Desarrollo de las especificaciones léxicas y sintácticas que deberá observar el usuario final del metacompilador. Elección de los algoritmos apropiados para el desarrollo de un traductor que utilice gramáticas Libres de contexto y Drivers LL(1). Desarrollo e implementación de los algoritmos elegidos. Elección de las estrategias de generación de código más adecuadas y accesibles para el tipo de traductor que nos proponemos desarrollar. Codificación de los algoritmos requeridos para la generación de código objeto. Elección de las funcionalidades que el IDE debe ofrecer a los usuarios finales. Desarrollo de los algoritmos necesarios para implantar las funcionales del IDE. Codificación de algoritmos para la el IDE. Corrección y Pruebas Testeo de los algoritmos desarrollados, análisis y corrección de errores, tales como: Verificación del funcionamiento del analizador léxico-sintáctico. Pruebas con diversas gramáticas de contexto libre elegidas. Pruebas de rendimiento y detección de errores para el IDE. Pruebas de integración entre el metacompilador y el IDE. 335
4 RESULTADOS Y DISCUSIÓN Se ha creado un lenguaje de programación nombrado MCD, que define una estructura genérica que le indica al usuario como es que debe escribir sus gramáticas, en la figura 2 se muestra un Subset de Pascal de la manera en la que se desea sea introducida por el usuario (ver Figura 2). Figura 2.Gramatica Subset de Pascal Implementación de un autómata genérico capaz de tokenizar una entrada cualquiera, siendo este la parte primordial del analizador léxico, así como la implantación computacional de los algoritmos first, follow para obtener finalmente la matriz predictiva automáticamente, siendo parte esencial para el correcto funcionamiento del LLDriver, en la figura 3 se puede observar una corrida con la gramática subset de Pascal, mostrando la generación automática de los algoritmos antes mencionados (ver Figura 3). Figura 3. Ejecución de cálculo first, Subset de Pascal. follow y matriz predictiva del La implementación del algoritmo del LLDriver, es la parte fundamental del metacompilador, ya que mediante él se verifica que la entrada proporcionada por el usuario, contenga la estructura definida por el lenguaje, se ha agregado el módulo de detección de errores para auxiliar al LLDriver en su función, además de reportar al 336
5 usuario los tokens en los que se encuentran dichos errores y la capacidad de continuar con la ejecución y encontrar otros posibles errores (ver Figura 4). Figura 4 Reporte de errores En la segunda fase de la investigación se diseñó de la interfaz del entorno de desarrollo, así mismo se establecieron las funcionalidades básicas para una primera integración con el metacompilador. Obteniendo como resultado una herramienta en versión beta, estable, de funcionalidad básica (ver Figura 5). Figura 5. Entorno de Desarrollo Integrado CONCLUSIONES Durante el proceso de desarrollo del metacompilador, se considera que existen dos aportaciones sobresalientes. La primera de ellas es la creación de un lenguaje de programación que se acoplara a las necesidades de la herramienta. La segunda, es el diseño y creación de un entorno de desarrollo integrado, ya que la mayoría de herramientas similares, no cuentan con un IDE, por lo que el contar con un IDE, hará el proceso educativo más sencillo y práctico. REFERENCIAS Libro: Aho Alfred V., Sethi Ravi, Lam Monica S., Ullman Jeffrey D., Compiladores principios, técnicas y herramientas, Edit. Pearson Addison Wesley, Segunda Edición Lemone Karen A., Fundamentos de Compiladores, como traducir al lenguaje de computadora, Editorial CECSA, Tremblay Jean-Paul, Sorenson Paul G., The Theory and Practice of Compiler Writing, McGrawHil
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
Pontificia Universidad Católica del Ecuador
1. DATOS INFORMATIVOS: MATERIA O MÓDULO: COMPILADORES E INTERPRETES CÓDIGO: 10730 CARRERA: NIVEL: SISTEMAS QUINTO No. CRÉDITOS: 4 CRÉDITOS TEORÍA: 4 CRÉDITOS PRÁCTICA: - SEMESTRE / AÑO ACADÉMICO: 2 / 2010
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERÍA PROGRAMA DE ESTUDIO
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERÍA PROGRAMA DE ESTUDIO COMPILADORES 1764 7 o 09 Asignatura Clave Semestre Créditos Ingeniería Eléctrica Ingeniería en Computación Ingeniería
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
Nombre de la asignatura: Lenguajes y Autómatas I. Créditos: Aportación al perfil
Nombre de la asignatura: Lenguajes y Autómatas I Créditos: 2 3 5 Aportación al perfil Desarrollar, implementar y administrar software de sistemas o de aplicación que cumpla con los estándares de calidad
Tema 2 Introducción a la Programación en C.
Tema 2 Introducción a la Programación en C. Contenidos 1. Conceptos Básicos 1.1 Definiciones. 1.2 El Proceso de Desarrollo de Software. 2. Lenguajes de Programación. 2.1 Definición y Tipos de Lenguajes
PROGRAMA DE LABORATORIO SECCIÓN: ÁREA A LA QUE PERTENECE: POS-REQUISITO: AUXILIAR:
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERÍA ESCUELA DE CIENCIAS PROGRAMA DE LABORATORIO CÓDIGO: 777 CRÉDITOS: 4 NOMBRE CURSO: ESCUELA: PRE-REQUISITO: Organización de 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
Compiladores e intérpretes Introducción
Introducción Profesor: Eridan Otto Introducción Perspectiva histórica Motivación Definiciones Componentes y fases de un compilador 1 Introducción Definiciónes básicas Traductor: desde un punto de vista
NOMBRE DEL CURSO: Laboratorio de Lenguajes Formales y de Programación
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS NOMBRE DEL CURSO: Laboratorio de Lenguajes Formales y de Programación CODIGO: 796 CREDITOS: 3 ESCUELA: Ciencias
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
PROCESADORES DEL LENGUAJE I
ASIGNATURA DE GRADO: PROCESADORES DEL LENGUAJE I Curso 2016/2017 (Código:71013130) 1.PRESENTACIÓN DE LA ASIGNATURA La asignatura de Procesadores de Lenguajes I se imparte en el primer semestre del tercer
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
NOMBRE DEL CURSO: Laboratorio de Lenguajes Formales y de Programación
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS NOMBRE DEL CURSO: Laboratorio de Lenguajes Formales y de Programación CODIGO: 796 CREDITOS: 3 ESCUELA: Ciencias
División Académica de Informática y Sistemas
Área de formación Sustantiva Profesional Nombre de la asignatura Docencia frente a grupo según SATCA Trabajo de Campo Supervisado según SATCA HCS HPS TH C HTCS TH C TC 2 2 4 4 0 0 0 4 Clave de la asignatura
PROGRAMA DE COMPILADORES
PROGRAMA DE COMPILADORES 1. Introducción 1.1. Tipos de traductores 1.2. Autómatas 1.3. Gramáticas formales 1.4. Fases de un compilador 2. Análisis Léxico 2.1. Definir un reconocedor de cadenas no trivial
JavaCC Parte I. 1 Compiladores / Guía VII / Ciclo Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores.
1 Compiladores / Guía VII / Ciclo 02-2016 Centro de Investigación y Transferencia de Tecnología JavaCC Parte I Contenido Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores En la presente
INTRODUCCION A LA PROGRAMACION (C.U.) PROGRAMACION (T.I.G.)
INTRODUCCION A LA PROGRAMACION (C.U.) PROGRAMACION (T.I.G.) PRESENTACION: Lic. Jaquelina Jallés Comisión 1: Lunes 8-10 OBJETIVOS: Martes 10-12 Jueves 8-12 A) Desarrollar el pensamiento lógico y estructurado
Subdirección Académica Instrumentación Didáctica para la Formación y Desarrollo de Competencias Profesionales Periodo escolar: Agosto Diciembre 2017
Subdirección Académica Instrumentación Didáctica para la Formación y Desarrollo de s Profesionales Periodo escolar: Agosto Diciembre 2017 Nombre de la asignatura: Fundamentos de Programación Plan de estudios:
TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES TRABAJO DE PRÁCTICAS. Convocatoria de junio de 2013
TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES Ingeniería Técnica en Informática de Sistemas Segundo curso Departamento de Informática y Análisis Numérico Escuela Politécnica Superior Universidad de Córdoba
Introducción a la programación: Contenido. Introducción
Introducción a la programación: Contenido Introducción a la programación:... 1 Introducción... 1 1. Procesamiento automatizado de información... 1 2. Concepto de algoritmo.... 2 3. Lenguajes de programación....
Diseño de Compiladores I. Estructura General de un Compilador
Diseño de Compiladores I Estructura General de un Compilador PROGRAMA FUENTE COMPILADOR SALIDA Mensajes de Error 2 Un compilador es un programa que traduce un programa escrito en lenguaje fuente y produce
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
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
ANÁLISIS LÉXICO Ing. Ronald Rentería Ayquipa
ANÁLISIS LÉXICO Ing. Ronald Rentería Ayquipa ANALIZADOR LÉXICO (AL) El Analizador léxico (scanner), lee la secuencia de caracteres del programa fuente, caracter a caracter, y los agrupa para formar unidades
Las Etapas de la Compilación
Las de la Compilación El en la Compilación Universidad de Cantabria Outline 1 El Problema 2 Las y el Qué pasos son necesarios dar para hallar la estructura de un programa? En qué pasos podemos dividirlos
Toda copia en PAPEL es un "Documento No Controlado" a excepción del original.
S U P E RIO R DE MISANTLA Apartado: 7.1 Copia No. Código:PD-SCD-1016 Versión No.: 02 Hoja : 2 de 12 4.- COMPETENCIAS A DESARROLLAR 4.1 Competencias Específicas: Diseña mediante el uso de reglas semánticas
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
FASES DE UN COMPILADOR
FASES DE UN COMPILADOR PROGRAMA FUENTE analizador léxico analizador sintáctico administrador analizador semántico manejador de la tabla generador de código intermedio de errores de símbolos optimizador
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD DE INGENIERIA SYLLABUS
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD DE INGENIERIA SYLLABUS PROYECTO CURRICULAR: Ingeniería de Sistemas ASIGNATURA: Electiva en Ciencias de la computación NOMBRE DEL DOCENTE: Deicy Alvarado,
PRÁCTICAS DE PROCESADORES DEL LENGUAJE CURSO 2008/2009
PRÁCTICAS DE PROCESADORES DEL LENGUAJE CURSO 2008/2009 PRÁCTICA 2: ANALIZADOR SINTÁCTICO Y TABLA DE SÍMBOLOS. Objetivo de la Práctica Esta práctica tiene como primer objetivo la codificación de un analizador
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
COMPILACIÓN I
COMPILACIÓN I http://ji.ehu.es/konpi1 Profesores: Eneko Agirre, Nerea Ezeiza, Julian Gutierrez (Información sobre tutorías, teléfonos, etc. en página web) Objetivos: El propósito de esta asignatura es
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
Objetivos Que el estudiante logre conocer, comprender y manejar conceptos y técnicas vinculados con el Analizador Léxico, para lo cual debe:
09:19 1 2 Temas Funciones del Analizador Léxico Manejo de buffers de entrada Especificación y reconocimiento de tokens Generación automática de Analizadores Léxicos Objetivos Que el estudiante logre conocer,
Tema V Generación de Código
Tema V Generación de Código Una vez que se ha realizado la partición HW/SW y conocemos las operaciones que se van a implementar por hardware y software, debemos abordar el proceso de estas implementaciones.
TÉCNICO SUPERIOR UNIVERSITARIO EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
TÉCNICO SUPERIOR UNIVERSITARIO EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS HOJA DE ASIGNATURA CON DESGLOSE DE UNIDADES TEMÁTICAS 1. Nombre de la asignatura Programación.
Conceptos de Algoritmos, Datos y Programas
Conceptos de Algoritmos, Datos y Programas Año 2015 Carreras: Lic. en Informática P2015 Lic. en Sistemas P2015 APU P2015 Año: 1 Duración: Cuatrimestral Coordinador: Ing. Armando De Giusti Profesores: Esp.
BENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA FACULTAD CIENCIAS DE LA COMPUTACIÓN
BENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA FACULTAD CIENCIAS DE LA COMPUTACIÓN PROGRAMA DE LA MATERIA CORRESPONDIENTE A LA INGENIERIA EN CIENCIAS DE LA COMPUTACIÓN. Coordinación: NOMBRE DE LA MATERIA: Clave:
SÍLABO DEL CURSO DE COMPILADORES Y LENGUAJES DE PROGRAMACIÓN
SÍLABO DEL CURSO DE COMPILADORES Y LENGUAJES DE PROGRAMACIÓN I. INFORMACIÓN GENERAL 1.1 Facultad Ingeniería 1.2 Carrera Profesional Ingeniería en Sistemas Computacionales 1.3 Departamento 1.4 Requisito
Lenguajes de Cuarta Generación
Lenguajes de Cuarta Generación Diana Marcela SánchezS http://www.csi.map.es/csi/metrica3/index.html www.csi.map.es/csi/metrica3/ /metrica3/index.htmlindex.html Que es un programa? La unión de una secuencia
Es un conjunto de palabras y símbolos que permiten al usuario generar comandos e instrucciones para que la computadora los ejecute.
Los problemas que se plantean en la vida diaria suelen ser resueltos mediante el uso de la capacidad intelectual y la habilidad manual del ser humano. La utilización de la computadora en la resolución
ALGORITMICA Y PROGRAMACION REPÚBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA EDUCACIÓN UNIDAD EDUCATIVA COLEGIO MICAELIANO
[Seleccione la fecha] LENGUAJE DE REPÚBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA EDUCACIÓN UNIDAD EDUCATIVA COLEGIO MICAELIANO MÉRIDA ESTADO MÉRIDA ALGORITMICA Y LENGUAJE DE INTEGRANTE:
Programación I. Carrera: ECM Participantes Participantes de las academias de ingeniería electrónica de los Institutos Tecnológicos.
.- DATOS DE LA ASIGNATURA Nombre de la asignatura: Carrera: Clave de la asignatura: Horas teoría-horas práctica-créditos Programación I Ingeniería Electrónica. ECM-043 3-2- 2.- HISTORIA DEL PROGRAMA Lugar
Tema: Traductor ENSAMPOCO a ASM 8086
Compiladores. Guía 12 1 Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores Tema: Traductor ENSAMPOCO a ASM 8086 Contenido En esta práctica se desarrollará un traductor de lenguaje ENSAMPOCO/3
2. Codificar de forma sistemática la secuencia de instrucciones en un lenguaje.
Modulo 1. Introducción a los lenguajes de programación La solución de problemas mediante en uso de un computador nos lleva a desarrollar programas o aplicaciones, la construcción de estos programas debe
Introducción a la programación
Introducción a la programación Conceptos Básicos El objetivo fundamental de éste curso es enseñar a resolver problemas mediante una computadora. El programador de computadoras es antes que nada una persona
DATOS DE IDENTIFICACIÓN. Materia: Introducción a la teoría de los lenguajes formales Definición de alfabeto ETAPA PREINSTRUCCIONAL
Actividades ACTIVIDAD 1.1 Introducción a la teoría de los lenguajes formales Definición de alfabeto 30 minutos Búsqueda de diferentes lenguajes Desarrollar el análisis de textos y el aprendizaje autónomo.
Nombre del formato: Instrumentación Didáctica del Periodo Código: ITSAL-AC-PO
Nombre del formato: Instrumentación Didáctica del Periodo Código: Referencia a la Norma ISO 9001:2008 7.1, 7.2.1, 7.5.1, 7.6 Página 1 de 12 INSTITUTO TECNOLÓGICO DE SALINA CRUZ SUBDIRECCIÓN ACADÉMICA DEPARTAMENTO
Tema 04: Lenguajes de programación y el lenguaje C
Tema 04: Lenguajes de programación y el lenguaje C M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com [email protected] @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A.
COLEGIO DE ESTUDIOS DE POSGRADO DE LA CIUDAD DE MÉXICO
COLEGIO DE ESTUDIOS DE POSGRADO DE LA CIUDAD DE MÉXICO ELABORO: ALEJANDRA FUERTES FRANCISCO TEMA: LENGUAJES DE PROGRAMACIÓN INTRODUCCIÓN Un lenguaje de programación es un conjunto de instrucciones que
INICIACIÓN A LA PROGRAMACIÓN 1ª parte
TEMA 4 INICIACIÓN A LA PROGRAMACIÓN 1ª parte Qué es la programación? La programación es el proceso de diseñar, codificar, depurar y mantener el código fuente de programas computacionales. En la actualidad,
LP - Lenguajes de Programación
Unidad responsable: 270 - FIB - Facultad de Informática de Barcelona Unidad que imparte: 723 - CS - Departamento de Ciencias de la Computación Curso: Titulación: 2016 GRADO EN INGENIERÍA INFORMÁTICA (Plan
Tema 03: Programación estructurada
Tema 03: Programación estructurada M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com [email protected] @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A. Franco) 1 Contenido
Construcción de tablas de análisis sintáctico LL(1)
Construcción de tablas de análisis sintáctico LL(1) Universidad de Costa Rica Escuela de Ciencias de la Computación e Informática Diego Centeno Gerardo Cortés Juan Diego Alfaro Resumen. A la medida en
1. Computadores y programación
1. Computadores y programación Informática y computadora (RAE) Informática (Ciencia de la computación) Conjunto de conocimientos científicos y técnicos que hacen posible el tratamiento automático de la
Metodología de Desarrollo de Programas
Metodología de Desarrollo de Programas Prof. Judith Barrios Albornoz Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes Semestre A_2013 Este material
Nombre de la asignatura: Análisis y modelado de sistemas de información
Nombre de la asignatura: Análisis y modelado de sistemas de información Créditos: 3 2-5 Aportación al perfil Formular, gestionar y evaluar el desarrollo de proyectos informáticos en las organizaciones.
Tema: Análisis Sintáctico
Compiladores. Guía 3 1 Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores Tema: Análisis Sintáctico Contenido En esta guía se abordarán los conceptos pertenecientes al componente de análisis
Tema 1: Introducción. Teoría de autómatas y lenguajes formales I
Tema 1: Introducción Teoría de autómatas y lenguajes formales I Bibliografía Hopcroft, J. E., Motwani, R., y Ullman, J. D. Introducción a la Teoría de Autómatas, Lenguajes y Computación. Addison Wesley.
Contenido. Capítulo 1. Teoría de conjuntos. 1. Capítulo 2. Lenguaje. 39. Capítulo 3. Lenguajes formales. 55
Contenido Capítulo 1. Teoría de conjuntos. 1 1.1 Conjuntos.... 3 1.1.1 Definiciones básicas.... 3 1.1.2 Operaciones sobre conjuntos.... 6 1.1.3 Diagrama de Venn.... 7 1.1.4 Álgebra de conjuntos.... 7 1.2
PROCESADORES DE LENGUAJES
GUIA DOCENTE DE LA ASIGNATURA PROCESADORES DE LENGUAJES MÓDULO MATERIA CURSO SEMESTRE CRÉDITOS TIPO Formación de Especialidad 1: COMPUTACIÓN Y SISTEMAS INTELIGENTES MODELOS DE COMPUTACIÓN 4º 7º 6 Obligat
ROGRAMA DE CURSO Código Nombre EL4102. Arquitectura de Computadores Nombre en Inglés Computer Organization SCT
ROGRAMA DE CURSO Código Nombre EL4102 Arquitectura de Computadores Nombre en Inglés Computer Organization SCT Unidades Horas de Horas Docencia Horas de Trabajo Docentes Cátedra Auxiliar Personal 6 10 3
CUP. Diseño de compiladores. Estructura del archivo CUP. Estructura del archivo CUP. Estructura del archivo CUP. Estructura del archivo CUP 20/04/2014
CUP Diseño de compiladores CUP Cup es un generador de analizadores sintácticos LALR Recibe de entrada un archivo con la estructura de la gramática y su salida es un parser escrito en Java Manual oficial:
LIBRO GUIA: INVESTIGACIÓN DE OPERACIONES Hamdy A. Taha. Editorial Pearson Prentice Hall, 2004
UNIVERSIDAD TECNOLÓGICA DE PEREIRA FACULTAD DE INGENIERÍAS: ELÉCTRICA, ELECTRÓNICA, FÍSICA Y CIENCIAS DE LA COMPUTACIÓN PROGRAMA INGENIERÍA DE SISTEMAS Y COMPUTACIÓN ASIGNATURA: INVESTIGACIÓN DE OPERACIONES
PROCESADORES DEL LENGUAJE
PROCESADORES DEL LENGUAJE Grado en Ingeniería Informática Grado en Ingeniería de Computadores Universidad de Alcalá Curso Académico 2017/2018 Curso 3º Cuatrimestre 1º GUÍA DOCENTE Nombre de la asignatura:
Carrera: SCC - 0425 4-2-10. Participantes. Representantes de la academia de sistemas y computación de los Institutos Tecnológicos.
1.- DATOS DE LA ASIGNATURA Nombre de la asignatura: Carrera: Clave de la asignatura: Horas teoría-horas práctica-créditos Programación de sistemas Ingeniería en Sistemas Computacionales SCC - 0425 4-2-10
JUSTIFICACIÓN: PRE-REQUISITOS: OBJETIVOS GENERALES: * Programa de asignatura propuesto por los Prof. Malinda Coa y Angel Zambrano.
Universidad de Los Andes Facultad de Ciencias Económicas y Sociales Escuela de Estadística Departamento de Estadística Cátedra de Computación Nombre de la Asignatura: COMPUTACIÓN I* Código: 6012 Créditos:
INSTITUCIÓN EDUCATIVA SAN CRISTÓBAL
INSTITUCIÓN EDUCATIVA SAN CRISTÓBAL MEDIA TÉCNICA EN PROGRAMACIÓN DE SOFTWARE TEMA: LOS LENGUAJES DE PROGRAMACIÓN Profesora: Beatriz Elena Herrera Legarda Qué es una computadora? Computadora electrónica
