Conceptos básicos sobre gramáticas
|
|
|
- Xavier Méndez Ojeda
- hace 9 años
- Vistas:
Transcripción
1 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 pertenecientes al alfabeto. Es posible que la cadena vacía, ɛ, pertenezca a un lenguaje Una gramática es una forma compacta de representar un lenguaje IMPORTANTE: Una gramática genera un único lenguaje, pero un mismo lenguaje puede ser generado por varias gramáticas Una gramática es una cuádrupla G = (V N, V T, S, P ), donde V N es el conjunto de símbolos variables o no terminales, V T es el conjunto de símbolos terminales (todos los terminales deben pertenecer al alfabeto), S es el símbolo inicial de la gramática (S siempre es un ), y P es el conjunto de producciones o reglas de la gramática Producciones y derivaciones Una producción o regla de una gramática tiene una parte izquierda y una parte derecha. Tanto la parte izquierda como la parte derecha son una cadena de símbolos terminales y es Normalmente, solamente se especifica el conjunto de producciones P, y se asume que el símbolo inicial de la gramática es la parte izquierda de la primera producción. Ejemplo: A a B C B b bas B big C boss C ɛ C c G = (V N = A, B, C, V T = a, b, bas, big, boss, c, S = A, P = A...) Una derivación es una secuencia de cadenas de símbolos (llamadas formas sentenciales) en la que cada cadena es resultado de la aplicación de una regla de la gramática a la cadena anterior. Una derivación válida es aquella en la que la primera cadena de la secuencia es el símbolo inicial, y la última es una cadena de terminales. Ejemplos: A a B C a B c a big C boss c a big boss c A a B C a b bas C a b bas En los ejemplos, la primera derivación se dice que es una derivación por la derecha, porque siempre se deriva el situado más a la derecha, y la segunda es una derivación por la izquierda IMPORTANTE: El lenguaje generado por una gramática es el conjunto de cadenas de terminales obtenidas a partir de derivaciones válidas usando las reglas de la gramática Un árbol de derivación es un árbol en el que se representa una derivación válida de una cadena (pero no se especifica el orden en que se han aplicado las reglas)
2 PL, 2013/ A a B C b bas ε Características especiales Se dice que una gramática es ambigua cuando, para una cadena determinada, existe más de un árbol de derivación IMPORTANTE: la única forma de saber si una gramática es ambigua es encontrando una cadena con más de un árbol de derivación, no hay otra forma Ejemplo: E E opsuma E E num La cadena tiene dos árboles de derivación, y la cadena tiene más de dos árboles ( cuántos?) Una gramática se dice que es recursiva por la izquierda si tiene al menos una regla de esta forma: E E opsuma T De forma similar, una gramática puede presentar recursividad por la derecha: E T opsuma E Una gramática se dice que tiene factores comunes por la izquierda si tiene en al menos dos reglas (con la misma parte izquierda) símbolos comunes al principio de la parte derecha de la regla: Jerarquía de gramáticas A B a C A B a d... Según la forma de las producciones, las gramáticas se clasifican en: Regulares: en la parte izquierda sólo hay un, y la parte derecha puede haber: terminal terminal ɛ Independientes del contexto (context-free): en la parte izquierda sólo hay un, en la parte derecha no hay restricciones Dependientes del contexto: en la parte izquierda puede haber terminales y es, pero al menos debe haber un, y la longitud de la parte derecha debe ser mayor o igual que la de la parte izquierda No restringidas
3 PL, 2013/ Qué tipos de gramáticas se usan en los compiladores? En los compiladores se utilizan solamente gramáticas regulares y gramáticas independientes del contexto (GIC) Las gramáticas regulares se utilizan para especificar los tokens (en realidad, se utilizan expresiones regulares, pero son equivalentes) Las GIC se utilizan para especificar la sintaxis de las construcciones del lenguaje fuente En los lenguajes de programación hay restricciones semánticas (p.ej. es necesario haber declarado una variable antes de utilizarla), que hacen que en realidad los lenguajes de programación sean lenguajes sensibles al contexto, pero no se utilizan gramáticas sensibles al contexto, se utilizan GIC a las que se añaden acciones para la comprobación de las restricciones semánticas. Diseño de gramáticas para expresiones en lenguajes de programación Un buen diseño de la gramática nos permitirá reflejar de forma natural características semánticas del lenguaje en el árbol de derivación, y esto permitirá que la traducción sea más sencilla Es importante por tanto diseñar una buena gramática, pero luego es posible que se tenga que modificar según el tipo de analizador sintáctico que se desee utilizar Además, es posible que al diseñar el proceso de traducción sea necesario rediseñar la gramática para facilitar el diseño del traductor Diseño de gramáticas para expresiones: asociatividad La asociatividad indica cómo se agrupan los operandos en un operador cuando aparecen más de dos operandos. Por ejemplo, normalmente vale -1, porque el operador - suele tener asociatividad por la izquierda, y primero se evalua 4-3 y al resultado se le resta 2. Sin embargo, si la asociatividad fuera por la derecha, el resultado sería 3 ( 4-(3-2) ) Los paréntesis permiten alterar la asociatividad por defecto de un operador Cómo se puede reflejar la asociatividad en una gramática? asociatividad izquierda E E opsuma T asociatividad derecha E T opsuma E Pero... no son todos los operadores asociativos por la izquierda? Sí, casi todos, pero no todos: a=b=c=0 Diseño de gramáticas para expresiones: precedencia En la mayoría de los lenguajes de programación, unos operadores se evaluan antes que otros. Por ejemplo, 2+3*4 casi siempre vale 14. Como ocurre con la asociatividad, los paréntesis permiten alterar la precedencia de los operadores: (2+3)*4 Cómo se puede reflejar la precedencia en una gramática? con un diferente para cada nivel de precedencia: Expr Expr or EBool Expr EBool EBool EBool and ExpRel EBool ExpRel ExpRel E oprel E E E opsuma T E T T T opmul F T F F... Algunos operadores no permiten usar más de dos operandos, como por ejemplo: a<b<c a<b && b<c
4 PL, 2013/ Tabla de asociatividades y precedencias Es una tabla en la que aparecen los operadores y su asociatividad, ordenados de menor a mayor precedencia: Operador izquierda % derecha # izquierda A B A B B C % B B C C C # D C D D... Operadores unarios Los operadores unarios son más difíciles de reflejar en una gramática, requiere un buen conocimiento del lenguaje y de las gramáticas Los ejemplos más conocidos son: el operador de negación,!, que además permite que se repita el operador:!!!true ExpRel! ExpRel el operador de cambio de signo, - o +, que no permite repeticiones (por ejemplo, no es correcto) E opsuma T El problema del dangling- Con qué if se asocia el? La regla que se usa normalmente es asociar el al if más cercano: Consejo: es mejor usar bloques entre llaves de forma explícita
5 PL, 2013/ Fragmento de gramática para la instrucción if : Tiene dos características no deseables: 1. Tiene factores comunes por la izquierda 2. Es ambigua!!!!! Instr id opasig Expr Instr... Instr if ( Expr ) Instr Instr if ( Expr ) Instr Instr... y sin embargo, se utiliza en prácticamente todos los compiladores basados en análisis sintáctico ascendente (los que usan yacc o bison).
Introducción. Las gramáticas definen las reglas que definen a los lenguajes Las reglas pueden tener una diversa variedad de esquemas
Gramáticas Introducción Las gramáticas definen las reglas que definen a los lenguajes Las reglas pueden tener una diversa variedad de esquemas En algunos lenguajes, una sucesión de símbolos depende del
Tema 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.
Lenguajes 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
Compiladores. 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
Generació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
Lenguajes 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
YACC (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
token siguiente! Tabla de símbolos
TEMA 3 3.1 LA FUNCIÓN DEL ANALIZADOR SINTÁCTICO Como ya se indicó en la introducción, la principal tarea del analizador sintáctico (o parser) no es comprobar que la sintaxis del programa fuente sea correcta,
LENGUAJES Y GRAMÁTICAS
LENGUAJES Y GRAMÁTICAS Orlando Arboleda Molina Escuela de Ingeniería de Sistemas y Computación de La Universidad del Valle 20 de septiembre de 2008 Contenido Lenguajes y Gramáticas Gramáticas Gramáticas
Compiladores: 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
16 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
Lenguajes 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.
Á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
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
INTRODUCCIÓ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
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
AMBIENTES 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
Gramáticas de Atributos
Teoría de Lenguajes Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires Etapas de un Compilador Analizador Léxico Analizador Sintáctico (Parser)... Lexer: Genera secuencia de tokens Reporta
Gramáticas tipo 0 o Estructura de frase En este tipo de gramáticas no hay restricción en su producciones y tienen la forma siguiente.
Gramáticas Libres de Contexto 1. Gramáticas. Como vimos en el capítulo anterior una gramática es un conjunto finito de reglas que describen todas las secuencias de símbolos que pertenecen a un lenguaje.
Lenguajes y Compiladores Traducción Dirigida por la Sintaxis
Facultad de Ingeniería de Sistemas Lenguajes y Compiladores Traducción Dirigida por la Sintaxis 1 Definición Código Intermedio: estructura de código que posee una complejidad comprendida entre el código
Aná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
Procesadores 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 [email protected]
Modelos De Computación. Guía Modelos de Computación. Tema I: Lenguajes y Gramáticas
Guía Modelos de Computación Tema I: Lenguajes y Gramáticas Introducción La sintaxis de un lenguaje natural, esto es, la de los lenguajes hablados, como el inglés, el español, el alemán o el francés, es
Definició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
GRAMATICAS LIBRES DEL CONTEXTO
GRMTICS LIBRES DEL CONTEXTO Estas gramáticas, conocidas también como gramáticas de tipo 2 o gramáticas independientes del contexto, son las que generan los lenguajes libres o independientes del contexto.
Computabilidad y lenguajes formales: Sesión 19. Gramáticas Incontextuales (Context Free Grammars)
Computabilidad y lenguajes formales: Sesión 19. Gramáticas Incontextuales (Context Free Grammars) Prof. Gloria Inés Alvarez V. Departamento de Ciencias e Ingeniería de la Computación Pontificia Universidad
PROCESADORES 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
Capítulo 9. Introducción a los lenguajes formales. Continuar
Capítulo 9. Introducción a los lenguajes formales Continuar Introducción Un lenguaje es un conjunto de símbolos y métodos para estructurar y combinar dichos símbolos. Un lenguaje también recibe el nombre
Sintaxis y Semántica. Un repaso
Sintaxis y Semántica Un repaso Definición: Alfabeto Un conjunto finito de símbolos: {a,b,c,d} {0,1,2,34,5,6,7,8,9} {identificador, número, +,-,*, /} {while, if, {, }, >, >=,
Gramáticas libres de contexto
Gramáticas libres de contexto Conceptos básicos El siguientes es un ejemplo de una gramática libre de contexto, a la cual llamaremos G1. A 0A1 A B B # Una gramática consiste de una colección de reglas
Gramaticas 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
Yacc/Bison. Introducción
Yacc/Bison Índice Marina de la Cruz Alfonso Ortega Introducción Uso de Yacc/Bison con Lex/Flex Construcción del programa objetivo casple Comunicación entre las funcionesmain(), yylex() eyyparse() Formato
Unidad 5 Análisis semántico
61 Unidad 5 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
Pontificia Universidad Católica del Ecuador
1. DATOS INFORMATIVOS: MATERIA O MÓDULO: COMPILADORES E INTERPRETES CÓDIGO: 10730 CARRERA: NIVEL: SISTEMAS QUINTO No. CRÉDITOS: 4 CRÉDITOS TEORÍA: 4 CRÉDITOS PRÁCTICA: - SEMESTRE / AÑO ACADÉMICO: 2 / 2010
ANÁ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
Teorí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?
ANÁLISIS SINTÁCTICO II GENERADOR DE ANALIZADORES SINTÁCTICOS ASCENDENTES
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
Procesadores de Lenguaje
Procesadores de Lenguaje Repaso TALF Cristina Tîrnăucă Dept. Matesco, Universidad de Cantabria Fac. Ciencias Ing. Informática Primavera de 2013 La Jerarquía de Chomsky Cuatro niveles de lenguajes formales
Se 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,
1. Acciones en Yacc. %{ #include <stdio.h> yyerror (char *s) { fprintf (stderr, %s\n, s) ; } %} %% : S \n {printf ( Correcto\n );} ; : ( S ) S
El generador de analizadores sintácticos Yacc III Teoría de autómatas y lenguajes formales Alma María Pisabarro Marrón ([email protected]) Universidad de Valladolid 1. Acciones en Yacc Las acciones en
Expresiones y sentencias
Expresiones y sentencias Expresión Construcción (combinación de tokens) que se evalúa para devolver un valor. Sentencia Representación de una acción o una secuencia de acciones. En C, todas las sentencias
14 Lenguajes y gramáticas II
2 Contenido Lenguaje generado por una gramática (Derivaciones) Ejemplo Jerarquía de Chomsky Gramáticas tipo 3 Gramáticas tipo 2 Gramáticas tipo 1 Gramáticas tipo 0 Descripción de las gramáticas Ejercicios
Sintaxis y Semántica. Tema 3. Sintaxis y Semántica. Expresiones y Lenguajes Regulares. Dr. Luis A. Pineda ISBN:
Tema 3 Expresiones y Lenguajes Regulares Dr Luis A Pineda ISBN: 970-32-2972-7 Sintaxis y Semántica En us uso normal, las expresiones lingüística hacen referencia a objetos individuales, así como a sus
18 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
ANÁ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
CAPITULO 5: GRAMÁTICAS
CAPITULO 5: GRAMÁTICAS 5.1. GRAMÁTICA EN UN LENGUAJE NATURAL: En un lenguaje natural la estructura de las frases, se describen por medio de una gramática que agrupa las palabras en categorías sintácticas
17 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
Alfabetos 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
Lenguajes y Compiladores Análisis Léxico
Facultad de Ingeniería de Sistemas Lenguajes y Compiladores Análisis Léxico 1 Análisis léxico La tarea del análisis léxico es reconocer símbolos dentro de la cadena de caracteres que es el programa fuente.
Gramaticas 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
Tema 5. Análisis semántico
Departamento de Tecnologías de la Información Tema 5 Análisis semántico Ciencias de la Computación e Inteligencia Artificial Índice 5.1 Características del análisis semántico 5.2 Gramáticas atribuidas
Unidad 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.
Qué es el análisis semántico?
Análisis semántico Estrella Pulido Cañabate Qué es el análisis semántico? Fase del compilador en la que se comprueba la corrección semántica del programa Conjunto de subrutinas independientes que pueden
ESPECIFICACIÓN DE SÍMBOLOS
1 UNIVERSIDAD DE MAGALLANES FACULTAD DE INGENIERÍA DEPARTAMENTO DE COMPUTACIÓN ESPECIFICACIÓN DE SÍMBOLOS Elaborado el Sábado 24 de Julio de 2004 I.- COMPONENTES LÉXICOS, PATRONES Y LEXEMAS (extraído de
Expresiones regulares
Expresiones regulares Elvira Mayordomo Universidad de Zaragoza 26 de septiembre de 2013 Elvira Mayordomo (Universidad de Zaragoza) Expresiones regulares 26 de septiembre de 2013 1 / 15 Contenido de este
HERRAMIENTAS YACC Y BISON
HERRAMIENTAS YACC Y BISON INTRODUCCION En la actualidad no es posible pensar en la realización computacional de un procesador de lenguajes, como por ejemplo, compiladores, intérpretes, etc., sin utilizar
Este método de diseño de algoritmos en etapas, yendo de los conceptos generales a los de detalle, se conoce como método descendente (top-down).
PLANTEMAIENTO DEL PROBLEMA Identificación de entradas y salidas Un algoritmo puede ser definido como la secuencia ordenada de pasos, sin ambigüedades, que conducen a la resolución de un problema dado y
INTRODUCCIÓ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
Bison. Introducción. Índice. Introducción Uso de Bison con Flex. Formato del fichero de especificación de Bison
Bison Índice Marina de la Cruz Alfonso Ortega Introducción Uso de Bison con Flex Construcción del programa objetivo alfa Comunicación entre las funciones main(), yylex() e yyparse() Formato del fichero
Los modelos abstractos de cómputo. Tema 1: Introducción. El modelo transductor. El modelo reconocedor. ordenador. datos. Modelo Abstracto de Cómputo
Tema 1: Introducción Preliminares Los Modelos Abstractos de Cómputo El principio de inducción Palabras y Lenguajes Palabras Operadores sobre palabras Predicados sobre palabras Lenguajes Operadores sobre
Operadores y Expresiones
Operadores y Expresiones Los programas Java constan de datos, sentencias de programas y expresiones. Una expresión es normalmente, una ecuación matemática, tal como 3 * x + 5 * z. En esta expresión, los
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
Tema: Autómata de Pila
Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores 1 Tema: Autómata de Pila Contenido La presente guía aborda los autómatas de pila, y se enfoca en la aplicación que se le puede dar a estas
Fundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto Segundo Cuatrimestre de 2002
Departamento de Cs. e Ingeniería de la Computación Universidad Nacional del Sur Ejercicios Fundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto
CÓ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
Expresiones regulares, gramáticas regulares
Expresiones regulares, gramáticas regulares Los LR en la jerarquía de Chomsky La clasificación de lenguajes en clases de lenguajes se debe a N. Chomsky, quien propuso una jerarquía de lenguajes, donde
Coordinación de Ciencias Computacionales INAOE. Teoría de Autómatas y Lenguajes Formales. Temario detallado para examen de ingreso 2012
Coordinación de Ciencias Computacionales INAOE Teoría de Autómatas y Lenguajes Formales Temario detallado para examen de ingreso 2012 1. Autómatas 1.1. Por qué estudiar la teoría de autómatas? 1.1.1. Introducción
Introducción a la Lógica y la Computación
Introducción a la Lógica y la Computación Parte III: Lenguajes y Autómatas Clase del 7 de Noviembre de 2014 Parte III: Lenguajes y Autómatas Introducción a la Lógica y la Computación 1/20 Lenguajes Formales
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
Unidad 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
GENERACIÓ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
Compiladores e intérpretes Introducción
Introducción Profesor: Eridan Otto Introducción Perspectiva histórica Motivación Definiciones Componentes y fases de un compilador 1 Introducción Definiciónes básicas Traductor: desde un punto de vista
Expresiones y sentencias
Expresiones y sentencias Expresión Construcción (combinación de tokens) que se evalúa para devolver un valor. Sentencia Representación de una acción o una secuencia de acciones. En Java, todas las sentencias
Teoría de la Computación y Leguajes Formales
y Leguajes Formales Prof. Hilda Y. Contreras Departamento de Computación [email protected] [email protected] Contenido Tema 0: Introducción y preliminares: Conocimientos matemáticos
FLEX: A FAST LEXICAL ANALYZER GENERATOR
FLEX: A FAST LEXICAL ANALYZER GENERATOR Especificación Léxica Fichero.l flex Programa con la implementación del AFD, código fuente, yy.lex.c yy.lex.c Compilador de C milex (ejecutable) cc yylex.c o milex
Analizadores 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
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.
Tema 3: Gramáticas regulares. Teoría de autómatas y lenguajes formales I
Tema 3: Gramáticas regulares Teoría de autómatas y lenguajes formales I Bibliografía Hopcroft, J. E., Motwani, R., y Ullman, J. D. Introducción a la Teoría de Autómatas, Lenguajes y Computación. Addison
Tema 2: Lenguajes Formales. Informática Teórica I
Tema 2: Lenguajes Formales Informática Teórica I Teoría de Lenguajes Formales. Bibliografía M. Alfonseca, J. Sancho y M. Martínez. Teoría de Lenguajes, Gramáticas y Autómatas, R.A.E.C., Madrid, (1998).
