COMPILADORES E INTERPRETES
|
|
- Emilio Valenzuela Álvarez
- hace 7 años
- Vistas:
Transcripción
1 COMPILADORES E INTERPRETES Análisis semántico: Estudia el significado de la sentencia Procesadores de lenguaje: Convierte un programa fuente hecho en un lenguaje fuente a un programa objeto hecho en un lenguaje objeto. En consecuencia, es un programa que esta hecho en maquina virtual y es transformado a un programa que entienda la maquina real. Observe el esquema: Maquina Virtual (Generado por SO) Maquina Real para para fuente (hecho en Leng. Fuente) CONVERTIR objeto (hecho en Leng. Objeto) Instrucciones máquina El lenguaje objeto es creado por el compilador, el cual debe estar preparado para el sistema operativo en el que será ejecutado y a la arquitectura respectiva del hardware. Por ejemplo, existen compiladores que a un programa fuente lo transforman a ejecutable para Windows (arquitectura CISC) o para MacOS (arquitectura RISC). Firmware (microprograma ubicado en la ROM) Especie de caja negra (no perceptible por el usuario) fuente (hecho en Pascal) Compilador (hecho en lenguaje C++) objeto (o para un SO Windows - CISC) (o para un SO MacOS - RISC) Lenguaje fuente Lenguaje de implementación Lenguaje objeto Un SO de arquitectura ietaria son aquellas que restringen el desarrollo de aplicaciones sólo a esa misma familia de SO, por ejemplo, Windows: sus aplicaciones no pueden ser ejecutadas por otros SO tal como MacOS o LINUX Interprete Java (utiliza bytecode) Lenguaje de implementación C++ Sistema Computacional Por eso se dice que el Java es el sucesor del C ++ Un SO de arquitectura abierta es aquel en que sus aplicaciones pueden ser ejecutadas en cualquier otro SO, como por ejemplo LINUX puede ser instalado en cualquier arquitectura como CISC o RISC, es decir se puede instalar en una PC o una Mac (Apple) respectivamente. Existen decompiladores que transforman un exe a código fuente. Pero, debe saberse de antemano cual fue el lenguaje que lo originó. Ing. Luis Reyes Lescano 1
2 Tipos de procesadores de lenguaje Traductores F uente Compilador objeto F uente Ensamblador objeto (Leng. de alto niv el o medio niv el) (Leng. objeto o máquina) (Leng. de ensamble) (Leng. objeto o máquina) Funcionalad: Toma todo el programa fuente y genera las instrucciones máquina (Prog.objeto), inclusive genera el exe que es igual al Prog.objeto+cargadores (rutinas de ejecusión del SO). Interpretes F uente (Leng. de alto niv el) Interprete objeto (Leng. objeto o máquina) Funcionalad: Toma el programa fuente y genera instrucciones máquina necesarias sentencia por sentencia (fuente) sobre la marcha. Muchas veces no genera el ejecutable y para esto necesita del software de apoyo (linker). Estructura de un compilador Etapa de Análisis Análisis Léxico Análisis Sintáctico Análisis Semántico Tabla de símbolos uniformes Etapa de Síntesis Generación código interno Optimizador Generación código final Tabla de manejo de errores PROG. FUENTE PROG. OBJETO ANALISIS LEXICO - Es un análisis lineal - Se da de izquierda a derecha - Necesita de un analizador léxico o scaner Ing. Luis Reyes Lescano 2
3 Funcionalad: - Se encarga de disponer el programa fuente en unades sintácticas, es decir, palabras con significado io, denominados componentes léxicos o tokens. Por ejemplo: palabras reservadas, entificadores, constantes, operadores aritméticos, operadores relacionales, operadores lógicos, símbolos de asignación, símbolos de puntuación o caracteres especiales del lenguaje, etc. - Elimina los caracteres en forma de espacios en blanco, ejemplo: espacio en blanco, tabulaciones y saltos de línea. - Elimina los comentarios. - Actualiza la tabla de símbolos uniformes, que es la contenedora de todos los tokens del programa fuente actual. Conceptos básicos: - Palabra reservada: Es aquella palabra del io lenguaje de programación que no se puede usar como entificador de variables ni como funciones de usuario. Mayormente todas las palabras clave son reservadas, pero algunas palabras reservadas no siempre son palabras clave. Ejemplo de palabras claves: main, if, else, switch, while, do, etc. Ejemplo de palabras reservadas: printf(), scanf(), getch(), putpixel(), gotoxy(), etc. Estas últimas palabras son reservadas, pero no son palabras clave ya que pueden ser creadas por el usuario como funciones ias, siempre y cuando no se usen las librerías del C++. token Identificador de función printf ( %d, dato); int a =1; float suma ( a, b ); Identificador de variable - Tabla de símbolos uniformes: Se basa en: Tabla de terminales (palabras reservadas) Tabla de entificadores (variables) Tabla de literales (constantes) ANALISIS SINTA CTICO - Es un análisis de tipo jerárquico. - Necesita de un analizador sintáctico o módulo denominado Parser Funcionalad: - Verifica en forma permanente la correcta escritura de las sentencias, teniendo como parámetros un conjunto de reglas denominada gramática. - Una gramática se representa formalmente o matemáticamente en base a un cuádruple de la forma: G = (P, T, N, S), donde: P = Producciones o reglas T = Conjunto de terminales N = Conjunto de no terminales S = Axioma, símbolo distinguo o metanoción Ing. Luis Reyes Lescano
4 - Sigue la forma BNF (Backus Naur Form) que coince con la gramática de libre contexto de Chomsky. Ejemplo: Reglas para el reconocimiento de una sentencia de asignación: 1. Un entificador es una expresión. 2. Un número es una expresión.. Pueden darse los siguientes casos: expresión + expresión expresión - expresión expresión * expresión expresión / expresión Todas ellas son expresiones. Identificador = expresión es una osición. Transformando estas reglas a BNF, sería: exp exp exp exp exp - exp exp exp = exp O SE PUEDE REPRESENTAR exp exp - exp = exp Ahora planteemos estas reglas o producciones a una sentencia de asignación: X = A + * C - = X * + - A C árbol aritmético = exp X exp - exp A C parser P: {exp exp - exp = exp } T: {X,=,A,+,,*,C,-,} N: {,exp,} S: {} forma gramatical Ing. Luis Reyes Lescano
5 EJERCICIOS I. Desarrollar el parser para el reconocimiento de las siguientes sentencias de asignación: a. X = A * B / C / 2 + * ( + / 2) = exp X 2 C A B 2 b. X = + * + 1 / 2 / * 6 + ( * ) = exp X exp exp Ing. Luis Reyes Lescano
6 c. X = ((A + ) + * + (6 / * )) / 2 + * = exp X 2 A 6 d. X = (A + ( * + (6 * / / 2)) + * ) / / 2 = exp X exp exp 2 A exp / exp 2 6 Ing. Luis Reyes Lescano 6
7 II. Desarrollar las gramáticas para el reconocimiento de: a. Sentencia condicional if() _cond if (exp) then {} if (exp) then {} else {} dig 0 9 dig dig letra a z A Z comp letra dig _ ( letra dig _ ) comp letra letra (comp) op_arit + - * / op_rel < > <= >= <> exp_arit exp op_arit exp exp_rel exp op_rel exp exp_log exp AND exp exp OR exp NOT exp exp exp_arit exp_rel exp_log _asig = exp _var ++ _declar tipo _asig tipo _asig _var _declar _cond (_asig _var _declar _cond) b. Sentencia repetitiva for() _rep for (inicia; evalua; var) {} inicia _asig _declar (_asig _declar), inicia evalua exp_rel exp_log var _var _asig (_var _asig), var _asig _var _declar _cond _rep (_asig _var _declar _cond _rep) c. Sentencia de control while() _ctrl while (evalua) {} do {} while (evalua) Definición de reglas que serán utilizadas para la construcción de la gramática de las sentencias siguientes. A xioma de la gramática que irá incrementándose _asig _var _declar _cond _rep _ctrl (_asig _var _declar _cond _rep _ctrl) d. Sentencia de selección múltiple switch() _selec switch () {enuncia defa} enuncia case valores: ; break; case valores: ; break; enuncia valores letra, valores letra, valores defa enuncia default: ; break; _asig _var _declar _cond _rep _ctrl _selec (_asig _var _declar _cond _rep _ctrl _selec) e. Sentencia de escritura printf() _esc printf ( cuerpo ) printf ( cuerpo, var_esc) cuerpo cad format (cad format) cuerpo cad letra dig car_esp delim (letra dig car_esp delim) cad format %d %f %c %s car_esp!? < > # $ % / ) ( ; :,.... delim eb TAB space var_esc exp_arit ( exp_arit ), var_esc _asig _var _declar _cond _rep _ctrl _selec _esc (_asig _var _declar _cond _rep _ctrl _selec _esc) f. Sentencia de lectura scanf() _lect scanf ( format, var_lect) var_lect & ( &) var_lect _asig _var _declar _cond _rep _ctrl _selec _esc _lect (_asig _var _declar _cond _rep _ctrl _selec _esc _lect) Ing. Luis Reyes Lescano 7
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
Más detallesCompiladores 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
Más detallesEs un lenguaje estructurado, tiene una abundante cantidad de operadores y tipos de datos.
Lenguaje C Un poco de historia C es un lenguaje de propósito general, es decir, se pueden desarrollar aplicaciones de diversas áreas. Dentro de sus principales características podemos mencionar que: Es
Más detallesIntroducción. El proceso de traducción
Toda compilación es un proceso de transformación paulatina que convierte un programa escrito en un lenguaje fuente de alto nivel en otro programa escrito en un lenguaje objeto de bajo nivel. Ese proceso
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 detalles8- LEX-Expresiones regulares
8- LEX-Expresiones regulares Objetivos: Utilizar la herramienta KEX para trabajar con expresiones regulares Recursos: Maquina virtual Linux distribución Bodhi LXterminal y FLEX Introducción Flex le permite
Más detallesANÁ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
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 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 detallesProgramación 1. Tema I. Conceptos y elementos básicos de Programación. Lección 2. Lenguaje de programación y ejecución de un programa
Programación 1 Tema I. Conceptos y elementos básicos de Programación Lección 2. Lenguaje de programación y ejecución de un programa 1 Léxico, sintaxis y semántica de un lenguaje #include #include
Más detallesPRÁ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
Más detallesTema: Análisis Léxico
Compiladores. Guía 2 1 Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores Tema: Análisis Léxico Contenido En esta guía se dará a conocer la manera en que un compilador realiza el análisis
Más detallesAlgoritmo, Estructuras y Programación I Ing. Marglorie Colina
Unidad II: Fundamentos de la Programación Estructurada Algoritmo, Estructuras y Programación I Ing. Marglorie Colina Estructura General de un Programa Zona de ficheros de cabecera de las librerías Zona
Más detallesTema 05: Elementos de un programa en C
Tema 05: Elementos de un programa en C M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A. Franco) 1
Más detallesGramaticas Independientes del Contexto, ejemplos y ejercicios
OpenStax-CNX module: m16320 1 Gramaticas Independientes del Contexto, ejemplos y ejercicios Carlos Arturo Cortés Fuentes This work is produced by OpenStax-CNX and licensed under the Creative Commons Attribution
Más detallesObjetivos 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,
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 detallesJava para no Programadores
Java para no Programadores Programa de Estudio Java para no Programadores Aprende a programar con una de las tecnologías más utilizadas en el mercado de IT. Este curso está orientado a quienes no tienen
Más detallesIntroducción a la Programación
Introducción a la Programación Fundamentos de Programación Ingeniería Informática en Sistemas de Información Alicia Troncoso 1 Contenido l Introducción l Mi primer programa l Etapas a seguir en la programación
Más detallesOperadores aritméticos
Bloque 3.2 Operadores aritméticos Suma : x + y Resta : x y Multiplicación : x * y División : x / y Módulo : x % y (resto de la división Si los operandos son enteros tipo del resultado
Más detallesLenguaje C. República Bolivariana de Venezuela Fundación Misión Sucre Aldea Fray Pedro de Agreda Introducción a la Programación III
República Bolivariana de Venezuela Fundación Misión Sucre Aldea Fray Pedro de Agreda Introducción a la Programación III Lenguaje C 1 Puntos previos Los códigos fuentes generados en C requieren ser compilados
Más detallesJava para no Programadores
Java para no Programadores Programa de Estudio Java para no Programadores Aprende a programar con una de las tecnologías más utilizadas en el mercado de IT y comienza tu camino como desarrollador Java.
Más detallesUNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA Escuela Técnica Superior de Ingeniería Informática Procesadores de Lenguajes. Tema 2.
UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA Escuela Técnica Superior de Ingeniería Informática Procesadores de Lenguajes Tema 2 Análisis Léxico Javier Vélez Reyes jvelez@lsi.uned.es Objetivos del Tema
Más detallesAnalizador Sintáctico RECURSIVO
Compiladores 1 Argueta Cortes Jairo I. Universidad Nacional Autónoma de México Facultad de Ingeniería Compiladores Grupo 1 Analizador Sintáctico RECURSIVO ALUMNOS: ARGUETA CORTES JAIRO I. MENDOZA GAYTAN
Más detallesElementos 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 detallesIntroducció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 detallesCuales son los tipos de instrucciones que se utilizan en la programación?
EXAMEN NIVEL PREUNI/UNI Cuales son los tipos de instrucciones que se utilizan en la programación? a) Instrucciones afirmativas e instrucciones negativas b) Instrucciones entrada, instrucciones afirmativas
Más detallesEstructuras de Datos Declaraciones Tipos de Datos
Departamento de Informática Universidad Técnica Federico Santa María Estructuras de Datos Declaraciones Tipos de Datos Temas: 2-3-4 IWI-131, paralelo 01 Profesor: Teddy Alfaro O. Lenguaje de Programación
Más detalles16 Análisis sintáctico I
2 Contenido Recordando la estructura de un compilador Recordando el análisis léxico l análisis sintáctico Comparación con el análisis léxico l Rol del Parser Lenguajes de programación Gramáticas structura
Más detallesCompiladores: Introducción
Compiladores: Introducción Francisco J Ballesteros LSUB, URJC Page 1 of 28 Qué es un lenguaje de programación? C, Java, Go,... Pero también ls *.c grep '^[a-z].*\.8' printf("%s %d",...) Page 2 of 28 Cómo
Más detallesLaboratorio de Arquitectura de Redes. Introducción al lenguaje C
Laboratorio de Arquitectura de Redes Introducción al lenguaje C Introducción al lenguaje C Introducción Características del lenguaje C Funciones en C Identificadores o etiquetas Las librerías y el linkado
Más detallesProgramación en Lenguaje C
Lenguaje de programación C Programación en Lenguaje C Introducción El Lenguaje de programación C fue implantado por primera vez en los años 70 por Dennis Ritchie para una computadora DEC PDP-11 corriendo
Más detallesUnidad 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 detallesUnidad III Análisis Léxico. M.C. Juan Carlos Olivares Rojas
Unidad III Análisis Léxico M.C. Juan Carlos Olivares Rojas Agenda 3.1 Introducción a los Autómatas finitos y expresiones regulares. 3.2 Analizador de léxico. 3.3 Manejo de localidades temporales de memoria
Más detallesAnalizador Léxico en LEX
Compiladores 1 Argueta Cortes Jairo I. Universidad Nacional Autónoma de México Facultad de Ingeniería Compiladores Grupo 1 en LEX ALUMNOS: ARGUETA CORTES JAIRO I. MENDOZA GAYTAN JOSE TRINIDAD PROFESORA:
Más detallesOPERADORES Y EXPRESIONES
OPERADORES Y EXPRESIONES Una expresión es una combinación de variables, literales y operadores, que representan un valor Operadores aritméticos Operador Función + suma - resta * producto / división % operador
Más detallesMódulo. = Asignación = = Comp. de igualdad!= Com. de desigualdad <= Comp. menor o igual >= Comp. mayor o igual AND lógico OR lógica.
EQUIVALENCIAS BÁSICAS ENTRE PASCAL Y C A continuación se presentan algunas equivalencias básicas entre estos lenguajes de programación : Operadores en lenguaje C: Operador Descripción % Módulo = Asignación
Más detallesUnidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones
Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice
Más detallesJava. Introducción a la Programación Orientada a Objetos
Java Java es un lenguaje de programación presentado en 1995 enfocado a: soportar los fundamentos de la programación orientada a objetos. generar código independiente de la arquitectura de la computadora
Más detallesPROGRAMA 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 detallesTema 7. Generación de código
Departamento de Tecnologías de la Información Tema 7 Generación de código Ciencias de la Computación e Inteligencia Artificial Índice 7.1 Visión general 7.2 Código de tres direcciones 2 Índice 7.1 Visión
Más detallesLenguajes de programación
Lenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa de computador es una secuencia de estas instrucciones Etapas
Más detallesGeneración de Código Intermedio
Generación de Código Intermedio Programación II Margarita Álvarez Generación de código intermedio Con la generación de código intermedio se inicia la tarea de síntesis. Aunque un programa fuente se puede
Más detallesabril de 2017 Desarrollo de aplicaciones en Java Tipos de datos primitivos Tipos de datos Elementos de aplicaciones simples
Desarrollo de aplicaciones en Java Generación de código fuente Compilación Ejecución Elementos de aplicaciones simples EII147-01-02 Introducción a las tecnologías de información Escuela de Ingeniería Industrial
Más detallesFASES 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
Más detallesTema: 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
Más detallesLenguaje de programación C. Introducción
Lenguaje de programación C Introducción 1 Elementos del lenguaje C Colección de funciones Estas funciones contienen declaraciones, sentencias, expresiones y otros elementos que en conjunto indican a la
Más detallesTema: Análisis Semántico
Compiladores. Guía 7 1 Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores Tema: Análisis Semántico Contenido En esta guía se desarrollará una tabla de símbolos y se asociará al analizador
Más detallesTema 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 detallesEl lenguaje C. 1. Identificadores, constantes y variables
Principios de Programación El lenguaje C 1. Identificadores, constantes y variables 1.1. Conceptos de memoria Los nombres de variable como x, y, suma corresponden a localizaciones o posiciones en la memoria
Más detallesLicenciatura de Matemáticas Informática I Notación algorítmica - Descripción BNF
Licenciatura de Matemáticas Informática I Notación algorítmica - Descripción BNF Dpto. Informática Noviembre 1998 1. Deniciones en forma BNF < > Símbolos no terminales. Declaraciones u objetos declarados
Más detallesDescripción de un Programa
Unidad 2 Descripción de un Programa 1 El Lenguaje C (1) El lenguaje C fue creado en 1972 por Ken L. Thompson y Dennis M. Ritchie en los Laboratorios Bell. Es evolución de un lenguaje más antiguo: B (a
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 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 detallesSintaxis y Semántica del Lenguaje
Gramáticas y Autómatas Wilo Carpio Cáceres 110813 1 Sintaxis y Semántica del Lenguaje Wilo Carpio Cáceres 2013 Gramáticas y Autómatas Wilo Carpio Cáceres 110813 2 INTRODUCCION A LOS COMPILADORES Wilo Carpio
Más detallesGUIA EXAMEN FINAL/EXTRAORDINARIO
INSTITUTO SAN ANGEL DEL SUR ESCUELA NACIONAL PREPARATORIA INCORPORADA A LA UNAM CLAVE 1261 CICLO 2012-2013 Nombre del profesor: Ing. Jorge Padilla Gutiérrez Asignatura: INFORMATICA V GUIA EXAMEN FINAL/EXTRAORDINARIO
Más detalles2007/ PROGRAMACIÓN. Tipo: TRO Curso: 1 Semestre: AB CREDITOS Totales TA TS AT AP PA OBJETIVOS. 1.-Introducción.
2007/2008 Tipo: TRO Curso: 1 Semestre: AB CREDITOS Totales TA TS AT AP PA OBJETIVOS 1.-Introducción. -Comprender cómo funciona un lenguaje de programación 2. Características del lenguaje C -Entender las
Más detallesVARIABLES, CONSTANTES Y EXPRESIONES ASIGNACIÓN. TIPOS ELEMENTALES. PRECEDENCIA DE LOS ESTRUCTURAS DE CONTROL. CONDICIONAL E
Java Java es un lenguaje de programación presentado en 1995 enfocado a: soportar los fundamentos de la programación orientada a objetos. generar código independiente de la arquitectura de la computadora
Más detallesProcesadores 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 detallesAnálisis léxico. Formalización y desarrollo. Procesadores de Lenguajes. Ingeniería Técnica superior de Ingeniería Informática
Procesadores de Lenguajes Ingeniería Técnica superior de Ingeniería Informática Departamento de Lenguajes y Sistemas informáticos Análisis léxico Formalización y desarrollo Javier Vélez Reyes jvelez@lsi.uned.es
Más detallesUnidad I: Organización del Computador. Ing. Marglorie Colina
Unidad I: Organización del Computador Ing. Marglorie Colina Arquitectura del Computador Atributos de un sistema que son visibles a un programador (Conjunto de Instrucciones, Cantidad de bits para representar
Más detallesINTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA
APUNTES DE JAVA FUNCIONAMIENTO DE UN PROGRAMA Assembler Ensamblador Ejecuta Programador Programa fuente BASIC Interprete Ejecuta C, C++, Pascal Compilador Compila Ejecuta Programa fuente Programa Objeto
Más detallesConceptos básicos sobre gramáticas
Procesamiento de Lenguajes (PL) Curso 2014/2015 Conceptos básicos sobre gramáticas Gramáticas y lenguajes Gramáticas Dado un alfabeto Σ, un lenguaje es un conjunto (finito o infinito) de cadenas de símbolos
Más detallesINTRODUCCION 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
Más detallesAnalizador Léxico. Programación II Margarita Álvarez. Analizador Léxico - Funciones
Analizador Léxico Programación II Margarita Álvarez Analizador Léxico - Funciones Función Principal Leer carácter por carácter de la entrada y elaborar como salida una secuencia de componentes léxicos
Más detallesContenido 1. INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS PROCESOS Prólogo...
1 Prólogo... xv 1. INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS... 1 1.1. Conceptos generales sobre sistemas operativos... 2 1.1.1. Funciones del sistema operativo... 2 1.1.2. Componentes del sistema operativo...
Más detallesLENGUAJE. Tema 2 Elementos de un programa
LENGUAJE Tema 2 Elementos de un programa ELEMENTOS DE UN PROGRAMA Comentarios. Identificadores. Constantes. Variables. Operadores. Sentencias o instrucciones. COMENTARIOS Los comentarios en C pueden ocupar
Más detallesCompiladores e intérpretes Análisis Léxico I. Análisis Léxico I
Análisis Léxico I Profesor: Eridan Otto Análisis Léxico I Introducción Funciones Tokens,Patrones y Lexemas Reconocimiento de tokens Implementación de un AL 1 Análisis léxico: Introducción En esta unidad
Más detallesUnidad 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 detallesTema 2: Análisis léxico
Tema 2: Análisis léxico Procesamiento de Lenguajes Dept. de Lenguajes y Sistemas Informáticos Universidad de Alicante Procesamiento de Lenguajes Tema 2: Análisis léxico 1 / 22 Fundamentos del análisis
Más detallesUn. VI. Generador de código intermedio.
Un. VI. Generador de código intermedio. La administración de la memoria se da en esta etapa. Se debe considerar tanto la memoria estática como dinámica, y en esta se utilizan generalmente pilas. Los lenguajes
Más detallesIntroducción al lenguaje C
Introducción al lenguaje C Programación 2 Profesorado de Informática CeRP del Suroeste, Colonia, Uruguay 15 de marzo de 2016 Programación 2 Introducción al lenguaje C 15 de marzo de 2016 1 / 34 Objetivos
Más detallesIntroducción a la lingüística computacional
Introducción a la lingüística computacional César Antonio Aguilar Facultad de Lenguas y Letras 17/08/2017 Cesar.Aguilar72@gmail.com Síntesis de la clase pasada (1) En la clase anterior nos dedicamos a
Más detallesSintaxis de C Ing. Jose Maria Sola Dr. Oscar Ricardo Bruno
1.1. Gramática Léxica 1.1.1. Elementos Léxicos Sintaxis de C Ing. Jose Maria Sola Dr. Oscar Ricardo Bruno ->
Más detallesCalendario Académico año Introducción a la Programación I
Calendario Académico año 2012 Introducción a la Programación I Febrero 14 Martes Febrero 16 Jueves Tema: Bienvenida y presentación del curso. Prueba Diagnóstica. Febrero 21 Tema: Continuación Introducción
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 detallesLección 2 Introducción al lenguaje C
Lección Introducción al lenguaje C Decimal Binario Hexadecimal A B C D E F Octal Equivalencia entre decimal, binario, hexadecimal y octal. Código ASCII (American Standard Code for Information Interchange)
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 detallesGENERACIÓN DE CÓDIGO
GENERACIÓN DE CÓDIGO INTRODUCCION La generación de código es la fase más compleja de un compilador, puesto que no sólo depende de las características del lenguaje fuente sino también de contar con información
Más detallesFundamentos PHP. El término puntuación nos referimos a la sintaxis usada en PHP para la terminación de una línea de código (;)
Tags Fundamentos PHP La Sintaxis de PHP se deriva de muchos lenguajes de programación principalmente de C pero Perl también ha tenido mucha influencia en esta sintaxis Con las últimas incorporaciones agregadas,
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 detallesControla el flujo de tokens reconocidos por parte del analizador léxico. 4.2 Introduccion a las gramaticas libres de contexto y arboles de derivacion
UNIDAD IV Analisis Sintactico 4.1 Introduccion Sintaxis significa estructura del orden de las palabras en una frase. La tarea del analisis sintactico es revisar si los símbolos aparecen en el orden correcto
Más detallesHardware: componentes físicos (UCP, discos, impresora, circuitos de E/S,...) Software: componentes lógicos (lo que no es hardware)
1. Niveles de organización de computadoras Hardware y software Enfoque de máquina multinivel Clasificación de computadoras Hardware y Software Hardware: componentes físicos (UCP, discos, impresora, circuitos
Más detallesYACC. Los símbolos terminales que la gramática empleará. El axioma o símbolo inicial de la gramática. %token. %start
YACC Yacc (Yet Another Compiler Compiler) es un programa que permite construir analizadores gramaticales en C a partir de una gramática libre al contexto. Junto con Lex permite construir rápidamente las
Más detallesCaracterísticas de JavaScript
Características de JavaScript Qué es JavaScript? o Lenguaje de programación interpretado utilizado fundamentalmente para dotar de comportamiento dinámico a las páginas web. o Cualquier navegador web actual
Más detallesTema 5 Tabla de Símbolos
Traductores, Compiladores e Intérpretes 1 Tema 5 También se la llama tabla de nombres o tabla de identificadores y tiene dos funciones principales: - Efectuar chequeos semánticos. - Generación de código.
Más detallesLenguaje C Elementos de un Programa. Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006
Lenguaje C Elementos de un Programa Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006 Objetivos Conocer los elementos que conforman un programa en C 1. Elementos léxicos de un Programa Cuando el programa
Más detallesPrograma de Formación Profesional en. Programación en Java
Programa de Formación Profesional en Programación en Java Montevideo 2018 Presentación Es un curso presencial donde la idea es dar los primeros pasos en el mundo de Programación con el Lenguaje más utilizado
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 detallesCentro Asociado Palma de Mallorca. Antonio Rivero Cuesta
Centro Asociado Palma de Mallorca Antonio Rivero Cuesta La Sintaxis de Java I... 5 Tipos de datos... 6 Tipos de datos simples... 7 Operadores... 11 Operadores Aritméticos... 12 Operadores relacionales...
Más detallesPROGRAMACIÓN UNIDADES
PROGRAMACIÓN Semestre: Segundo Horas: 90 horas Hrs/sem: 4.5 Créditos: 9 Clave: AI-02 DESCRIPCIÓN DE LA ASIGNATURA Al finalizar el curso el alumno tendrá el conocimiento y la capacidad de implementar programas
Más detallesGENERACIÓN DE CÓDIGO INTERMEDIO ÁRBOLES DE SINTAXIS ABSTRACTA (ASA)
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 detallesEstatutos de Control C# Estatutos de Decisión (Selección)
SELECCIÓN Estatutos de Control C# Estatutos de Decisión (Selección) IF Condición THEN Estatuto1 ELSE Estatuto2 Estatuto1 Statement Condición... Antes de ver esta presentación: Lee el Capítulo correspondiente
Más detallesTipos de Datos en C. Palabras reservadas en C
Tipos de Datos en C Tipo Tamaño de bits Rango char 8-128 a 127 unsigned char 8 0 a 255 signed char 8-128 a 127 int 16 32768 a 32767 unsigned int 16 0 a 65535 signed int 16 Igual que int short int 16 Igual
Más detallesTEMA 2. LENGUAJE C. CONCEPTOS BÁSICOS Y PROGRAMACIÓN ELEMENTAL.
Tema 2. TEMA 2. LENGUAJE C. CONCEPTOS BÁSICOS Y PROGRAMACIÓN ELEMENTAL. PARTE : VARIABLES, OPERADORES Y CONSTANTES.. INTRODUCCIÓN AL LENGUAJE C 2. PROGRAMAS BÁSICOS EN LENGUAJE C 3. DATOS EN LENGUAJE C
Más detallesContenido. 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
Más detallesAnalizador Léxico en ANSI C
Compiladores 1 Argueta Cortes Jairo I. Universidad Nacional Autónoma de México Facultad de Ingeniería Compiladores Grupo 1 en ANSI C ALUMNOS: ARGUETA CORTES JAIRO I. MENDOZA GAYTAN JOSE TRINIDAD PROFESORA:
Más detallesCódigo Intermedio. Compiladores II 1
Código Intermedio Compiladores II 1 Usos del Código Intermedio Múltiples lenguajes y compiladores n+m módulos -> n*m compiladores Optimización Representación de fácil modificación Modelos de generación
Más detallesExamen de Procesadores de Lenguaje
Apellidos: Nombre: Dni: Examen de Procesadores de Lenguaje Junio de 2007 (2 horas y 45 minutos) Instrucciones Entrega esta hoja, rellenada con tus datos, junto a tu examen cuando lo entregues. Ten en cuenta
Más detallesDobles: Es el caso de la instrucción if-else (punto 1.2).
1 1.Introducción Las estructuras de control son instrucciones que nos permiten controlar el flujo de ejecución del programa. Las instrucciones de control se pueden agrupar en instrucciones condicionales
Más detalles