Tema 2: Análisis léxico

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

Download "Tema 2: Análisis léxico"

Transcripción

1 Tema 2: Análisis léxico Procesamiento e Lenguajes Dept. e Lenguajes y Sistemas Informáticos Universia e Alicante Procesamiento e Lenguajes Tema 2: Análisis léxico 1 / 21 Funamentos el análisis léxico El analizaor léxico se encarga e suministrar al analizaor sintáctico una serie e uniaes lógicas llamaas elementos léxicos que resultan e agrupar los caracteres el fichero e entraa Caa uno e estos elementos léxicos se enomina token El analizaor léxico es una función o métoo que es llamao por el analizaor sintáctico caa vez que necesita conocer un nuevo token para continuar el proceso e traucción Es el único móulo el compilaor que maneja el fichero e entraa Procesamiento e Lenguajes Tema 2: Análisis léxico 2 / 21

2 Los tokens Clases e tokens: palabras reservaas (if, then,... ) símbolos especiales (operaores aritméticos, lógicos,... ) caenas no específicas (ientificaor, número real,... ) EOF (fin e fichero) La caena e caracteres concreta que se ha reconocio como un token eterminao se enomina lexema El lexema no juega un papel ese el punto e vista estructural, pero sí ese el semántico A la información auxiliar que acompaña a un token se le llama atributos el token (lexema, fila, columna,... ) Los tokens se especifican meiante expresiones regulares Procesamiento e Lenguajes Tema 2: Análisis léxico 3 / 21 Ejemplo e análisis léxico EXPR. REGULAR TOKEN [a-z][a-z0-9]* i if if [0-9]+ entero > mayor >= mayorig / iv Traza e una caena: /r22 >= if 5=a TOKEN LEXEMA FILA COLUMNA iv / 1 2 i r mayorig >= 1 9 if if 2 1 entero error léxico en = i a 2 6 (si hay recuperación e errores) EOF Procesamiento e Lenguajes Tema 2: Análisis léxico 4 / 21

3 Conclusiones tras la traza Principio e la subcaena más larga Con algunos tokens nos tenemos que pasar leyeno la entraa (es ecir, el fichero) El analizaor léxico ignora los espacios en blanco, comentarios, saltos e línea,... pero sigue contano líneas y columnas Política e elección e palabra reservaa sobre ientificaor Errores léxicos: caracteres no permitios en el lenguaje (p.ej. $ ) o no permitios en un contexto eterminao (p.ej vs. o.23 ) Procesamiento e Lenguajes Tema 2: Análisis léxico 5 / 21 Diagrama e transiciones (DT) 8 9 * REAL. 6 7 ** ENTERO * ENTERO * 2 INCR Expr. regular Token + SUMA ++ INCR [0-9]+ ENTERO ([0-9]+)"."([0-9]+) REAL SUMA Procesamiento e Lenguajes Tema 2: Análisis léxico 6 / 21

4 Funcionamiento el DT 8 9 * REAL. 6 7 ** ENTERO * ENTERO * 2 SUMA INCR Trazas Procesamiento e Lenguajes Tema 2: Análisis léxico 7 / 21 Conclusiones tras la traza con DT 1 Mientras se analiza la caena e entraa, el analizaor ebe recorar los n caracteres leíos anteriormente (one n es el número máximo e asteriscos que aparecen en cualquier estao el DT) 2 Cuano se llega a un estao e aceptación, se evuelve el token asociao a ese estao, y se reintegran al buffer e entraa tantos caracteres como asteriscos tenga asociaos el estao 3 IMPORTANTE: en el iagrama suelen estar previstas toas las posibles transiciones e salia e un estao (excepto en los e aceptación), para ello se usa la etiqueta. Si no hay transición posible es un error (y no se inica en el DT). 4 En el DT se especifica lo que ebe hacer el analizaor léxico con caa carácter e la entraa. De los estaos finales no salen transiciones 5 En algunos casos (números, i) es necesario leer un carácter más para estar seguros e haber reconocio el token completo Procesamiento e Lenguajes Tema 2: Análisis léxico 8 / 21

