Introducción (1) Introducción (2) El papel del analizador sintáctico (1)
|
|
- Carmelo Molina Poblete
- hace 5 años
- Vistas:
Transcripción
1 Introducción (1) odo lenguaje de programación tiene reglas que prescriben la estructura sintáctica de programas bien formados. El uso de gramáticas para describir dicha estructura ofrecen ventajas significativas: Dan una especificación sintáctica precisa y fácil de entender de un lenguaje de programación. partir de ellas se puede construir automáticamente un analizador sintáctico eficiente que determine si un programa fuente está sintácticamente bien formado. demás, durante ese proceso es posible detectar ambigüedades sintácticas y otras construcciones difíciles de analizar que de otro modo podrían pasar desapercibidas. La estructura que imponen es útil para la traducción de programas fuente a código objeto correcto y para la detección de errores. Las nuevas construcciones fruto de la evolución del lenguaje se pueden añadir fácilmente cuando existe una aplicación basada en una descripción gramatical del lenguaje. PL. nálisis sintáctico 2 Introducción (2) Conviene tener claros los siguientes conceptos: Gramática independiente del contexto. ímbolo terminal y no terminal y axioma. ímbolo anulable, no alcanzable y no terminable. Producción épsilon, no generativa, recursiva a izquierda o derecha. Derivación, forma sentencial, frase o sentencia y lenguaje generado por una gramática. Derivación más a la izda/dcha y árbol de análisis sintáctico. mbigüedad PL. nálisis sintáctico 3 El papel del analizador sintáctico (1) De momento se asume que la salida del analizador sintáctico es una representación del árbol de análisis sintáctico para la cadena de componentes léxicos producida por el analizador léxico. Existen tres tipos generales de analizadores sintácticos para gramáticas Los métodos universales de análisis sintáctico ej. algoritmo de Cocke-Younger-Kasami on demasiados ineficientes Los métodos descendentes nálisis recursivo descendente Los métodos ascendentes nálisis sintáctico por precedencia de operadores. nálisis sintáctico LR PL. nálisis sintáctico 4
2 El papel del analizador sintáctico (2) expresiones regulares nalizador léxico componente léxico obtén sig. comp. lex. abla de símbolos errores nalizador sintáctico Árbol de análisis sintáctico Resto etapa inicial usa gramáticas para determinar la estructura sintáctica de la secuencia de componentes léxicos. produce un árbol de análisis sintáctico. detecta y se recupera de errores sintácticos. reconoce las secuencias sintácticamente correctas. informa de los errores. Representación intermedia técnicamente parte del análisis sintáctico incluye la recolección de información adicional para los componentes léxicos, la comprobación de tipos y el análisis semántico nálisis descendente La idea es generar una forma sentencial a partir del axioma, reconstruyendo una derivación más a la izquierda en orden directo. l* w engo dos elementos de juicio: La porción de entrada por leer. En general se consideran los k primeros caracteres por leer. El no terminal más a la izquierda de la forma sentencial. Es como construir el árbol sintáctico empezando por la raíz (análisis LL(k) o top-down). w PL. nálisis sintáctico 5 PL. nálisis sintáctico 6 nálisis ascendente La idea es generar una forma sentencial a partir del axioma, reconstruyendo una derivación más a la derecha en orden inverso. r* w engo dos elementos de juicio: La porción de entrada por leer. En general se consideran los k primeros caracteres por leer. El asidero de la forma sentencial. Es como si se construyera el árbol sintáctico w empezando por las hojas (análisis LR(k) o botton-up). PL. nálisis sintáctico 7 Manejo de errores sintácticos (1) i un compilador tuviera que procesar sólo programas correctos su diseño se simplificaría mucho. e sabe que los programas pueden tener errores de muy diversos tipos: Léxicos, como escribir mal un identificador, palabra clave u operador. intácticos, como una expresión aritmética con paréntesis no equilibrados emánticos, como un operador aplicado a un operando incompatible o el acceso a una posición de un array más allá de su límite Lógicos, como una llamada infinitamente recursiva o un bucle cuya condición de terminación nunca se cumple y además no hay instrucciones de salida del mismo. PL. nálisis sintáctico 8
3 Manejo de errores sintácticos (2) La mayor parte de los errores se detecta en el análisis sintáctico: Es el que se da cuenta de errores arrastrados del análisis léxico. La detección de errores semánticos y lógicos en el momento de la compilación es muy difícil. El manejador de errores en un analizador sintáctico debe: Informar de la presencia de errores con claridad y exactitud. Recuperarse de cada error con la suficiente rapidez como para detectar errores posteriores No debe aumentar el tiempo de procesamiento de los programas correctos. PL. nálisis sintáctico 9 Estrategias de recuperación de errores (1) Recuperación en modo pánico e desechan símbolos hasta que encuentra un símbolo de sincronización (ej. delimitadores) Omite una cantidad importante de entrada sin comprobar la presencia de errores pero es sencillo, no entra en bucles infinitos y puede ser utilizado con la mayoría de métodos de análisis sintáctico. Recuperación a nivel de frase e realizan correcciones locales de la entrada restante (ej. sustituir el prefijo de la entrada por una cadena que permita continuar el análisis) Puede haber bucles infinitos si la inserción es por delante de la entrada y es problemática si el error se ha producido antes del punto de detección. PL. nálisis sintáctico 10 Estrategias de recuperación de errores (2) Producciones de error i se tiene idea de los errores comunes se puede aumentar la gramática con producciones que generen construcciones erróneas. i se usa una producción de error se emite un mensaje informando de la construcción errónea. Corrección global e intenta determinar el mínimo número de cambios para hacer un programa correcto. Demasiado costosa, la corrección realizada puede modificar la intención del programador. Expr. regulares, o gramáticas independientes del contexto Por qué utilizar expresiones regulares para definir la sintaxis lexicográfica de un lenguaje? Las reglas lexicográficas de un lenguaje a menudo son bastante sencillas, y para describirlas no se necesita una notación tan poderosa como las gramáticas. Las e. r. por lo general proporcionan una notación más concisa y fácil de entender para los componentes léxicos que una gramática. e pueden construir automáticamente analizadores léxicos más eficientes a partir de e. r. que a partir de gramáticas. eparar la estructura sintáctica de un lenguaje en partes léxicas y no léxicas proporciona una forma conveniente de modularizar la etapa inicial de un compilador en dos componentes de tamaño razonable. PL. nálisis sintáctico 11 PL. nálisis sintáctico 12
4 Eliminación de recurs. izda. 1 Una gramática G es recursiva a izquierdas si existe un no terminal para el cual + α. Recursividad directa β α β α ε β α α β α α i hay más de dos producciones Estratificación: α 1 α 2... α m β 1 β 2... β n Reescritura: β 1 β 2... β n α 1 α 2... α m ε ε Eliminación de recurs. izda. 2 Recursividad indirecta La recursividad se alcanza a través de varias producciones. Bα α B Cβ β C γ γ G=(Σ,N,P,) sin producciones ε y sin ciclos G =(Σ,N,P,) no recursiva con L(G)=L(G ) 1Indexar los no terminales: 1, 2,..., n 2for i:=1 to n do for j:=1 to i-1 do a sustituir cada producción de la forma i j γ por las producciones i δ 1 γ δ 2 γ... δ k γ donde j δ 1 δ 2... δ k son todas las producciones actuales de j b eliminar la recursividad directa por la izquierda de i PL. nálisis sintáctico 13 PL. nálisis sintáctico 14 Factorización por la izquierda Idea: cuando no esta claro cuál de dos producciones alternativas utilizar para ampliar un no terminal, se pueden reescribir las producciones de para retrasar la decisión hasta haber visto suficiente entrada. G=(Σ,N,P,) G =(Σ,N,P,) factorizada con L(G)=L(G ) 1Para cada no terminal, encontrar el prefijo α más largo común a dos o más de sus alternativas 2i α ε (es decir, existe un prefijo) transformar αβ 1 αβ 2 αβ n γ (γ: alternativas que no comienzan por α) en α γ β 1 β 2 β n PL. nálisis sintáctico 15 Construcción de lenguajes no independientes del contexto Unas cuantas construcciones sintácticas de muchos lenguajes de programación no se pueden especificar utilizando tan sólo gramáticas. declaración de identificadores antes de su uso, que tiene una estructura similar a la del lenguaje: L 1 ={wcw: w está en (a b)*} comprobación de que el número de parámetros actuales en un uso de un procedimiento coincide con el número de parámetros formales en la declaración de ese procedimiento, que tiene una estructura similar a: L 2 ={a n b m c n d m : n 1 y m 1 } En un compilador para lenguajes de este tipo la fase de análisis semántico comprobará la información almacenada en la tabla de símbolos. PL. nálisis sintáctico 16
5 nálisis sintáctico por descenso recursivo Es una forma general de análisis sintáctico descendente que puede incluir retrocesos (es decir varios exámenes de la entrada). Ejemplo: cd, ab a, w=cad cad cad c c a b d Este tipo de análisis no es adecuado para gramáticas recursivas a izquierdas. d cad cad c c d a b Problema: retroceso a d l regresar a se restablece el valor del apuntador de la entrada cad c a d PL. nálisis sintáctico 17 nalizadores sintácticos predictivos En muchos casos, diseñando con cuidado la gramática, eliminando su recursión por la izquierda y factorizando por la izquierda la gramática resultante, se puede obtener una gramática analizable con un analizador recursivo descendente que no necesita retroceso. Uno analizador de este tipo, dado un símbolo a de la entrada y el no terminal a expandir debe poder determinar cuál de las alternativas de producción α 1 α 2... α n es la única alternativa que da lugar a la cadena que empiece por a. PL. nálisis sintáctico 18 Diagramas de transición para analizadores sintácticos predictivos (1) e caracterizan por lo siguiente: Existe un diagrama para cada no terminal. Las etiquetas de las aristas son componentes léxicos y no terminales: Una transición con un componente léxico supone que se debe tomar dicha transición si ese componente léxico es el siguiente de la entrada. Una transición etiquetada con un no terminal se traduce como una llamada al procedimiento para. Para construirlos a partir de una gramática: a) Eliminar la recursión a izquierdas b) Factorizar c) Para cada no terminal 1. Estado inicial y estado final de retorno 2. Para cada producción X 1 X 2... X n camino del estado inicial al final con aristas etiquetada con X 1, X 2,..., X n. PL. nálisis sintáctico 19 Diagramas de transición para analizadores sintácticos predictivos (2) Ejemplo E E' E' + E' E: E ' E ' E ': : F ' ' * F ' F ' * F ' ' : ( E ) F: id F ( E ) id Comportamiento: i s a t y entrada a entonces cambia delantero y el estado a t i : s r t u entonces cambiar estado a r si llega a u vuelve a t ( leído) PL. nálisis sintáctico 20
6 Diagramas de transición para analizadores sintácticos predictivos (3) implificación + E ': E ': E: E: 0 3 E ' E ' 6 E ': E: PL. nálisis sintáctico 21 nálisis sintáctico predictivo no recursivo e puede construir un analizador sintáctico predictivo no recursivo explícitamente manteniendo una pila, en lugar de hacerlo implícitamente mediante llamadas recursivas. El problema clave durante el análisis sintáctico predictivo es determinar la producción que debe aplicarse a un no terminal. El analizador sintáctico no recursivo busca la producción que debe aplicarse en una tabla de análisis sintáctico predictivo P. ímbolo de pila vacía Pila erminales y no terminales de la gramática X Y Z a + b Programa para análisis sintáctico predictivo abla de análisis sintáctico predictivo M[a,] entrada (cadena + finalizador) Output PD cciones que deben llevarse a cabo en función del tope de pila y el siguiente símbolo de entrada PL. nálisis sintáctico 22 Uso de la P Las acciones del PD en función de la entrada y de la pila son: i X=a=, cadena reconocida y se finaliza el análisis. i X=a, hacemos un pop en la pila y llamamos al analizador léxico para obtener un nuevo token. i X a, se ha producido un error, llamar a la rutina de recuperación de errores y emitir un mensaje del tipo se esperaba un X pero se encontró un a En cualquier otro caso se consulta la entrada de la tabla M[a, X] debe aparecer una producción de la forma X Y 1 Y 2... Y n. e hace un pop de X y se reemplaza por Y 1 Y 2... Y n con Y 1 en el tope de la pila. i la entrada de tabla esta vacía llamar a la rutina de recuperación de error y emitir un mensaje como X no puede comenzar por a PL. nálisis sintáctico 23 Conjuntos FIR y FOLLOW Para construir la P es necesario el cálculo de los conjuntos FIR y FOLLOW FIR k : (Σ N) * Σ i k los primeros k símbolos de una casi forma sentencial FIR k (w)={x:w * xy, xyσ * (si xy k y=ε sino x =k} FOLLOW k : N Σ i k símbolos que siguen a en las diferentes formas sentenciales FOLLOW k ()={x: * wy xfir k (y)} FIR 1 (α): conjunto de terminales que inician las cadenas derivadas de α. FOLLOW 1 (): conjunto de terminales a que pueden aparecer inmediatamente a la derecha del no terminal en alguna forma sentencial, es decir, el conjunto de terminales a tal que haya una derivación de la forma *αaβ para algún α y β. PL. nálisis sintáctico 24
7 Propiedades del FIR y el FOLLOW FIR k (aw) = a FIR k-1 (w) aσ w(σ N ) * FIR k (ε) = {ε} FIR k (xy)=fir k (FIR k (x)fir k (y)) =FIR k (x FIR k (y)) x,y(σ N ) * =FIR k (FIR k (x) y) i tengo una regla de producción w FIR k (w) FIR k () i tengo una regla xxy XN x,y(σ N ) * FIR k (y FOLLOW k ()) FOLLOW k (X) eoremas del FIR y el FOLLOW 1 ea G:(Σ,N,P,), una CFG, G es LL(k) sii wx,wσ *, u, v se cumple que FIR k (ux) FIR k (vx)= 2 ea G:(Σ,N,P,) una CFG sin ε-reglas, G es LL(k) sii u, v se cumple que FIR k (u) FIR k (v)= 3 ea G:(Σ,N,P,) una CFG cualquiera, G es LL(1) sii u, v se cumple que FIR 1 (u FOLLOW 1 ()) FIR 1 (v FOLLOW 1 ())= PL. nálisis sintáctico 25 PL. nálisis sintáctico 26 Cálculo del FIR 1i X es un terminal FIR(X)={X} 2i X ε es una producción εfir(x) 3i X Y 1 Y 2...Y n es una producción afir(y 1 ) FIR(X) bi εfir(y k ) k<i FIR(Y i ) FIR(X) ci εfir(y k ) i n εfir(x) Cálculo del FOLLOW 1i es el axioma FOLLOW() 2i αbβ es una producción FIR(β)-{ε} FOLLOW(B) 3i hay una producción αb o αbβ con εfir(β) FOLLOW() FOLLOW(B) PL. nálisis sintáctico 27 PL. nálisis sintáctico 28
8 Construcción de la P la vista del tope de pila y del símbolo nos dice que acción llevar a cabo. Esta compuesta por entradas de la forma M[a, X]=(X w) afir(wfollow(x)) N Σ Σ σ 1. a. σ t N 1... X... N n σ 1...a... σ t P... error P : pop R n P... R n : regla n error P X w PL. nálisis sintáctico 29 lgoritmo de análisis sintáctico predictivo no recursivo apuntar ae al primer símbolo de w; repeat sea X el símbolo de la cima de la pila y a el símbolo apuntado por ae if X es un terminal o then if X=a then extraer (pop) X de la pila y avanzar ae else error() else /* X es un no terminal */ if M[X,a] = X Y 1 Y 2 Y k then begin extraer X de la pila; meter (push) Y k, Y k-1,, Y 1 emitir la producción X Y 1 Y 2 Y k end else error() until X= /* la pila está vacía */ en la pila, con Y 1 en la cima; Puntero a la entrada e puede también ejecutar código que dependa de la producción utilizada PL. nálisis sintáctico 30 ea la gramática: E E E + E E ε F * F ε F (E) F id Ejemplo 1 FIR E E F id + id * id ( ε ( ε ( -{ε} -{ε} FOLLOW E E F + + * ) ) + ) ) ) NO ERMINL E E' ' F Ejemplo 2 P ÍMBOLO DE ENRD id + * ( ) E E' E E' E' +E' E' ε E' ε F' F' ' ε ' *F' ' ε ' ε F id F (E) PL. nálisis sintáctico 31 PL. nálisis sintáctico 32
9 E E E F E id E E E + E E F E id E E F* E F E id E E Ejemplo 3 PIL ENRD LID id + id * id id + id * id id + id * id id + id * id + id * id + id * id + id * id id * id id * id id * id * id * id id id E E F F id ε E +E F F id *F F id ε E ε PL. nálisis sintáctico 33 Gramáticas LL(1) La construcción de la P se puede aplicar a cualquier gramática, pero para algunas puede tener entradas con definiciones múltiples (ej. recursivas a izda, ambiguas). Una gramática cuya P no tiene entradas es LL(1). Propiedades de las gramáticas LL(1) 1.i G es LL(1), G no es ambigua. 2.i G es LL(1), G no tiene recursividad a izquierda. 3.i G es LL(1), para cada par de producciones α y β de un no terminal a.para ningún a, α y β derivan cadenas que empiecen por a. b. lo sumo una de α y β derivan la cadena vacía. c.i β *ε, α no deriva ninguna cadena que comience por FOLLOW(). PL. nálisis sintáctico 34 Recuperación de errores en el análisis sintáctico predictivo Durante este tipo de análisis se detecta un error: cuando el terminal de la cima de pila no concuerda con el siguiente símbolo de la entrada, cuando el no terminal esta en la cima de pila, a es el siguiente símbolo de entrada y M[a, ] es vacía. En cuanto a la recuperación de errores se integran muy bien con este tipo de análisis La recuperación en modo pánico La recuperación a nivel de frase PL. nálisis sintáctico 35 Recuperación en modo pánico e aumenta la P con acciones que pretenden realinear o sincronizar la secuencia de componentes léxicos con la entrada esperada. lgunas técnicas heurísticas de sincronización: 1. ímbolos en el FOLLOW(), para descartar el no terminal y continuar el análisis. 2. Para los no terminales de las construcciones de menor jerarquía los símbolos que inician las construcciones de mayor jerarquía (begin/end, while/do, repeat/until, function). 3. ímbolos del FIR() para continuar el análisis según. 4. i el no terminal es anulable usar ε como alternativa por omisión. e pospone la detección del error. 5. i el terminal de la cima de pila no concuerda con la entrada se descarta (conjunto de sincronización formado por todos los otros terminales de la gramática). PL. nálisis sintáctico 36
10 Recuperación a nivel de frase e llenan las entradas vacías de la P con apuntadores a rutinas de error, que pueden: cambiar, insertar o eliminar símbolos en la entrada. emitir mensajes de error modificar, insertar o eliminar no terminales del tope de pila En cualquier caso, se debe estar seguro de que no puede haber un lazo infinito y que las derivaciones obtenidas se correspondan con palabras del lenguaje. Puede usarse en conjunto con la recuperación en modo de pánica para hacer un tratamiento más exhaustivo de la detección de errores. NO ERMINL E E' ' F Ejemplo 4 P ÍMBOLO DE ENRD id + * ( ) E E' E E' sinc sinc E' +E' E' ε E' ε F' sinc F' sinc sinc ' ε ' *F' ' ε ' ε F id sinc F (E) sinc sinc descartar el no terminal del tope de pila saltar el símbolo de entrada PL. nálisis sintáctico 37 PL. nálisis sintáctico 38 Ejemplo 5 PIL ENRD LID E E E E F E id E E F* E F E E E + E E F E id E E + id * + id id * + id id * + id id * + id id * + id * + id * + id + id + id + id + id id id id error, saltar + id está en FIR(E) error, M[F,+]=sinc F ha sido extraido de la pila PL. nálisis sintáctico 39 PL. nálisis sintáctico 40
Tipos de análisis deterministas. Análisis descendente. Tipos de análisis deterministas. Análisis ascendente. Análisis descendente
César Ignacio García Osorio Área de Lenguajes y Siste mas Informáticos Universidad de Burgos Tipos de análisis deterministas. nálisis descendente. La idea es generar una forma sentencial a partir del axioma,
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 detallesANÁLISIS SINTÁCTICO I ANALIZADORES SINTÁCTICOS
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 detalles18 Análisis sintáctico III Compiladores - Profr. Edgardo Adrián Franco Martínez. Clasificación de métodos de análisis sintáctico Análisis descendente
2 Contenido Clasificación de métodos de análisis sintáctico Análisis descendente Análisis descendente recursivo Análisis descendente predictivo Métodos deterministas Problemas del análisis descendente
Más detallesLenguajes y Compiladores Análisis Sintáctico Parte I. Teoría Lenguajes 1
Facultad de Ingeniería de Sistemas Lenguajes y Compiladores Análisis Sintáctico Parte I 1 Introducción El analizador sintáctico recibe una secuencia de tokens y decide si la secuencia está correcta o no.
Más detallesANÁLISIS SINTÁCTICO. Comprobar que la secuencia de componentes léxicos cumple las reglas de la gramática Generar el árbol sintáctico
Cadena de tokens Árbol Sintáctico ANÁLISIS SINTÁCTICO 1 Análisis Sintáctico 2 Funciones Comprobar que la secuencia de componentes léxicos cumple las reglas de la gramática Generar el árbol sintáctico Ventajas
Más detallesDefinición de la sintaxis (1) Definición de la sintaxis (2) Definición de la sintaxis (3)
Definición de la sintaxis (1) Gramática independiente del contexto: tiene cuatro componentes: Un conjunto de componentes léxicos, denominados símbolos terminales. Un conjunto de no terminales. Un conjunto
Más detallesCompiladores. Análisis Sintáctico Ascendente. Adrian Ulises Mercado Martínez. Facultad de Ingeniería, UNAM. 5 de septiembre de 2013
Compiladores Análisis Sintáctico Ascendente Adrian Ulises Mercado Martínez Facultad de Ingeniería, UNAM 5 de septiembre de 2013 Adrian Ulises Mercado Martínez (FI,UNAM) Compiladores 5/07/2013 1 / 34 Índice
Más detallesAnálisis sintáctico Analizadores descendentes
Procesadores de Lenguajes Ingeniería Técnica superior de Ingeniería Informática Departamento de Lenguajes y Sistemas informáticos Análisis sintáctico Analizadores descendentes Javier Vélez Reyes jvelez@lsi.uned.es
Más detallesUNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA Escuela Técnica Superior de Ingeniería Informática Procesadores de Lenguajes.
UNIVERIDAD NACIONAL DE EDUCACIÓN A DITANCIA Escuela Técnica uperior de Ingeniería Informática Procesadores de Lenguajes Tema 3 Parte II Análisis intáctico Descendente Javier Vélez Reyes jvelez@lsi.uned.es
Más detallesTemas. Objetivo. Analizador Sintáctico: funciones y tipos. Analizador Sintáctico Descendente. Analizador Sintáctico Ascendente
10:44 1 10:44 2 Temas Analizador Sintáctico: funciones y tipos Analizador Sintáctico Descendente Analizador Sintáctico Ascendente Generador de Analizadores Sintácticos - Yacc Objetivo Que el estudiante
Más detallesRecuperación de Errores
Recuperación de rrores 1 Rutinas de Manejo de rrores Ocupan gran parte de los compiladores Objetivos Informar con claridad, exactitud Recuperación rápida recuperación no es corrección No debe retrasar
Más detallesSe pueden agrupar las reglas que tienen la misma parte izquierda:
GRAMÁTICA DE CONTEXTO LIBRE Gramática de contexto libre G = (V N, V T, P, S) que genera oraciones copulativas: V N = { , , , , V T = {el, la, hombre, niña,
Más detallesProcesadores de Lenguaje
Procesadores de Lenguaje Analizadores sintác0cos descendentes: LL(1) Cris%na Tirnauca DPTO. DE MATEMÁTICAS, ESTADÍSTICA Y COMPUTACIÓN Este tema se publica bajo Licencia: Crea0ve Commons BY NC SA 3.0 Analizadores
Más detallesUNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA Escuela Técnica Superior de Ingeniería Informática Procesadores de Lenguajes. Tema 3.
UNIVRSIDAD NACIONAL D DUCACIÓN A DISTANCIA scuela Técnica Superior de Ingeniería Informática Procesadores de Lenguajes Tema 3 Parte I Análisis Sintáctico Javier Vélez Reyes jvelez@lsi.uned.es Objetivos
Más detallesProcesadores de Lenguajes. Análisis sintáctico. Gramáticas libres de contexto
Procesadores de Lenguajes Ingeniería Técnica superior de Ingeniería Informática Departamento de Lenguajes y Sistemas informáticos Análisis sintáctico Gramáticas libres de contexto Javier Vélez Reyes jvelez@lsi.uned.es
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 detallesAnalizadores sintácticos LR(0) y SLR
Teoría de Lenguajes Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires Clase de Hoy Anteriores: Parsing descendente (LL(1), ELL) Recursivos e iterativos Generan árbol de derivación desde
Más detallesClase 16: GLC s recursivas y no factorizadas Solicitado: Ejercicios 13: Recursividad y factorización de gramáticas
Clase 16: GLC s recursivas y no factorizadas Solicitado: Ejercicios 13: Recursividad y factorización de gramáticas M. en C. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco @efranco_escom
Más detallesCompiladores e Intérpretes Análisis Sintáctico
1 Compiladores e Intérpretes Análisis Sintáctico Sebastian Gottifredi 2017 Organizacion Contexto Motivación Reglas de Sintaxis Construyendo Analizadores Sintácticos Ambigüedad Analizadores Sintácticos
Más detallesProyecto Intermedio Algoritmo de Earley
Fundamentos de Computación Proyecto Intermedio: Algoritmo de Earley Profesor: Dr. José Torres Jiménez Alumnos: Edna Gutiérrez Gasca Aureny Magaly Uc Miam Jorge Rodríguez Núñez Proyecto Intermedio Algoritmo
Más detallesProcesadores de Lenguaje
Procesadores de Lenguaje Analizadores sintácticos descendentes: LL(1) Cristina Tîrnăucă Dept. Matesco, Universidad de Cantabria Fac. Ciencias Ing. Informática Primavera de 2013 Analizadores sintácticos
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 detallesTema 4: Gramáticas independientes del contexto. Teoría de autómatas y lenguajes formales I
Tema 4: Gramáticas independientes del contexto Teoría de autómatas y lenguajes formales I Bibliografía Hopcroft, J. E., Motwani, R., y Ullman, J. D. Introducción a la Teoría de Autómatas, Lenguajes y Computación.
Más detallesTema 6: Compiladores e intérpretes. Teoría de autómatas y lenguajes formales I
Tema 6: Compiladores e intérpretes Teoría de autómatas y lenguajes formales I Bibliografía Sudkamp, T. A. Languages and machines: an introduction to the theory of computer science. Addison Wesley. 1997.
Más detallesUNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA Escuela Técnica Superior de Ingeniería Informática Procesadores de Lenguajes. Tema 4
UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA Escuela Técnica Superior de Ingeniería Informática Procesadores de Lenguajes Tema 4 Análisis Sintáctico Ascendente Javier Vélez Reyes jvelez@lsi.uned.es Objetivos
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. Análizador Sintáctico de abajo hacia arriba Es un proceso de Reducción,
Más detallesAnalizador Sintáctico Ascendente
Analizador Sintáctico Ascente Un Analizador Sintáctico (A. St.) Ascente construye el árbol desde las hojas hacia la raíz. Funciona por reducción-desplazamiento, lo cual quiere decir que, siempre que puede,
Más detallesLenguajes y Compiladores Análisis Sintáctico Parte II
Universidad Nacional San Luis Gonzaga Facultad de Ing. De Sistemas Lenguajes y Compiladores Análisis Sintáctico Parte II 1 Análisis Ascendente El análisis ascendente es conocido como análisis por desplazamiento
Más detallesANÁLISIS SINTÁCTICO PREDICTIVO NO RECURSIVO
1 UNIVERSIDAD DE MAGALLANES FACULTAD DE INGENIERÍA DEPARTAMENTO DE COMPUTACIÓN ANÁLISIS SINTÁCTICO PREDICTIVO NO RECURSIVO Elaborado el Martes 12 de Octubre de 2004 I.- INTRODUCCIÓN Es posible realizar
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 detallesParsing Top Down (Descendente)
Top Down (Descendente) José M. Castaño Teoría de Lenguajes 2012 Departamento de Computación FCEyN, UBA Outline 1 2 3 4 5 Introducción Reconocer/Generar un lenguaje independiente de contexto (CFL). Poder
Más detallesAnálisis Sintáctico Descendente
Análisis Sintáctico Descendente p.1/65 Análisis Sintáctico Descendente Tema 4 Juan A. Botía Blaya juanbot@um.es http://ants.dif.um.es/staff/juanbot/traductores/traductores.html Departamento de Ingeniería
Más detallesUnidad I: Análisis semántico
Unidad I: Análisis semántico 1.1 Arboles de expresiones Los árboles de expresiones representan el código de nivel del lenguaje en forma de datos. Los datos se almacenan en una estructura con forma de árbol.
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 detallesDiseñ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 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 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. Parsing LR: Ejemplo: E E + T E T T T * id T id S n : shift al estado
Más detallesTema 5. Análisis sintáctico ascendente
Tema 5 Análisis sintáctico Ciencias de la Computación e Inteligencia Artificial Índice 5.1 Introducción 5.2 Análisis sintáctico por desplazamiento y reducción 5.3 El autómata reconocedor de prefijos viables
Más detallesLenguajes y Compiladores Aspectos Formales (Parte 2) Compiladores
Facultad de Ingeniería de Sistemas Lenguajes y Aspectos Formales (Parte 2) 2007 1 Derivaciones El proceso de búsqueda de un árbol sintáctico para una cadena se llama análisis sintáctico. El lenguaje generado
Más detallesTema 1: Introducción
Tema 1: Introducción Procesamiento de Lenguajes Dept. de Lenguajes y Sistemas Informáticos Universidad de Alicante Procesamiento de Lenguajes Tema 1: Introducción 1 / 28 Definición de compilador Un compilador
Más detallesAgenda. Introducción Analizador léxico Analysis El problema de analizar sintácticamente Analizador sintáctico descendeterecursivo
Agenda Introducción Analizador léxico Analysis El problema de analizar sintácticamente Analizador sintáctico descendeterecursivo Analizador sintáctico Bottom-Up 1-1 1-2 Introducción Los sistemas de implementación
Más detallesANÁLISIS SINTÁCTICO I GRAMÁTICAS
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 detallesAnálisis sintáctico Analizadores ascendentes
Procesadores de Lenguajes Ingeniería Técnica superior de Ingeniería Informática Departamento de Lenguajes y Sistemas informáticos Análisis sintáctico Analizadores ascendentes Javier Vélez Reyes jvelez@lsi.uned.es
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 detallesFACULTAD POLITÉCNICA DIRECCIÓN ACADÉMICA PROGRAMA DE ESTUDIO I. IDENTIFICACIÓN Carrera : Ingeniería de Sistemas CARGA HORARIA (Horas reloj) Asignatura : Compiladores Carga Horaria Semestral 64 Semestre
Más detalles22, 23 y 24 Análisis sintáctico V Compiladores - Profr. Edgardo Adrián Franco Martínez
2 Contenido Análisis Sintáctico Ascendente Métodos Ascendentes Método Ascendente SLR Pasos para el método SLR Ejemplo SLR Resumen Ejercicios Compiladores (Análisis Sintáctico VI - Análisis Ascendente -
Más detalles17 Análisis sintáctico II Compiladores - Profr. Edgardo Adrián Franco Martínez. Gramáticas limpias y bien formadas
2 Contenido Gramáticas limpias y bien formadas Algoritmo para detectar símbolos muertos Algoritmo para detectar símbolos inaccesibles Gramáticas ambiguas Clasificación de métodos de análisis sintáctico
Más detallesCiencias de la Computación I
Ciencias de la Computación I Gramáticas Libres del Contexto y Lenguajes Libres del Contexto Gramáticas Formales Una gramática formal es una cuadrupla G = (N, T, P, S) N = conjunto finito de símbolos no
Más detallesTRADUCTORES E INTERPRETADORES
TRADUCTORES E INTERPRETADORES Clase 11: Analizadores Sintácticos Descendentes Agenda Analizadores Recursivos Descendentes. Análisis Predictivo. Analizadores LL(1). Analizadores LL(k) y LL(*). Analizadores
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 detallesÁRBOLES DE SINTAXIS. Los nodos no terminales (nodos interiores) están rotulados por los símbolos no terminales.
ÁRBOLES DE SINTAXIS ÁRBOL grafo dirigido acíclico. Los nodos no terminales (nodos interiores) están rotulados por los símbolos no terminales. Los nodos terminales (nodos hojas) están rotulados por los
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 detallesEl análisis descendente LL(1) 6, 7 y 13 de abril de 2011
6, 7 y 13 de abril de 2011 Analizadores sintácticos (repaso) Los analizadores descendentes: Corresponden a un autómata de pila determinista. Construyen un árbol sintáctico de la raíz hacia las hojas (del
Más detallesINTRODUCCIÓN A COMPILADORES Y LENGUAJES FORMALES LENGUAJES FORMALES
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 detallesProcesadores de lenguaje
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 detallesUNIVERSIDAD DE GUADALAJARA
UNIVERSIDAD DE GUADALAJARA CENTRO UNIVERSITARIO DE LOS ALTOS DIVISIÓN DE ESTUDIOS EN FORMACIONES SOCIALES LICENCIATURA: INGENIERÍA EN COMPUTACIÓN UNIDAD DE APRENDIZAJE POR OBJETIVOS COMPILADORES MTRA.
Más detallesAnálisis Sintáctico Descendente
Análisis Sintáctico Descendente CI4721 Lenguajes de Programación II Ernesto Hernández-Novich Universidad Simón Bolívar Copyright 2012-2016 Hernández-Novich (USB) Análisis Sintáctico Descendente
Más detallesTEMA 5 ANÁLISIS SINTÁCTICO DESCENDENTE
Universidad de Oviedo - Departamento de Informática Escuela Politécnica Superior de Ingeniería ANÁLISIS SINTÁCTICO EN PROCESADORES DE LENGUAJE TEMA 5 ANÁLISIS SINTÁCTICO DESCENDENTE Página 1 Objetivos
Más detallesAnálisis sintáctico 1
Análisis sintáctico 1 Análisis sintáctico 1. Introducción 2. Análisis descendente (top-down) 2.1 Análisis con backtracking 2.2 Análisis predictivo 2.2.1 Método recursivo 2.2.2 Método iterativo 3. Análisis
Más detallesTema: 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 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 detallesPROGRAMA DE LABORATORIO POS-REQUISITO: Primer Semestre 2019 Ing. Mario José Bautista Fuentes AUXILIAR: Nery Galvez
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERÍA ESCUELA DE CIENCIAS PROGRAMA DE LABORATORIO CÓDIGO: 777 CRÉDITOS: 4 Organización de NOMBRE CURSO: Lenguajes y SECCIÓN: A Compiladores 1 ESCUELA:
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 detallesProcesadores de Lenguajes. Análisis sintáctico. Analizadores descendentes
Procesadores de Lenguajes Ingeniería Técnica superior de Ingeniería Informática Departamento de Lenguajes y Sistemas informáticos Análisis sintáctico Analizadores descendentes Javier Vélez Reyes jvelez@lsi.uned.es
Más detallesTeoría de autómatas. Un enfoque práctico. Recortables. Thelma Cantú María Gpe. Mendoza
Teoría de autómatas. Un enfoque práctico Recortables Thelma Cantú María Gpe. Mendoza 1.1 Búsqueda de lenguajes Alumno: 1 Nombre del lenguaje Alfabeto: Dónde se utiliza? Cuál es el beneficio para la humanidad?
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 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 detallesConcepto de compilador Intérprete Fases de un Compilador Herramientas de construcción de Compiladores
18:55 1 2 Temas Concepto de compilador Intérprete Fases de un Compilador Herramientas de construcción de Compiladores Objetivo Que el estudiante logre conocer, comprender y manejar conceptos y técnicas
Más detallesUnidad V Análisis Semántico. M.C. Juan Carlos Olivares Rojas
Unidad V Análisis Semántico M.C. Juan Carlos Olivares Rojas Agenda 5.1 Analizador semántico 5.2 Verificación de tipos en expresiones. 5.3 Conversión de tipos. 5.4 Acciones agregadas en un analizador sintáctico
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 detallesANÁLISIS SINTÁCTICO I ANÁLISIS SINTÁCTICO DESCENDENTE LL(1)
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 detallesCiencias de la Computación I
Ciencias de la Computación I Gramáticas Regulares Expresiones Regulares Gramáticas - Intuitivamente una gramática es un conjunto de reglas para formar correctamente las frases de un lenguaje - Por ejemplo,
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 detallesAlfabetos y cadenas (1) Alfabetos y cadenas (2) Lenguajes. Propiedades de la concatenación:
Alfabetos y cadenas (1) 0 b b 0 1 Alfabeto: Un alfabeto Σ es un conjunto finito y no vacío de símbolos. Cadena sobre un alfabeto Σ: Es una sucesión de caracteres tomados de Σ. Cadena vacía: Cadena sin
Más detallesGramáticas independientes del contexto TEORÍA DE LA COMPUTACIÓN LENGUAJES INDEPENDIENTES DEL CONTEXTO Y AUTÓMATAS DE PILA. Otras definiciones I
Gramáticas independientes del contexto TEORÍ DE L COMPUTCIÓN LENGUJES INDEPENDIENTES DEL CONTEXTO Y UTÓMTS DE PIL Francisco Hernández Quiroz Departamento de Matemáticas Facultad de Ciencias, UNM E-mail:
Más detallesSea G = (V N, V T, S, P) una gramática libre de contexto, un árbol es un árbol de derivación para G si:
09:50 1 Temas Gramáticas libres de contexto Árbol de derivación Derivación más a la izquierda y más a la derecha Ambigüedad Factorización a izquierda Gramáticas propias Expresiones Regulares Objetivo Que
Más detallesLas Gramáticas LL. Gramáticas con Parsing Eficiente. Universidad de Cantabria
Las (k) Las Gramáticas con Parsing Eficiente Universidad de Cantabria Outline Las (k) 1 Las (k) 2 3 Las (k) Formalizalización del Concepto LL Definición Una gramática libre de contexto G = (V, Σ, Q 0,
Más detallesYACC (Yet Another Compiler Compiler) LALR(1) Parser Generator
YACC (Yet Another Compiler Compiler) LALR(1) Parser Generator 1 INDICE 1. Introducción 2. Especificaciones 3. Ambigüedad y conflictos 4. Tratamiento de errores 5. Uso con el LEX 6. Algunos consejos prácticos
Más detallesAMBIENTES DE COMPILACION
AMBIENTES DE COMPILACION Los compiladores a menudo producen como resultado del análisis semántico, una forma de representación intermedia del código fuente. Hoy en día, es cada vez más común que, en ambientes
Más detallesCÓMO DESARROLLAR Y PROBAR PROGRAMAS?, COMPRUÉBALO!
CÓMO DESARROLLAR Y PROBAR PROGRAMAS?, COMPRUÉBALO! AUTORÍA MARÍA CATALÁ CARBONERO TEMÁTICA PROGRAMACIÓN ETAPA CICLO MEDIO Y SUPERIOR DE INFORMÁTICA Resumen A la hora de realizar un programa en cualquier
Más detallesANÁLISIS SINTÁCTICO II LR1
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 detallesUnidad IV Análisis Sintáctico. M.C. Juan Carlos Olivares Rojas
Unidad IV Análisis Sintáctico M.C. Juan Carlos Olivares Rojas Agenda 4.1 Introducción a las Gramáticas libres de contexto y árboles de derivación. 4.2 Diagramas de sintaxis. 4.3 Precedencia de operadores.
Más detallesUniversidad Nacional del Santa Facultad de Ingeniería E.A.P. de Ingeniería de Sistemas e Informática TEORIA DE COMPILADORES ANALISIS SINTACTICO
ANALISIS SINTACTICO Análisis Sintáctico Descendente Análisis Sintáctico Ascendente EOF y α S (axioma inicial). 2. : la cadena de entrada no es válida. 3. : consiste en aplicar
Más detallesUnidad 4. Autómatas de Pila
Unidad 4. Autómatas de Pila Una de las limitaciones de los AF es que no pueden reconocer el lenguaje {0n1n} debido a que no se puede registrar para todo n con un número finito de estados. Otro lenguaje
Más detallesMás sobre gramáticas independientes de contexto o incontextuales
Más sobre gramáticas independientes de contexto o incontextuales Elvira Mayordomo, Gregorio de Miguel Universidad de Zaragoza 19 de noviembre de 2012 Contenido de este tema Árboles de derivación Gramáticas
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 detallesLR(1) - LALR. Alejandro Grinberg. 30 de Octubre de (agradecimiento a Juan Manuel Pérez) Alejandro Grinberg () LR(1) - LALR 1 / 16
LR(1) - LALR Alejandro Grinberg 30 de Octubre de 2014 (agradecimiento a Juan Manuel Pérez) Alejandro Grinberg () LR(1) - LALR 1 / 16 Repaso Parsing bottom-up Parsing shift-reduce Prefijos viables Autómata
Más detallesTeoría de Autómatas y Lenguajes Formales Práctica 4
Departamento de Tecnologías de la Información Área de Ciencias de la Computación e Inteligencia Artificial Teoría de Autómatas y Lenguajes Formales Práctica 4 1.- OBJETIVOS El objetivo de esta práctica
Más detallesAnálisis Semántico y Traducción Dirigida por la Sintaxis. Programación II Margarita Álvarez
Análisis Semántico y Traducción Dirigida por la Sintaxis Programación II Margarita Álvarez Análisis Semántico Comprobación estática Comprobación de tipos: la aplicación de los operadores y operandos deben
Más detallesGramáticas Libres de Contexto
Gramáticas Libres de Contexto Pedro J. Álvarez Pérez-Aradros Rubén Béjar Hernández Departamento de Informática e Ingeniería de Sistemas C.P.S. Universidad de Zaragoza GramáticasLibresContrxto.ppt 29/03/2004
Más detallesAnálisis semántico Tabla de símbolos, chequeo de tipos y representaciones internas
Análisis semántico Tabla de símbolos, chequeo de tipos y representaciones internas Análisis semático c 2001 José Fortes Gálvez p.1 Análisis?... semántico? La semántica corresponde al significado asociado
Más detallesLenguajes y Compiladores Aspectos Formales (Parte 1) Compiladores
Facultad de Ingeniería de Sistemas Lenguajes y Aspectos Formales (Parte 1) 1 Aspectos Formales Los compiladores traducen lenguajes que están formalmente definidos a través de reglas que permiten escribir
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 detallesHoras teóricas: Horas practicas: Área de conocimiento a la que pertenece
PROGRAMA DE ESTUDIOS Área de formación a la que pertenece: TRADUCTORES DE ALTO NIVEL CARRERA LT Sustantiva Profesional Horas teóricas: Horas practicas: 2 2 Créditos: 6 Clave: F0353 Área de conocimiento
Más detallesAnalizador 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 detallesPRÁCTICA DE PROCESADORES DE LENGUAJE EVALUACIÓN ORDINARIA CURSO 2009/2010 OBJETIVO DE LA PRÁCTICA
PRÁCTICA DE PROCESADORES DE LENGUAJE EVALUACIÓN ORDINARIA CURSO 2009/2010 OBJETIVO DE LA PRÁCTICA El objetivo de la práctica es desarrollar un compilador utilizando las herramientas flex y bison y el lenguaje
Más detallesINTRODUCCIÓN A LOS LENGUAJES
INTRODUCCIÓN A LOS LENGUAJES 1 Definición de lenguaje 2 Lenguajes formales 2.1 Requisitos 2.2 Aplicaciones 2.3 Especificación 2.4 Gramáticas 2.4.1 Definición y Ejemplos 2.4.2 Ambigüedad 2.4.3 Clasificación
Más detalles