Tema: Generación de analizadores con YACC
|
|
- Alfonso Medina Caballero
- hace 6 años
- Vistas:
Transcripción
1 Compiladores. Guía 5 1 Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores Tema: Generación de analizadores con YACC Contenido En esta guía se expondrá la forma de generar el analizador léxico y sintáctico a través de la herramienta de YACC y LEX. Objetivos Específicos Aprender a utilizar la herramienta de YACC para la generación de analizadores sintácticos. Conocer la sintaxis de LEX y YACC para la generación de analizadores léxicos y sintácticos. Material y Equipo Guía de Laboratorio Nº 5. Parser Generator Libro Construcción de compiladores de Kenneth C. Louden. Introducción Teórica YACC: Generación de analizadores sintácticos LR Un generador de analizadores sintácticos es un programa que toma como su entrada una especificación de la sintaxis de un lenguaje en alguna forma, y produce como su salida un procedimiento de análisis sintáctico para ese lenguaje. Históricamente los generadores de analizadores sintácticos fueron llamados compiladores de compilador, debido a que todos los pasos de compilación eran realizados de manera tradicional como acciones incluidas dentro del analizador
2 2 Compiladores. Guía 5 sintáctico. La visión moderna es considerar al analizador como solo una parte del proceso de compilación, de modo que este término se volvió obsoleto. Un generador de analizadores sintácticos ampliamente utilizado que incorpora el algoritmo de análisis sintáctico LR(1) se conoce como Yacc (Yet Anoter Compiler- Compiler es decir, otro compilador de compilador mas en ingles). Fundamentos de YACC YACC toma un archivo de especificación (por lo regular con sufijo.y) y produce un archivo de salida compuesto del código fuente en C para el analizador sintáctico (por lo general con sufijo.tab.c). Un archivo de especificación de YACC tiene el formato básico <sección de definiciones> %% <sección de reglas> %% <sección de rutinas> De este modo existen tres secciones separadas mediante líneas que contienen doble signo de porcentaje. La sección de definiciones contiene información acerca de los tokens, tipos de datos y reglas gramaticales que YACC necesita para construir el analizador sintáctico. También incluye cualquier código en C que debería ir directamente en el archivo de salida a su inicio (sobre todo directivas #include de otros archivos de código fuente). Esta sección del archivo de especificación puede estar vacía. La sección de reglas contiene reglas gramaticales en una forma BNF modificada, junto con acciones en código C que se ejecutaran siempre que se reconozca la regla gramatical asociada. Las convenciones de meta símbolos utilizadas en reglas gramaticales son de la manera siguiente. Como es habitual, la barra vertical se utiliza para las alternativas (las alternativas también se pueden escribir por separado). El símbolo flecha que hemos empleado para separar el lado izquierdo y derecho de una regla gramatical se reemplaza en YACC por un signo de dos puntos. También un signo de punto y coma debe finalizar cada regla gramatical.
3 Compiladores. Guía 5 3 La tercera sección, de rutinas auxiliares, contiene declaraciones de procedimientos y funciones que de otra manera pueden no estar disponibles a través de archivos #include y que son necesarias para completar el analizador sintáctico y/o el compilador. Esta sección puede estar vacía, y si este es el caso se puede omitir el segundo meta símbolo de porcentaje doble del archivo de especificación. De esta manera, un archivo de especificación mínimo de YACC consistiría solo de %% seguidos por reglas gramaticales y acciones (las acciones también se pueden omitir si solo tratamos de analizar la gramática). YACC también permite insertar comentarios al estilo de C en el archivo de especificación en cualquier punto donde no interfieran con el formato básico.la primera sección que incluye las directivas #include se encierra entre los símbolos %{ y %} nótese que los signos de porcentaje se anteponen a las llaves. Para definir un token se realiza así: %token nombretoken Si se desea inicializar como una variable deberá colocarse el valor numérico a continuación del nombre del token. En la segunda sección, las reglas gramaticales se colocan así: expresión: expresión términos Cuando se reconoce una regla gramatical, cada símbolo en la regla posee un valor, que se supone es un entero a menos que sea cambiado por el programador. Esos valores se conservan en una pila de valor mediante Yacc, la cual se mantiene paralela a la pila de análisis sintáctico. Se puede hacer referencia a cada valor de símbolo en la pila utilizando una pseudo variable que comience con el signo $. $$ representa el valor del no terminal que se acaba de reconocer, es decir, el símbolo en el lado izquierdo de la regla gramatical. Las pseudo variables $1, $2, $3 y así sucesivamente, representan los valores de cada símbolo en sucesión en el lado derecho de la regla gramatical. Procedimiento Yacc no es directamente un analizador sino un generador de analizadores. A partir de un fichero fuente en yacc, se genera un fichero fuente en C que contiene el analizador sintáctico. Sin embargo, un analizador sintáctico de yacc no
4 4 Compiladores. Guía 5 puede funcionar por sí solo, sino que necesita un analizador léxico externo para funcionar. Dicho de otra manera, el fuente en C que genera yacc contiene llamadas a una función yylex() que debe estar definida y debe devolver el tipo de lexema encontrado. Además, es necesario incorporar también una función yyerror(), que será invocada cuando el analizador sintáctico encuentre un símbolo que no encaja en la gramática. La estructura general de un programa en YACC es la siguiente: <sección de definiciones> %% <sección de reglas> %% <sección de rutinas> Tabla 1 Ejemplo 1 Construir un analizador sintáctico que reconozca la gramática para una calculadora simple, con las operaciones suma, resta, multiplicación y división con la herramienta Yacc. Abra y ejecute el programa Parser Generator y abra un nuevo texto, luego digite el código de la tabla 2. Figura 1: Ambiente de Parser Generator.
5 Compiladores. Guía 5 5 Gramática para la calculadora simple: exp -> exp opsuma term term opsuma -> + - term -> term opmult factor factor opmult -> * factor -> (exp) numero Figura 2: Creando un archivo para introducir el texto de la tabla 2. /*Sección de definición*/ %token NUMBER %{ #include <ctype.h> #include <stdio.h> #define YYSTYPE double /* double type para pila YACC */ %} /*La seccion de codigo de c de la definicion debe estar entre los delimitadores %{ y %}*/ %% /*Fin de la seccion de definiciones e inicio de la seccion de reglas de derivacion para el analizador sintactico*/ lines : lines expr '\n' { printf("%g\n", $2); } lines '\n' /* e */ error '\n' { yyerror("reenter last line:"); yyerrok(); } ; expr : expr '+' term { $$ = $1 + $3; } expr '-' term { $$ = $1 - $3; } term ;
6 6 Compiladores. Guía 5 /*Los símbolos $$ indican el valor introducido en la pila de valor manejada por YACC, es el no terminal que se ha reconocido en ese momento del lado izquierdo de la expresión, y los símbolos $1, $2, etc. indican el valor de las pseudovariables que vaya encontrando en ese orden hacia la derecha*/ /*pseudovariables term=$1 '*'=$2 factor=$3 */ term : term '*' factor { $$ = $1 * $3; } term '/' factor { $$ = $1 / $3; } factor ; factor : '(' expr ')' { $$ = $2; } '(' expr error { $$ = $2; yyerror("missing ')'"); yyerrok(); } '-' factor { $$ = -$2; } NUMBER ; %% /*Fin de la seccion de reglas y adicion de rutinas auxiliares en c*/ int main(void) { yyparse(); /*Invocacion de la funcion del analizador sintactico*/ return 0; } /*Definición del analizador léxico*/ int yylex(void) { int c; while ((c = getchar()) == ' '); /*Elimina los espacios en blanco*/ if (c == '.' isdigit(c)) { /*El character. indica que se termino el programa*/ ungetc(c, stdin); scanf("%lf", &yylval); return NUMBER; } return c; } Tabla 2 Ahora procederemos a guardar nuestro archivo para generar el analizador sintáctico.
7 Compiladores. Guía 5 7 Figura 3: De click sobre el icono del disket Save, seleccionar nombre y ubicación y guardamos el archivo como calculadora. Figura 4: Clic en el menú Project y luego LibBuilder para construir el YACC y las librerías de LEX.
8 8 Compiladores. Guía 5 Figura 5: Se construyeron las librerías, se muestran 0 errores, en la ventana LibBuilder de clic en el botón Close. Figura 6: Procedemos a través del asistente a convertir el código YACC, para ello dar clic en el menú Project y a continuación dar clic sobre la opción ParseWizard.
9 Compiladores. Guía 5 9 Figura 7: A continuación colocamos el nombre del proyecto, la ubicación donde se colocarán los archivos de resultado y luego el lenguaje objetivo en nuestro caso C++, por ultimo escogemos el compilador del lenguaje objetivo y escogemos Microsoft Visual C++ de 32 bits. Figura 8: Escogemos a continuación de los tipos de archivos a generar de forma intermedia YACC and Lex file.
10 10 Compiladores. Guía 5 Figura 9: Escogemos los nombres de los archivos YACC, colocamos calculadora.y y calculadora respectivamente. Figura 10: Escogemos el nombre de los archivos del analizador léxico, ingrese calculadoralex.l y calculadoralex en las cajas correspondientes.
11 Compiladores. Guía 5 11 Figura 11: Archivo calculadoralex.l que se utilizara como analizador léxico escrito en lenguaje Lex aun. Figura 12: Archivo calculadora que se utilizara como analizador sintáctico escrito en lenguaje YACC.
12 12 Compiladores. Guía 5 Figura 13: Procedemos ahora compilar ambos archivos del proyecto calculadora, para ello damos clic en el menú Project luego clic sobre la opción Compile File. Figura 14: Ventana de resultados donde nos dice que no hubo ningún error en la generación de los archivos C++ a partir de los archivos Lex y YACC. Al terminar esta operación, en la carpeta que usted ha escogido como carpeta destino se deben visualizar los archivos calculadoralex.h y calculadoralex.cpp, ambos
13 Compiladores. Guía 5 13 escritos con lenguaje C++ y están listos para ser usados en un compilador que reconozca el lenguaje de la calculadora básica. Figura 15: Archivos generados por Parser Generator para el proyecto de la calculadora. Análisis de resultados Construya un analizador sintáctico ascendente con la herramienta Parser Generator para la gramática del lenguaje Micro C. Investigación complementaria Responda: Que es un analizador semántico Cuál es su función principal Algoritmo para desarrollarlo Cuál es su dependencia con el analizador sintáctico Qué es una tabla de símbolos Cuáles son los tipos de comprobaciones realizadas por un analizador semántico. Que es un árbol de sintaxis abstracta. Que es un AST decorado. Bibliografía Construcción de Compiladores. Principios y practica, Kenneth C. Louden. Compiladores. Principios técnicas y Herramientas. Sethi Ullman. Pearson Education.
14 14 Compiladores. Guía 5 Guía 5: Generación de analizadores con YACC Hoja de cotejo: 5 Alumno: Máquina No: Docente: GL: Fecha: EVALUACION % Nota CONOCIMIENTO Del 20 al 30% Conocimie nto deficient e de los fundament os teóricos Conocimiento y explicación incompleta de los fundamentos teóricos Conocimiento completo y explicación clara de los fundamentos teóricos APLICACIÓN DEL CONOCIMIENTO Del 40% al 60% ACTITUD Del 15% al 30% No tiene actitud proactiva. Actitud propositiva y con propuestas no aplicables al contenido de la guía. Tiene actitud proactiva y sus propuestas son concretas. TOTAL 100%
Tema: Autómata de Pila
Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores 1 Tema: Autómata de Pila Contenido La presente guía aborda los autómatas de pila, y se enfoca en la aplicación que se le puede dar a estas
Más detallesLas 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
Más detallesPROGRAMA 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
Más detallesLEX. Las definiciones y subrutinas son opcionales. El segundo %% es opcional pero el primer %% indica el comienzo de las reglas.
LEX Estructura de un programa en LEX { definiciones { reglas { subrutinas del usuario Las definiciones y subrutinas son opcionales. El segundo es opcional pero el primer indica el comienzo de las reglas.
Más detallesTema: Tabla de Símbolos
Compiladores. Guía 6 1 Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores Tema: Tabla de Símbolos Contenido En esta guía se desarrollará una tabla de símbolos y se asociará al analizador
Más detallesAnalista Universitario en Sistemas. Taller de Programación II. Instituto Politécnico Superior. Trabajo Final
Trabajo Final 1 Objetivo Comprender (en gran parte) un programa desarrollado en: C++ (Core ) Generador de código / Ejecución de comandos Flex (Lex) Lexer Genera un Analizador Léxico en C http://en.wikipedia.org/wiki/lex_(software)
Más detallesJavaCC 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
Más detallesTema: Herramientas UML, Análisis y diseño UML
Programación II. Guía No.3 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Herramientas UML, Análisis y diseño UML Objetivos Conocer una herramienta de modelado para la solución
Más detallesToda 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
Más detallesTema: Herramientas UML, Análisis y diseño UML
Programación II. Guía 2 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Herramientas UML, Análisis y diseño UML Objetivo Conocer una herramienta de modelado para la solución
Más detallesJava Avanzado. Guía 1. Java Avanzado Facultad de Ingeniería. Escuela de computación.
Java Avanzado. Guía 1 Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 2 Introducción Este manual ha sido elaborado para orientar al estudiante de Java Avanzado en el desarrollo
Más detallesGUIA 2: Repaso sobre uso de C#. Funciones, métodos y arreglos.
1 Programación II, Guía 2 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II GUIA 2: Repaso sobre uso de C#. Funciones, métodos y arreglos. Objetivos Utilizar la sintaxis de las funciones
Más detallesElementos de un programa en C
Elementos de un programa en C Un programa en C consta de uno o más archivos. Un archivo es traducido en diferentes fases. La primera fase es el preprocesado, que realiza la inclusión de archivos y la sustitución
Más detallesOperaciones básicas con hojas de cálculo
Operaciones básicas con hojas de cálculo Insertar hojas de cálculo. Para insertar rápidamente una hoja de cálculo nueva al final de las hojas de cálculo existentes, haga clic en la ficha Insertar hoja
Más detallesTema: Repaso sobre el uso del IDE de Microsoft Visual C#.
Programación IV. Guía No. 2 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación IV Tema: Repaso sobre el uso del IDE de Microsoft Visual C#. Objetivos Específicos Identificar los principales
Más detallesProcesos de Fabricación I. Guía 1 1 SISTEMAS HIDRÁULICOS Y NEUMÁTICOS.
Procesos de Fabricación I. Guía 1 1 SISTEMAS HIDRÁULICOS Y NEUMÁTICOS. Sistemas Hidráulicos y Neumáticos. Guía 5 1 Tema: Visualización de elementos y manejo de Software FluidSim Pneumatic Contenidos Simbología
Más detallesGenerador de analizadores léxicos FLEX
Generador de analizadores léxicos FLEX Procesadores de Lenguajes 4 o Informática PL curso 2008-2009 (CCIA) CCIA Octubre 2008 PL 0809 (CCIA) Introducción a FLEX Octubre-2008 1 / 12 Uso de FLEX FLEX: traduce
Más detallesTEORÍ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
Más detallesTodo programa en 'C' consta de una o más funciones, una de las cuales se llama main.
LENGUAJE C CARACTERISTICAS DEL LENGUAJE 'C' El lenguaje 'C' se conoce como un lenguaje compilado. Existen dos tipos de lenguaje: interpretados y compilados. Los interpretados son aquellos que necesitan
Más detallesJava Avanzado Facultad de Ingeniería. Escuela de computación.
2 Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 8 3 Introducción Este manual ha sido elaborado para orientar al estudiante de Java Avanzado en el desarrollo de sus prácticas
Más detallesLABORATORIO DE PROCESADORES DE LENGUAJE Curso: Práctica 2: Analizador léxico/sintáctico/semántico con Flex y Bison
LABORATORIO DE PROCESADORES DE LENGUAJE Curso: 2008-2009 Práctica 2: Analizador léxico/sintáctico/semántico con Flex y Bison Planteamiento del problema En esta práctica se trata de realizar, mediante el
Más detallesJava Avanzado Facultad de Ingeniería. Escuela de computación.
2 Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 5 3 Introducción Este manual ha sido elaborado para orientar al estudiante de Java Avanzado en el desarrollo de sus prácticas
Más detallesProcesos de Fabricación I. Guía 1 1 ESTUDIO DEL TRABAJO INDUSTRIAL
Procesos de Fabricación I. Guía 1 1 ESTUDIO DEL TRABAJO INDUSTRIAL Estudio del Trabajo Industrial. Guía 3 1 Tema: CURSOGRAMA SINOPTICO Y ANALITICO Contenidos 1. FASES DEL ESTUDIO DEL METODO 2. EL REGISTRO
Más detallesTema: Configuración de red AD-HOC
Tema: Configuración de red AD-HOC Contenidos Configuración del servidor AD-HOC. Conexión de una segunda computadora a la red AD-HOC. Compartiendo la conexión a Internet. Objetivo Redes de datos inalámbricas.
Más detallesPROCESADORES DE LENGUAJE EXAMEN FINAL 8-JUNIO-07
PROCESADORES DE LENGUAJE EXAMEN FINAL 8-JUNIO-07 1. En qué método de análisis sintáctico puede suceder que en la construcción del árbol de derivación de las posibles expansiones de un símbolo no terminal
Más detallesTema: CREACIÓN DE DIAGRAMAS ESQUEMATICOS CON MICROSOFT VISIO
Empremática Guía 13 1 Facultad: Ingeniería Escuela: Computación Asignatura: Empremática Tema: CREACIÓN DE DIAGRAMAS ESQUEMATICOS CON MICROSOFT VISIO Objetivos: Visio. Crear diferentes tipos de diagramas
Más detallesTema: Excel Formulas, Funciones y Macros
1 Facultad Escuela Lugar de Ejecución : Ingeniería. : Biomédica : Laboratorio de Biomédica Tema: Excel Formulas, Funciones y Macros Objetivos Específicos Conocer los conceptos básicos en relación a la
Más detallesProcesadores de lenguaje Tema 6 La tabla de símbolos
Procesadores de lenguaje Tema 6 La tabla de símbolos Departamento de Ciencias de la Computación Universidad de Alcalá Resumen La tabla de símbolos. Requerimientos de información. Diseño de la tabla de
Más detallesProgramación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C
Algoritmo y Estructura de Datos Ing. M. Laura López 1 Estructura de un programa en C 2 Estructura de un programa en C #include Archivos de cabecera # define Definición de constantes Declaraciones Globales
Más detallesConstrucció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
Más detallesTema: Entorno a C# y Estructuras Secuenciales.
Tema: Entorno a C# y Estructuras Secuenciales. Programación I, Guía 3 1 Facultad: Ingeniería Escuela: Ingeniería en Computación Asignatura: Programación I Objetivos Utilizar el entorno de programación
Más detallesGenerador de analizadores sintácticos BISON
Generador de analizadores sintácticos BISON PROCESADORES DE LENGUAJES 4 o Informática http://ccia.ei.uvigo.es/docencia/pl noviembre-2008 2008 ccia PL 1. Introducción Traduce la especificación de una gramática
Más detallesINSTITUCIÓN EDUCATIVA JOSÉ EUSEBIO CARO ÁREA DE TECNOLOGÍA E INFORMÁTICA 2016 DOCENTE JESÚS EDUARDO MADROÑERO RUALES GRADO OCTAVO TEMA
INSTITUCIÓN EDUCATIVA JOSÉ EUSEBIO CARO ÁREA DE TECNOLOGÍA E INFORMÁTICA 2016 DOCENTE JESÚS EDUARDO MADROÑERO RUALES GRADO OCTAVO TEMA MICROSOFT EXCEL FECHA 15 / 02 / 2016 Luego de la realización de esta
Más detallesTema: Clases y Objetos en C#. Parte II.
Programación II. Guía No. 5 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Clases y Objetos en C#. Parte II. Objetivos Implementar clases, objetos, propiedades, métodos y
Más detallesLa última versión disponible cuando se redactó este manual era la 5 Beta (versión ), y sobre ella versa este manual.
Manual de Dev-C++ 4.9.9.2 Página 1 de 11 Introducción Dev-C++ es un IDE (entorno de desarrollo integrado) que facilita herramientas para la creación y depuración de programas en C y en C++. Además, la
Más detallesGRAMATICAS LIBRES DEL CONTEXTO
GRMTICS LIBRES DEL CONTEXTO Estas gramáticas, conocidas también como gramáticas de tipo 2 o gramáticas independientes del contexto, son las que generan los lenguajes libres o independientes del contexto.
Más detallesENTORNO DE DESARROLLO Y COMPILACIÓN DE PELLES C
2010 UNAN LEON Departamento de Computación Ing. En Sistemas Sabatino Autor: Ing.Karina Esquivel Alvarado. Asignatura: Programación II. ENTORNO DE DESARROLLO Y COMPILACIÓN DE PELLES C OBJETIVOS: Conocer
Más detallesUnidad II: Análisis semántico
Unidad II: Análisis semántico Se compone de un conjunto de rutinas independientes, llamadas por los analizadores morfológico y sintáctico. El análisis semántico utiliza como entrada el árbol sintáctico
Más detallesTema 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 detallesHoja técnica sobre yacc 1 y lex 2. Introducción. lex PL, 2014/2015 1
PL, 2014/2015 1 Introducción Hoja técnica sobre yacc 1 y lex 2 Los programas yacc y lex son herramientas de gran utilidad para un diseñador de compiladores. Muchos compiladores se han construido utilizando
Más detallesFila: Es un conjunto de varias celdas dispuestas en sentido horizontal.
Que Es Excel? Excel es un programa que permite la manipulación de libros y hojas de calculo. En Excel, un libro es el archivo en que se trabaja y donde se almacenan los datos. Como cada libro puede contener
Más detallesTema: Generación de código intermedio
Compiladores. Guía 10 1 Tema: Generación de código intermedio Objetivos Específicos Conocer las características y principal función de un generador de código. Analizar el funcionamiento, entrada y salida
Más detallesTema 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
Más detallesTema: Configuración de Redes PAN
Tema: Configuración de Redes PAN Contenidos Configuración de Print Server Inalámbrico (Via software). Configuración de Print Server Inalámbrico (Vía HTML). Configuración de Cámara Web Inalámbrica (Vía
Más detallesObjetivo: Construir un programa integrando sentencias de decisión MARCO TEÓRICO
Pagina 1 de 6 Objetivo: Construir un programa integrando sentencias de decisión MARCO TEÓRICO Objetos y Propiedades Los formularios y los distintos tipos de controles son entidades genéricas de las que
Más detallesLenguaje 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 detallesFacultad: Ingeniería Escuela: Computación Asignatura: Ofimática Ciclo:
TEMA: CREACION DE ARCHIVOS PUBLICITARIOS EN MICROSOFT PUBLISHER 2007 I. OBJETIVOS Crear diferentes tipos de publicaciones personales y comerciales con la ayuda de asistentes en Microsoft Publisher 2007
Más detallesCompiladores: Análisis Sintáctico. Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V.
Compiladores: Análisis Sintáctico Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V. Sintaxis Define la estructura del lenguaje Ejemplo: Jerarquía en
Más detallesEXAMEN PARCIAL TRABAJO INTEGRADOR (TI) EVALUACIÓN CONTINUA PESO PORCENTUAL PESO PORCENTUAL 1 30% 06-MAY-14 30% 03-MAY-14 20% 20%
UNIVERSIDAD DEL VALLE DE MEXICO CAMPUS ROMA PLANEACIÓN DIDÁCTICA LICENCIATURA EJECUTIVA CICLO 201425 Nombre de la asignatura: Lenguajes Operativos Horas por semana: 6 Nombre del docente: Olvera Jiménez
Más detallesTema: Introducción al IDE de Microsoft Visual C#.
Tema: Introducción al IDE de Microsoft Visual C#. Objetivos: El propósito de este tema es que el alumno se familiarice con el entorno de desarrollo de Visual C# Express mientras crea el formulario más
Más detallesSeleccione en el escritorio el programa Sucosoft S40 y darle doble click.
Programación y manejo de Sucosoft S40: Cómo Programar? Seleccione en el escritorio el programa Sucosoft S40 y darle doble click. Aparece una ventana denominada administrador Sucosoft en la cual se encuentra
Más detallesFUNDAMENTOS DE INFORMÁTICA
FUNDAMENTOS DE INFORMÁTICA Tema 1 Introducción a la Programación en Visual Basic Departamento de Ingeniería de Sistemas y Automática Universidad de Vigo undamentos de Informática. Departamento de Ingeniería
Más detallesSISTEMAS INFORMÁTICOS PROGRAMACION I - Contenidos Analíticos Ing. Alejandro Guzmán M. TEMA 2. Diseño de Algoritmos
TEMA 2 Diseño de Algoritmos 7 2. DISEÑO DE ALGORITMOS 2.1. Concepto de Algoritmo En matemáticas, ciencias de la computación y disciplinas relacionadas, un algoritmo (del griego y latín, dixit algorithmus
Más detallesTEMA 3: El proceso de compilación, del código fuente al código máquina
TEMA 3: El proceso de compilación, del código fuente al código máquina 3.1 Fase de compilación y linkado (link, montado o enlace) Un programa escrito en un lenguaje de alto nivel, no puede ser ejecutado
Más detallesFundamentos de Programación 2017-I
Fundamentos de Programación 2017-I Fundamentos para la construcción de código a partir del algoritmo Objetivo: El alumno construirá programas utilizando el lenguaje de programación C a través de un análisis
Más detallesTema: Punteros a Objetos. Puntero this.
Programación II. Guía 6 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Punteros a Objetos. Puntero this. Objetivos Manejar objetos por medio de punteros. Utilizar el puntero
Más detallesMIA RICARDO GONZALEZ LOZANO APLICACIONES EN LENGUAJE C
MIA RICARDO GONZALEZ LOZANO APLICACIONES EN LENGUAJE C Antes de comenzar a desarrollar aplicaciones podemos crear el programa en cualquier editor de textos, solo hay que guardarlo con la extensión X.c
Más detallesTabletas en el aula. Mi primera hoja de cálculo con WPS Office. Edición Autor: Fernando Posada Prieto canaltic.com
Tabletas en el aula Mi primera hoja de cálculo con WPS Office Edición 2015 Autor: Fernando Posada Prieto canaltic.com Mi primera hoja de cálculo con WPS Office Índice 1. Qué es una hoja de cálculo?...
Más detalles1. 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
Más detallesUniversidad de Costa Rica. Escuela de Ciencias de la Computación e Informática CI-2700 TÓPICOS ESPECIALES - COMPILADORES.
Universidad de Costa Rica Escuela de Ciencias de la Computación e Informática CI-2700 TÓPICOS ESPECIALES - COMPILADORES II Ciclo 2014 Profesor: Manuel E. Bermúdez EXAMEN FINAL (NO PARA COMER EN CLASE,
Más detallesINTRODUCCIÓN DE DATOS EN LA HOJA DE CÁLCULO
UNIDAD DIDÁCTICA INTRODUCCIÓN DE DATOS EN LA HOJA DE CÁLCULO Los objetivos de este tema son: 1. Aprender a introducir datos en la hoja de cálculo. 2. Diferenciar los tipos de datos con los que se puede
Más detallesRIPEST SISTEMA DE EVALUACIÓN DE RIESGO ECOTOXICOLÓGICO DEL USO DE PESTICIDAS EN CULTIVOS
SISTEMA DE EVALUACIÓN DE RIESGO ECOTOXICOLÓGICO DEL USO DE PESTICIDAS EN CULTIVOS MANUAL DE USUARIO Importación de aplicaciones y exportación de resultados Índice 1. Importación de Aplicaciones... 3 a)
Más detallesOperadores y Expresiones
Operadores y Expresiones Los programas Java constan de datos, sentencias de programas y expresiones. Una expresión es normalmente, una ecuación matemática, tal como 3 * x + 5 * z. En esta expresión, los
Más detallesPROGRAMA INSTRUCCIONAL AUTOMATAS Y LENGUAJES FORMALES
UNIVERSIDAD FERMIN TORO VICE RECTORADO ACADEMICO UNIVERSIDAD FACULTAD DE INGENIERIA ESCUELA DE MANTENIMIENTO MECÁNICO ESCUELA DE TELECOMUNICACIONES ESCUELA DE ELÉCTRICA ESCUELA DE COMPUTACIÓN PROGRAMA
Más detallesINSTITUCIÓN EDUCATIVA LICEO DEPARTAMENTAL ÁREA DE TECNOLOGÍA E INFORMÁTICA
INSTITUCIÓN EDUCATIVA LICEO DEPARTAMENTAL ÁREA DE TECNOLOGÍA E INFORMÁTICA GUÍA DE INFORMÁTICA (Operaciones matemáticas) Profesor: Germán Rodríguez López Año lectivo 2006-2007 1 OPERACIONES MATEMÁTICAS
Más detallesGuía práctica de estudio 05: Diagramas de flujo
Guía práctica de estudio 05: Diagramas de flujo Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Revisado por: Ing. Laura Sandoval Montaño Guía práctica de estudio 05: Diagramas de
Más detallesProgramación en Visual Basic Ricardo Rodríguez García
Manual Básico de Programación en Visual Basic 1.- Estructura de un proyecto Visual Basic Los programas o aplicaciones desarrolladas en Visual Basic van a constituir un único paquete que denominaremos proyecto.
Más detallesInformática y Computación III Guía de Estudio (50 reactivos)
Informática y Computación III Guía de Estudio (50 reactivos) Responde cada una de las preguntas que se te plantean. Excel es un editor de textos como PowerPoint No existen otras hojas de cálculo, solo
Más detallesCIRCUITOS COMBINACIONALES CON isplever
CIRCUITOS COMBINACIONALES CON isplever En el siguiente tutorial se describe el procedimiento para crear un diseño digital usando esquemático con el software isplever. Se explicará como implementar la ecuación
Más detallesEstructura y partes del teclado
Estructura y partes del teclado El teclado esta dividido en 4 partes fundamentales: el teclado alfanumérico, el teclado numérico, las teclas de función, las teclas de control. 1. El teclado alfanumérico
Más detallesProcesos de Fabricación I. Guía 1 SISTEMAS DE CONTROL HIDRÁULICO Y NEUMÁTICO
Procesos de Fabricación I. Guía 1 SISTEMAS DE CONTROL HIDRÁULICO Y NEUMÁTICO Sistemas de Control Hidráulico y Neumático. Guía 8 1 Tema: CIRCUITOS ELECTROHIDRÁULICOS. Contenidos Válvulas de control direccional
Más detallesTema: Métodos de Ordenamiento. Parte 1.
Programación IV. Guía 2. 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación IV Tema: Métodos de Ordenamiento. Parte 1. Objetivos Específicos Identificar la estructura de algunos algoritmos
Más detallesLISTA PARA VALIDACIÓN DE DATOS EN EXCEL
LISTA PARA VALIDACIÓN DE DATOS EN EXCEL Cuando compartes tus libros de Excel con otras personas y ellos introducen información en las hojas que has preparado con tanto esfuerzo, es de suma importancia
Más detallesComputación Aplicada. Universidad de Las Américas. Aula virtual de Computación Aplicada. Módulo de Excel 2013 LIBRO 11
Computación Aplicada Universidad de Las Américas Aula virtual de Computación Aplicada Módulo de Excel 2013 LIBRO 11 Contenido INFORME DE TABLA DINÁMICA... 3 CREAR UN INFORME DE TABLA DINÁMICA... 3 PERSONALIZAR
Más detallesESCUELA DE INFORMÁTICA
TÉCNICO EN SISTEMAS LABORAL SUBMODULO TEMA 1 (Visual Basic for Application) Microsoft VBA (Visual Basic for Applications) es el lenguaje de macros de Microsoft Visual Basic que se utiliza para programar
Más detallesTema 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.
Más detallesProcesadores de lenguaje Tema Análisis sintáctico (Parte I)
Procesadores de lenguaje Tema 3 Análisis sintáctico (Parte I) Departamento de Ciencias de la Computación Universidad de Alcalá Resumen Introducción Conceptos básicos Tipos de analizadores Gramáticas independientes
Más detallesProfesor(a): Ing. Miriam Cerón Brito
Área Académica: Informática Tema: Hoja electrónica Profesor(a): Ing. Miriam Cerón Brito Periodo: Enero Junio 2014 Abstract: This presentation show the spreadsheet's characteristics and show the principals
Más detallesTema: Uso del analizador espectral.
Sistemas de Comunicación I. Guía 1 1 I Facultad: Ingeniería Escuela: Electrónica Asignatura: Sistemas de comunicación Tema: Uso del analizador espectral. Objetivos Conocer el funcionamiento de un Analizador
Más detallesHerramientas computacionales para la matemática MATLAB: Cómo guardar el trabajo?
Herramientas computacionales para la matemática MATLAB: Cómo guardar el trabajo? Verónica Borja Macías Marzo 2013 1 Cómo guardar el trabajo? Trabajar en la ventana de comandos es similar a realizar cálculos
Más detallesUNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACION
CICLO: 02/ 2012 UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACION Nombre de la Practica: Lugar de Ejecución: Tiempo Estimado: MATERIA: GUIA DE LABORATORIO #07 Arreglos. Uso
Más detallesManual de turbo pascal
Universidad Nacional Experimental De Los Llanos Occidentales Ezequiel Zamora UNELLEZ-Barinas Manual de turbo pascal Bachilleres: Martinez Ninibeth C.I:20.867.002 Mora Yaco C.I:17.205.073 Estructura de
Más detalles41 Jornadas Argentinas de Informática Concurso de Trabajos Estudiantiles 2012. Categoría: Teoría de la Computación, Modelos Formales y Compiladores.
41 Jornadas Argentinas de Informática Concurso de Trabajos Estudiantiles 2012 Categoría: Teoría de la Computación, Modelos Formales y Compiladores. Título: Implementación de un compilador de C- -. Autor:
Más detallesCarrera: 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
Más detallesEXCEL EJERCICIO 18 TABLAS DINÁMICAS Y GRÁFICOS DINÁMICOS. Tablas dinámicas
EXCEL EJERCICIO 18 TABLAS DINÁMICAS Y GRÁFICOS DINÁMICOS Tablas dinámicas Las tablas dinámicas son una herramienta relacionada con las listas o bases de datos creadas en hojas de cálculo. Sirven para organizar
Más detalleshttps://dac.escet.urjc.es/docencia/etc-sistemas/teoria-cuat1/tema2.pdf
1.3 Sistemas numéricos 1.3.1. Introducción Un sistema de representación numérica es un lenguaje que consiste en: Un conjunto ordenado de símbolos (dígitos o cifras) y otro de reglas bien definidas para
Más detallesProgramación Estructurada
Programación Estructurada PROGRAMACIÓN ESTRUCTURADA 1 Sesión No. 2 Nombre: El lenguaje de programación C Contextualización Una constante en todos los lenguajes de programación (viejos y nuevos) es la implementación
Más detallesGUIA DE LABORATORIO 05
UNIVERSIDAD DE EL SALVADOR FACULTAD DE INGENIERIA Y ARQUITECTURA ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS MANEJO DE SOFTWARE PARA MICROCOMPUTADORAS Ciclo II 2012 GUIA DE LABORATORIO 05 En este material
Más detallesTema 3. Análisis sintáctico descendente
Departamento de Tecnologías de la Información Tema 3 Análisis sintáctico Ciencias de la Computación e Inteligencia Artificial Índice 3.1 Características del análisis sintáctico 3.2 Gramáticas libres de
Más detallesAgenda. BNF y EBNF Brevemente, lo necesario para especificar el lenguaje sobre el que vamos a trabajar.
Agenda BNF y EBNF Brevemente, lo necesario para especificar el lenguaje sobre el que vamos a trabajar. JLEX y JCUP Breve descripción del las herramientas para generar el parser o analizador sintáctico.
Más detallesProcesadores de lenguaje Tema Análisis sintáctico (Parte II)
Procesadores de lenguaje Tema 3 Análisis sintáctico (Parte II) Salvador Sánchez, Daniel Rodríguez Departamento de Ciencias de la Computación Universidad de Alcalá Resumen Análisis sintáctico ascendente
Más detallesEn este artículo vamos a conocer los tipos de datos que podemos manejar programando en C.
El primer objetivo de un programa informático es el manejo de datos. Un dato es toda aquella información que se puede tratar en un programa informático. En este artículo vamos a conocer los tipos de datos
Más detallesFormato para prácticas de laboratorio
PLAN DE CLAVE CARRERA NOMBRE DE LA ASIGNATURA ESTUDIO ASIGNATURA LSC 2009-2 11290 Introducción a la Programación PRÁCTICA No. 2 LABORATORIO DE NOMBRE DE LA PRÁCTICA Licenciado en Sistemas Computacionales
Más detallesINSTITUCION EDUCATIVA COLEGIO TOLEDO PLATA PLAN DE ÁREA DE TECNOLOGIA E INFORMATICA GRADO 8º
UNIDAD Nº 1: MICROSOFT POWERPOINT (TALLER CUATRO) 16 TEMAS: INGRESAR A POWERPOINT RECONOCIMIENTO DE LA VENTANA DE POWERPOINT INSERTAR DIAPOSITIVAS EN POWERPOINT INDICADOR Identificar los pasos básicos
Más detallesTeoría de Autómatas y Lenguajes Formales LEX BISON Dr. Eric Jeltsch F. Introducción para los laboratorios y actividades relacionadas.
Introducción para los laboratorios y actividades relacionadas. Flex y Bison son las herramientas desarrolladas en el proyecto GNU (Free Software Foundation) equivalentes a lex y yacc en el sistema operativo
Más detallesSesión No. 10. Contextualización INFORMÁTICA 1. Nombre: Gestor de Base de Datos (Access)
INFORMÁTICA INFORMÁTICA 1 Sesión No. 10 Nombre: Gestor de Base de Datos (Access) Contextualización Microsoft Access es un sistema de gestión de bases de datos, creado para uso personal y de pequeñas organizaciones,
Más detallesFigura 41: Ejemplo de una carta para combinar correspondencia
4. COMBINACIÓN DE CORRESPONDENCIA Cuando se requiera dirigir la misma carta a diferentes destinatarios se habla de Combinación de correspondencia. El nombre en inglés Mail Merge, proviene de la aplicación
Más detallesTEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS
TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS Una vez que ya sabes crear tus propios programas, vamos a analizar los fundamentos del lenguaje de programación C. Este capítulo incluye además los siguientes temas:
Más detallesUna Herramienta para el Análisis Léxico: Lex
Una Herramienta para el Análisis Léxico: Lex Alejandro Viloria Lanero (aviloria@infor.uva.es) Teoría de Autómatas y Lenguajes Formales Universidad de Valladolid Como hemos ido viendo, el shell de los sistemas
Más detallesProcesadores de lenguaje Tema 2 Análisis léxico
Procesadores de lenguaje Tema 2 Análisis léxico Departamento de Ciencias de la Computación Universidad de Alcalá de Henares Resumen del tema Objetivo: comprender la estructura, organización y funcionamiento
Más detalles