5 Algoritmo e análisis léxico estao = 1; c = leer(); o { nuevo = elta(estao,c); if (nuevo == ERROR) errorlexico(...); if (esfinal(nuevo)) { evolvercaracteres(nuevo); return tokenasociao(nuevo); else { estao = nuevo; c = leer(); while (true); Procesamiento e Lenguajes Tema 2: Análisis léxico 9 / 21 Construcción automática e analizaores léxicos lex/flex: [a-z][a-z0-9]* { return ID; ANTLR: ID : ( a.. z )( a.. z )+ ;... Procesamiento e Lenguajes Tema 2: Análisis léxico 10 / 21

6 Lectura e ficheros carácter a carácter con Java En PL recomenamos utilizar java.io.ranomaccessfile Función recomenaa para leer caracteres: public char leercaracter() { char currentchar; try { currentchar = (char)fichero.reabyte(); return currentchar; catch (EOFException e) { return EOF; // constante estática e la clase catch (IOException e) {... // error lectura return ; ATENCIÓN: es posible que sea necesario trucar esta función (para tener en cuenta los caracteres leíos e más) Procesamiento e Lenguajes Tema 2: Análisis léxico 11 / 21 Caracteres leíos espués el token En muchos casos, es necesario leer caracteres e más para asegurar el final el token. Ejemplo: * IMPORTANTE: Los caracteres leíos e más se eben evolver a la entraa para que sean leíos la siguiente vez que se invoque al analizaor léxico (no se pueen perer) Hay os formas e implementar esa evolución: Retroceieno el puntero e lectura el fichero (usano el métoo.seek(...)) Hacieno buffering, almacenano en un vector (que funcionaría como una cola) los caracteres, y trucano la función e lectura e caracteres para consultar el buffer antes e leer el fichero Procesamiento e Lenguajes Tema 2: Análisis léxico 12 / 21

7 Palabras reservaas 1 Coificación explícita en el DT (no recomenable, excepto si se usa un generaor automático e analizaores léxicos: lex, ANTLR,...) 0 i 1 ol 3 2 n ol 1 t ol 6 * int ol 1 l 2 * ient 2 O bien, tras reconocer un ientificaor en el DT, se consulta en una lista e palabras reservaas (o en la tabla e símbolos) para eciir el token a evolver Procesamiento e Lenguajes Tema 2: Análisis léxico 13 / 21 Función e transición en DT 1 Matriz (ispersa) gestionaa por rangos 2 Implementación en cóigo meiante instrucciones e selección 3 Hay que almacenar qué token se ebe evolver para caa estao final, y en el caso el iagrama e transiciones, el número e asteriscos (que es el número e caracteres que hay que evolver a la entraa o almacenar en el buffer) Procesamiento e Lenguajes Tema 2: Análisis léxico 14 / 21

8 Coificación e la tabla e transiciones 1 > 4 = * int elta (int estao, int c) { ENTERO switch (estao) { case 1: if (c== > ) return 2; else if (c>= 0 && c<= 9 ) return 4; else return -1; break; mayorig case 2: if (c== = ) return 3; else return -1; break; case 3: return -1; // estao final break; case 4: if (c>= 0 && c<= 9 ) return 4; else return 5; // break; case 5: return -1; // estao final break; efault: // error interno Procesamiento e Lenguajes Tema 2: Análisis léxico 15 / 21 Representación e los tokens public class Token { public int fila; public int columna; public String lexema; public int tipo; // tipo es: ID, ENTERO, REAL public static final int ID = 1, ENTERO = 2, REAL = 3,... FINFICHERO =...; Procesamiento e Lenguajes Tema 2: Análisis léxico 16 / 21

9 Ejercicio 1 Diseña un iagrama e transiciones (DT) para reconocer los siguientes componentes léxicos: numentero un número entero sin signo con ígitos entre 0 y 9, que no puee empezar por 0 numoctal un número entero en octal, que empieza por 0 y con ígitos entre 0 y 7 (p.ej. 015 es 13) numhex un número entero en hexaecimal, que empieza por 0x y con ígitos entre 0 y 9, y letras entre la A y la F (mayúsculas siempre) i ientificaor: secuencia e letras y ígitos que empieza por letra El 0 se ebe consierar que es un número octal. A continuación, inica cómo un analizaor léxico construio sobre el DT anterior separaría en tokens la secuencia e caracteres x xAF 0x9AGF 0xaF. Procesamiento e Lenguajes Tema 2: Análisis léxico 17 / 21 Ejercicio 2 Diseña un iagrama e transiciones para reconocer los siguientes componentes léxicos: if ifthen iftrue oftrue ient la palabra reservaa if la palabra reservaa ifthen la palabra reservaa iftrue la palabra reservaa oftrue cualquier secuencia e letras y ígitos que empiece por una letra y no coincia con ninguna e las palabras reservaas mulop el símbolo / assop el símbolo = mulassop el símbolo /= aassop el símbolo += ientico el símbolo /==/ Inica cómo separa este analizaor la secuencia e caracteres if5true/==/iftrue+=true/==false en tokens. Procesamiento e Lenguajes Tema 2: Análisis léxico 18 / 21

10 Ejercicio 3 Diseña un iagrama e transiciones para reconocer los siguientes componentes léxicos: numentero un número entero sin signo con uno o más ígitos entre 0 y 9 numexpo un número que tiene uno o más ígitos, una E seguia e un signo + o - opcional, y que acaba con una secuencia e uno o más ígitos. Ejemplos: 1E1, 112E+112 i min mon ientificaor: secuencia e letras y ígitos que empieza por letra la palabra reservaa min la palabra reservaa mon osp el símbolo : igual el símbolo = asig el símbolo := equiv el símbolo :==: A continuación, inica cómo un analizaor léxico construio sobre el iagrama e transiciones anterior separaría en tokens la secuencia e caracteres 09 :==mono 12E E+3a3E27. Procesamiento e Lenguajes Tema 2: Análisis léxico 19 / 21 Ejercicio 4 Diseña un iagrama e transiciones para reconocer los siguientes componentes léxicos: numentero un número entero sin signo con uno o más ígitos entre 0 y 9 numfija un número que tiene cero o más ígitos, un punto, y una secuencia e uno o más ígitos. Ejemplos:.233, 1.1, i ientificaor: secuencia e letras y ígitos que empieza por letra el la palabra reservaa el elete la palabra reservaa elete postec el símbolo -- flecha el símbolo --> mayor el símbolo > Procesamiento e Lenguajes Tema 2: Análisis léxico 20 / 21

11 Ejercicio 5 Diseña un iagrama e transiciones para reconocer los siguientes componentes léxicos: EXPRESIÓN ELEMENTO REGULAR LÉXICO <> istinto < menor > mayor + opsuma - opsuma ++ incremento -- ecremento -> esref ---> obleref := asig Procesamiento e Lenguajes Tema 2: Análisis léxico 21 / 21

Tema 2: Análisis léxico

Tema 2: Análisis léxico Tema 2: Análisis léxico Procesamiento e Lenguajes Dept. e Lenguajes y Sistemas Informáticos Universia e Alicante Procesamiento e Lenguajes Tema 2: Análisis léxico 1 / 22 Funamentos el análisis léxico El

Más detalles

Tema 2: Análisis léxico

Tema 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 / 21 Fundamentos del análisis

Más detalles

Tema 2: Análisis léxico

Tema 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 detalles

Funcionamiento del A.L.

Funcionamiento del A.L. ANALIZADOR LEXICO 1 Funcionamiento del A.L. Programa fuente Analizador léxico Componente léxico Obtén el siguiente componente léxico Analizador sintáctico Tabla de símbolos 2 Maneja el fichero del programa

Más detalles

Objetivos Que el estudiante logre conocer, comprender y manejar conceptos y técnicas vinculados con el Analizador Léxico, para lo cual debe:

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,

Más detalles

UNIVERSIDAD 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. 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 detalles

ANÁLISIS LÉXICO Ing. Ronald Rentería Ayquipa

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

Más detalles

Analizador Léxico. Programación II Margarita Álvarez. Analizador Léxico - Funciones

Analizador 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 detalles

Compiladores: Análisis Léxico. Pontificia Universidad Javeriana Cali Ingeniería de Sistemas y Computación Prof. Gloria Inés Alvarez V.

Compiladores: Análisis Léxico. Pontificia Universidad Javeriana Cali Ingeniería de Sistemas y Computación Prof. Gloria Inés Alvarez V. Compiladores: Análisis Léxico Pontificia Universidad Javeriana Cali Ingeniería de Sistemas y Computación Prof. Gloria Inés Alvarez V. Análisis Léxico Programa Lenguaje Fuente Análisis Léxico (Token, Lexema)

Más detalles

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Centro 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 detalles

Unidad 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 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 detalles

Tema 1 INTRODUCCIÓN A LOS LENGUAJES DE PROGRAMACIÓN

Tema 1 INTRODUCCIÓN A LOS LENGUAJES DE PROGRAMACIÓN Tema 1 INTRODUCCIÓN A LOS LENGUAJES DE PROGRAMACIÓN - Introducción - Sintaxis - Semántica básica - Tipos de datos - Expresiones y enunciados - Procedimientos y ambientes - Tipos abstractos de datos y módulos

Más detalles

Sintaxis de C Ing. Jose Maria Sola Dr. Oscar Ricardo Bruno

Sintaxis 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 detalles

Unidad III Análisis Léxico. M.C. Juan Carlos Olivares Rojas

Unidad 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 detalles

Analizador De léxico. V A R i : I N T E G E R ; \n...

Analizador De léxico. V A R i : I N T E G E R ; \n... UNIDAD III Analisis de Lexico 3.1 Analizador de Lexico La tarea del análisis de léxico es reconocer símbolos en un flujo de caracteres y presentarlos en una representación mas util para el análisis sintáctico.

Más detalles

Lex. Lex. Ing. Adrian Ulises Mercado Martínez. Enero 30, Ing. Adrian Ulises Mercado Martínez Lex Enero 30, / 27

Lex. Lex. Ing. Adrian Ulises Mercado Martínez. Enero 30, Ing. Adrian Ulises Mercado Martínez Lex Enero 30, / 27 Lex Ing. Adrian Ulises Mercado Martínez Enero 30, 2015 Ing. Adrian Ulises Mercado Martínez Lex Enero 30, 2015 1 / 27 1 Lex 2 Compilar con lex 3 Estructura de un programa en lex 4 Expresiones Regulares

Más detalles

PROCESADORES DE LENGUAJES I PRÁCTICA DE LABORATORIO 4

PROCESADORES DE LENGUAJES I PRÁCTICA DE LABORATORIO 4 PROCESADORES DE LENGUAJES I PRÁCTICA DE LABORATORIO 4 En esta práctica trabajaremos con ANTLR a nivel semántico utilizando gramáticas con atributos. ANTLR permite implementar con facilidad los dos modelos

Más detalles

El proceso del Análisis Léxico

El proceso del Análisis Léxico El proceso del Análisis Léxico El proceso de análisis léxico se refiere al trabajo que realiza el scanner con relación al proceso de compilación. El scanner representa una interfaz entre el programa fuente

Más detalles

Diseño de Compiladores I. Estructura General de un Compilador

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 detalles

Sebastián García Galán

Sebastián García Galán Universidad de Jaén E.U.P. Linares Dpto. Telecomunicaciones Área de Ingeniería Telemática Sebastián García Galán sgalan@ujaen.es Variables y tipos de datos Operaciones y operadores Clases y objetos Tipos

Más detalles

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs. Variables Una variable no es más que un nombre simbólico que identifica una dirección de memoria: Suma el contenido de la posición 3001 y la 3002 y lo almacenas en la posición 3003 vs. total = cantidad1

Más detalles

Procesamiento de Lenguajes (PL) Curso 2015/2016. Práctica 5: traductor a código m2r

Procesamiento de Lenguajes (PL) Curso 2015/2016. Práctica 5: traductor a código m2r Procesamiento de Lenguajes (PL) Curso 2015/2016 Práctica 5: traductor a código m2r Fecha y método de entrega La práctica debe realizarse de forma individual o por parejas 1, y debe entregarse a través

Más detalles

Tema: Análisis Léxico

Tema: 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 detalles

Compiladores e intérpretes Análisis Léxico I. Análisis Léxico I

Compiladores 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 detalles

Procesadores de lenguaje Tema 2: Análisis léxico

Procesadores 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

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta Centro Asociado Palma de Mallorca Antonio Rivero Cuesta La Sintaxis de Java II... 6 Estructuras de control... 7 Estructuras de selección... 8 Sentencia if... 9 Sentencia if - else... 12 Operador condicional...

Más detalles

8- LEX-Expresiones regulares

8- 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 detalles

Procesadores de lenguaje Tema 2 Análisis léxico

Procesadores 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

Elementos de un programa en C

Elementos 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 detalles

Compiladores e Intérpretes Análisis Léxico

Compiladores e Intérpretes Análisis Léxico 1 Compiladores e Intérpretes Análisis Léxico Sebastian Gottifredi 2017 Organizacion Esquema General de Análisis Léxico Tokens Especificando Tokens Expresiones Regulares Reconociendo Tokens Autómatas Finitos

Más detalles

Construcciones del Lenguaje Java

Construcciones del Lenguaje Java Construcciones del Lenguaje Java Autor: Juan Alberto López Cavallotti Versión de Java: 5 / 6 Comentarios Comentario de Línea Comentario Multilínea //Esto es un comentario. /* Esto comenta varias lineas.

Más detalles

Características de JavaScript

Caracterí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 detalles

Instituto Tecnológico de Celaya

Instituto Tecnológico de Celaya ELEMENTOS BÁSICOS DE C++: DECLARACIÓN DE VARIABLES A través de operaciones aritméticas (suma, resta, etc.) y lógicas (por ejemplo, comparaciones) los programas manipulan datos tales como números y caracteres.

Más detalles

Elementos léxicos del lenguaje de programación Java

Elementos léxicos del lenguaje de programación Java Elementos léxicos del lenguaje de programación Java Elementos léxicos del lenguaje de programación Java Palabras reservadas Identificadores Literales Operadores Delimitadores Comentarios Apéndices Operadores

Más detalles

Introducción. El proceso de traducción

Introducció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 detalles

3.3 Conceptos Básicos del Lenguaje Java

3.3 Conceptos Básicos del Lenguaje Java 3.3 Conceptos Básicos del Lenguaje Java Conjunto de Caracteres Java utiliza Unicode, un conjunto de caracteres de 16 bits Java permite leer ASCII de 7-bit o Latin-1, conviertiéndolo a Unicode Son pocos

Más detalles

Programación Estructurada

Programació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 detalles

LEX. Las definiciones y subrutinas son opcionales. El segundo %% es opcional pero el primer %% indica el comienzo de las reglas.

LEX. 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 detalles

Compiladores e Intérpretes Proyecto N 1 Sintaxis de MiniJava Segundo Cuatrimestre de 2015

Compiladores e Intérpretes Proyecto N 1 Sintaxis de MiniJava Segundo Cuatrimestre de 2015 Departamento de Cs. e Ingeniería de la Computación Universidad Nacional del Sur Compiladores e Intérpretes Proyecto N 1 Sintaxis de MiniJava Segundo Cuatrimestre de 2015 1. Introducción Este documento

Más detalles

ANÁLISIS LÉXICO CONCEPTOS BÁSICOS DEL ANÁLISIS LÉXICO

ANÁLISIS LÉXICO CONCEPTOS BÁSICOS DEL ANÁLISIS LÉXICO Todos los derechos de propiedad intelectual de esta obra pertenecen en exclusiva a la Universidad Europea de Madrid, S.L.U. Queda terminantemente prohibida la reproducción, puesta a disposición del público

Más detalles

Tema 5: Traducción dirigida por la sintaxis

Tema 5: Traducción dirigida por la sintaxis Tema 5: Traducción dirigida por la sintaxis Procesamiento de Lenguajes Dept. de Lenguajes y Sistemas Informáticos Universidad de Alicante Procesamiento de Lenguajes Tema 5: Traducción dirigida por la sintaxis

Más detalles

Análisis semántico. Análisis semántico. Índice (I)

Análisis semántico. Análisis semántico. Índice (I) Análisis semántico Índice (I) Marina de la Cruz Alfonso Ortega Objetivo del análisis semántico Decisiones para la construcción de un analizador semántico Análisis semántico con Bison Nivel de indirección

Más detalles

Java. Introducción a la Programación Orientada a Objetos

Java. 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 detalles

Lex (flex,... ) Generación de analizador léxico p.1

Lex (flex,... ) Generación de analizador léxico p.1 Generación de analizador léxico Lex (flex... ) Generación de analizador léxico p.1 Expresiones regulares tipo grep Expresiones simples (un sólo carácter): carácter carácter. cualquier carácter (excepto

Más detalles

GENERACIÓN DE CÓDIGO INTERMEDIO EJEMPLOS PARA DISTINTAS ESTRUCTURAS DE DATOS

GENERACIÓN DE CÓDIGO INTERMEDIO EJEMPLOS PARA DISTINTAS ESTRUCTURAS DE DATOS Todos los derechos de propiedad intelectual de esta obra pertenecen en exclusiva a la Universidad Europea de Madrid, S.L.U. Queda terminantemente prohibida la reproducción, puesta a disposición del público

Más detalles

Introducción al lenguaje C

Introducción al lenguaje C Introducción al lenguaje C Ampliación de Informática Belarmino Pulido Junquera Índice 1. Presentación del lenguaje C 2. Estructura de un programa en C 3. Tipos de datos escalares 4. Operadores básicos

Más detalles

INTRODUCCIÓN AL PROCESO DE COMPILACIÓN

INTRODUCCIÓN AL PROCESO DE COMPILACIÓN INTRODUCCIÓN AL PROCESO DE COMPILACIÓN El programa que se debe compilar es una secuencia de caracteres que termina con un centinela. CONCEPTOS BÁSICOS Un compilador es un complejo programa que lee un programa

Más detalles

Introducción a ANTLR. Procesadores de Lenguaje. 1 de 25

Introducción a ANTLR. Procesadores de Lenguaje. 1 de 25 Introducción a ANTLR Procesadores de Lenguaje 1 de 25 Introducción a ANTLR Qué es ANTLR? ANother Tool for Language Recognition Herramienta para construir traductores entre lenguajes informáticos Genera

Más detalles

PROGRAMACIÓN EN JAVA. { una línea para definir, crear o ejecutar ; }

PROGRAMACIÓN EN JAVA. { una línea para definir, crear o ejecutar ; } PROGRAMACIÓN EN JAVA { una línea para definir, crear o ejecutar ; } JFC Y API SPECIFICATIONS OBJECT INTERFACE ABSTRACT IMPLEMENTS EXTENDS NEW EXTENDS (Hasta que una clase derivada deje de ser ABSTRACT)

Más detalles

Tema 2. Análisis léxico

Tema 2. Análisis léxico Departamento de Tecnologías de la Información Tema 2 Análisis léxico Ciencias de la Computación e Inteligencia Artificial Índice 2.1 Introducción 2.2 Especificación de categorías léxicas 2.3 Autómatas

Más detalles

Bloque II. Elementos del lenguaje de programación Java

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

Más detalles

Introducción a los compiladores

Introducción a los compiladores Introducción a los compiladores William Cruz-Santos wdelacruzd@uaemex.mx Ingeniería en Computación Universidad Autónoma del Estado de México Unidad de Competencia I 2 de octubre de 2015 William Cruz-Santos

Más detalles

TEMA 2: ANÁLISIS LÉXICO-SINTÁCTICO

TEMA 2: ANÁLISIS LÉXICO-SINTÁCTICO 1 TEMA 2: ANÁLISIS LÉXICO-SINTÁCTICO OBJETIVO Dar respuesta a las siguientes preguntas: Qué es el análisis léxico-sintáctico de un lenguaje? Cómo se diseña y construye un analizador léxico-sintáctico?

Más detalles

Controla el flujo de tokens reconocidos por parte del analizador léxico. 4.2 Introduccion a las gramaticas libres de contexto y arboles de derivacion

Controla 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 detalles

Tipos de Datos en C. Palabras reservadas en C

Tipos 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 detalles

VARIABLES, CONSTANTES Y EXPRESIONES ASIGNACIÓN. TIPOS ELEMENTALES. PRECEDENCIA DE LOS ESTRUCTURAS DE CONTROL. CONDICIONAL E

VARIABLES, 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 detalles

Tema 2. El lenguaje de programación Java (Parte 1)

Tema 2. El lenguaje de programación Java (Parte 1) Programación en Java Tema 2. El lenguaje de programación Java (Parte 1) Luis Rodríguez Baena Facultad de Informática Elementos del lenguaje (I) El juego de caracteres. No utiliza ASCII, sino Unicode de

Más detalles

CURSO : ESTRUCTURA DE DATOS DOCENTE : ING. JUAN ZEVALLOS VALLE

CURSO : ESTRUCTURA DE DATOS DOCENTE : ING. JUAN ZEVALLOS VALLE CURSO : ESTRUCTURA DE DATOS DOCENTE : ING. JUAN ZEVALLOS VALLE 1 Estructura de Datos 1. Logica de Programación 2. Uso de Algoritmos usando Lenguaje Java 3. Ingreso de datos 4. Sentencias de Control 1.

Más detalles

Introducción a C# y la plataforma.net. Pablo Zaidenvoren 2013

Introducción a C# y la plataforma.net. Pablo Zaidenvoren 2013 Introducción a y la plataforma.net Pablo Zaidenvoren 2013 Plataforma.NET Una plataforma -> Muchos lenguajes Posibilidad de compartir funcionalidades entre ellos! Plataforma.NET Base Class Library -> Funcionalidades

Más detalles

LENGUAJE. Tema 2 Elementos de un programa

LENGUAJE. 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 detalles

Tema 5 Tabla de Símbolos

Tema 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 detalles

Introducción a Java 10/02/2011. Tokens. Juan Manuel Fernández Peña Curso Rev Tokens. Tokens

Introducción a Java 10/02/2011. Tokens. Juan Manuel Fernández Peña Curso Rev Tokens. Tokens Introducción a Java Juan Manuel Fernández Peña Curso 2005. Rev 2011 Comentarios: //comentario /* comentario fin de comentario */ /** comentario para javadoc fin */ Palabras reservadas: (como ejemplo) abstract,

Más detalles

Estructura de datos y Programación

Estructura de datos y Programación Estructura de datos y Programación Tema: Conceptos Básicos- Estructuras de control - Arreglos Ing. Analia Méndez Ing. Raquel Zarco Año: 2012 ELEMENTOS DE UN PROGRAMA EN JAVA El programa Java consta de

Más detalles

DIAGRAMAS DE TRANSICIONES

DIAGRAMAS DE TRANSICIONES 1 UNIVERSIDAD DE MAGALLANES FACULTAD DE INGENIERÍA DEPARTAMENTO DE COMPUTACIÓN DIAGRAMAS DE TRANSICIONES Elaborado el Lunes 06 de Septiembre de 2004 I.- INTRODUCCIÓN (extraído de Compiladores: Principios,

Más detalles

TEMA 3: ANÁLISIS SEMÁNTICO

TEMA 3: ANÁLISIS SEMÁNTICO 1 TEMA 3: ANÁLISIS SEMÁNTICO OBJETIVO Dar respuesta a las siguientes preguntas: Qué es el análisis semántico de un lenguaje? Cómo se diseña y construye un analizador semántico? EL PROBLEMA DEL CÁLCULO

Más detalles

Comprender las diferencias entre tipos de datos primitivos similares, y aprender a elegir el tipo más conveniente en cada caso.

Comprender las diferencias entre tipos de datos primitivos similares, y aprender a elegir el tipo más conveniente en cada caso. Elementos básicos de programación en Java Objetivos del tema Conocer la estructura básica de un programa Java. Comprender los conceptos de tipo, valor y variable. Comprender las diferencias entre tipos

Más detalles

Qué es Java? Un lenguaje de programación Un entorno de desarrollo Un entorno de aplicación Un entorno de despliegue Es similar en sintaxis de C + +.

Qué es Java? Un lenguaje de programación Un entorno de desarrollo Un entorno de aplicación Un entorno de despliegue Es similar en sintaxis de C + +. APUNTES DE JAVA Agenda Bienvenida Conociendo Java La Maquina Virtual Descargar e instalar el compilador El entorno de trabajo El paradigma de la programación orientada a objetos Qué es Java? Un lenguaje

Más detalles

Lección 2 Introducción al lenguaje C

Lecció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 detalles

/* Compilador del Lenguaje Micro (Fischer) */ #include <stdio.h> #include <string.h> #include <ctype.h>

/* Compilador del Lenguaje Micro (Fischer) */ #include <stdio.h> #include <string.h> #include <ctype.h> 1 /* Compilador del Lenguaje Micro (Fischer) */ #include #include #include #define NUMESTADOS 15 #define NUMCOLS 13 #define TAMLEX 32+1 #define TAMNOM 20+1 /******************Declaraciones

Más detalles

Estructuras de Datos Declaraciones Tipos de Datos

Estructuras 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 detalles

Estructuras de control selectivas

Estructuras de control selectivas Práctica 3 Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 2.0.2 Concepto de sentencia y estructura de control El cuerpo de los métodos

Más detalles

Introducción al lenguaje C

Introducción al lenguaje C Introducción al lenguaje C Programación 2 Instituto de Computación, Facultad de Ingeniería, Universidad de la República, Uruguay 2 de marzo de 2016 Programación 2 Introducción al lenguaje C 2 de marzo

Más detalles

TEORÍA. definition TAG. PROPERTIES ID expr EXTENDS ID FIN_TAG. DELAYED : expr

TEORÍA. definition TAG. PROPERTIES ID expr EXTENDS ID FIN_TAG. DELAYED : expr Examen de Traductores, Intérpretes y Compiladores. Convocatoria ordinaria de Septiembre de 2004 3 er Curso de I.T. Informática de Sistemas. Apellidos, Nombre: Calificación: TEORÍA 1.- Escribir una gramática

Más detalles

Introducción a C# y la plataforma.net

Introducción a C# y la plataforma.net Introducción a y la plataforma.net Matías Malbergier 2013 Plataforma.NET.NET provee un set de herramientas (Framework) el cual permite desarrollar programas apuntando a múltiples plataformas y utilizando

Más detalles

Conceptos básicos sobre gramáticas

Conceptos 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 detalles

PROCESADORES DE LENGUAJES

PROCESADORES DE LENGUAJES PROCESADORES DE LENGUAJES Análisis léxico con Prof. Dr. Nicolás Luis Fernández García Departamento de Informática y Análisis Numérico Escuela Politécnica Superior Universidad de Córdoba Universidad de

Más detalles

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA

INTRODUCCIó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 detalles

Introducción a Java (II) Dr. (c) Noé Alejandro Castro Sánchez

Introducción a Java (II) Dr. (c) Noé Alejandro Castro Sánchez Introducción a Java (II) Dr. (c) Noé Alejandro Castro Sánchez Sintaxis de Java Sintaxis Define las reglas que determinar el uso de palabras clave, operadores y variables para construir y evaluar expresiones.

Más detalles

/**********************Prototipos de ciones************************/ TOKEN scanner(); int columna(int c);

/**********************Prototipos de ciones************************/ TOKEN scanner(); int columna(int c); /* Compilador del Lenguaje Micro (Fischer) */ #include #include #include #define NUMESTADOS 15 #define NUMCOLS 13 #define TAMLEX 32+1 #define TAMNOM 20+1 /******************Declaraciones

Más detalles

Examen escrito de Programación 1

Examen escrito de Programación 1 Examen escrito de Programación 1 Escuela de Ingeniería y Arquitectura Departamento de Informática e Ingeniería de Sistemas 31 de agosto de 2012 Disponer sobre la mesa en lugar visible un documento de identificación

Más detalles

Elementos léxicos del lenguaje de programación C

Elementos léxicos del lenguaje de programación C Elementos léxicos del lenguaje de programación C Elementos léxicos de los lenguajes de programación (tokens) Palabras reservadas Identificadores Literales Operadores Delimitadores Comentarios Apéndices

Más detalles

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 2 - Introducción al lenguaje Java, identificadores y comentarios. Carlos Montenegro Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 1. Introducción: Java tiene como todos

Más detalles

Introducción al lenguaje C

Introducció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 detalles

PRINCIPIOS DE PROGRAMACIÓN. Mtro. en Ingeniería de Software. Especialidad en e-commerce Ismael Jiménez Hernández

PRINCIPIOS DE PROGRAMACIÓN. Mtro. en Ingeniería de Software. Especialidad en e-commerce Ismael Jiménez Hernández PRINCIPIOS DE PROGRAMACIÓN Mtro. en Ingeniería de Software. Especialidad en e-commerce Ismael Jiménez Hernández Consideraciones Generales Instructor: Ismael Jiménez Hernández Duración: 3.2 horas/semana

Más detalles

PROGRAMACIÓN EN JAVA

PROGRAMACIÓN EN JAVA 1. INTRODUCCIÓN A LA PROGRAMACIÓN 1.1. Datos, algoritmos y programas 1.1.1. Definición de algoritmo 1.1.2. Datos 1.1.3. Características de un programa 1.2. Paradigmas de programación 1.2.1. Programación

Más detalles

UNIVERSIDAD DE SEVILLA PRÁCTICAS DE LABORATORIO ANÁLISIS SINTÁCTICO (1) LENGUAJES FORMALES Y AUTÓMATAS CURSO 2006/2007

UNIVERSIDAD DE SEVILLA PRÁCTICAS DE LABORATORIO ANÁLISIS SINTÁCTICO (1) LENGUAJES FORMALES Y AUTÓMATAS CURSO 2006/2007 UNIVERSIDAD DE SEVILLA E. T. S. INGENIERÍA INFORMÁTICA LENGUAJES Y SISTEMAS INFORMÁTICOS PRÁCTICAS DE LABORATORIO ANÁLISIS SINTÁCTICO (1) LENGUAJES FORMALES Y AUTÓMATAS CURSO 2006/2007 Qué es el análisis

Más detalles

Examen de Procesadores de Lenguaje

Examen 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 detalles

Analizador Léxico en ANSI C

Analizador 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 detalles

Análisis léxico. Formalización y desarrollo. Procesadores de Lenguajes. Ingeniería Técnica superior de Ingeniería Informática

Aná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 detalles

Fundamentos de Programación. Flujo de Control I: Estructuras selectivas

Fundamentos de Programación. Flujo de Control I: Estructuras selectivas Fundamentos de Programación Flujo de Control I: Estructuras selectivas El Flujo de Control de un Programa Un algoritmo puede ser construido utilizando combinaciones de tres estructuras de control de flujo

Más detalles

INDICE Prologo 1 Recorrido rápido de java 2 Clases y objetos 3 Extensión de clases

INDICE Prologo 1 Recorrido rápido de java 2 Clases y objetos 3 Extensión de clases INDICE Prologo XIII 1 Recorrido rápido de java 1.1. Para empezar 1 1.2. Variables 2 1.3. Comentarios en el condigo 1.4. Constantes con nombre 5 1.4.1. Caracteres Unicode 6 1.5. Flujo de control 7 1.6.

Más detalles

Diagrama de transiciones del autómata. Tabla de transiciones

Diagrama de transiciones del autómata. Tabla de transiciones Universidad Nacional Autónoma de México Facultad de Ingeniería Compiladores Grupo 4, Semestre 2016-1 Analizador Léxico en C Diagrama de transiciones del autómata letra letra 1 0 3 e 4 5 6 e 2 espacio Tabla

Más detalles

Teoría de Autómatas y Lenguajes Formales, IS17 Ingeniería Técnica en Informática de Sistemas. Práctica 1: Introducción al Analizador Léxico FLEX

Teoría de Autómatas y Lenguajes Formales, IS17 Ingeniería Técnica en Informática de Sistemas. Práctica 1: Introducción al Analizador Léxico FLEX Teoría de Autómatas y Lenguajes Formales, IS17 Ingeniería Técnica en Informática de Sistemas Práctica 1: Introducción al Analizador Léxico FLEX Enunciado: El objetivo de esta práctica consiste en aprender

Más detalles

Unidad Didáctica 3. Tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos

Unidad Didáctica 3. Tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 3 Tipos genéricos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Definición de tipo genérico Hablamos de un tipo genérico cuando el tipo en cuestión depende

Más detalles

Java para programadores

Java para programadores Java para programadores Java y Servicios Web I Master en Ingeniería Matemática Manuel Montenegro Dpto. Sistemas Informáticos y Computación Desp. 467 (Mat) montenegro@fdi.ucm.es Contenidos Variables. Tipos

Más detalles

Ubicación e historia

Ubicación e historia Introducción a Java Ubicación e historia http:// ://java.sun.com/ JDK (Java Development Kit) JDK 1.0, 1995 JDK 1.1, 1996. Modificación en manejo de eventos; nuevas bibliotecas (reflexión, métodos remotos,...)

Más detalles

abril de 2017 Desarrollo de aplicaciones en Java Tipos de datos primitivos Tipos de datos Elementos de aplicaciones simples

abril 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 detalles

Tema: Autómatas de Estado Finitos

Tema: Autómatas de Estado Finitos Compiladores. Guía 2 1 Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores Tema: Autómatas de Estado Finitos Contenido En esta guía se aborda la aplicación de los autómatas en el campo de

Más detalles

Introducción a C# y la plataforma.net. Pablo Zaidenvoren 2010

Introducción a C# y la plataforma.net. Pablo Zaidenvoren 2010 Introducción a y la plataforma.net Pablo Zaidenvoren 2010 Plataforma.NET.NET provee un set de herramientas (Framework) el cual permite desarrollar programas apuntando a múltiples plataformas y utilizando

Más detalles

COMPILADORES E INTERPRETES

COMPILADORES E INTERPRETES 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

Más detalles