Tarea

Solo disponible en BuenasTareas
  • Páginas : 28 (6775 palabras )
  • Descarga(s) : 0
  • Publicado : 2 de diciembre de 2011
Leer documento completo
Vista previa del texto
Introducción a Flex y Bison

Rubén Béjar Hernández Dpto. Informática e Ingeniería de Sistemas Universidad de Zaragoza

Introducción a Flex y Bison

Introducción a Flex ____________________________________________________________

______3 Patrones ____________________________________________________________

_____________4 Emparejamiento de laentrada_____________________________________________________

__5 Acciones ____________________________________________________________

_____________6 El analizador generado ____________________________________________________________

_7 Condiciones de arranque (sensibilidad al contexto) ______________________________________7 Algunas variables disponibles para el usuario __________________________________________8 Compilación yejecución de un programa Flex__________________________________________8 Notas finales ____________________________________________________________

__________9 Introducción a Bison ____________________________________________________________

____10 Símbolos, terminales y no terminales_________________________________________________1

0 Sintaxis de las reglas gramaticales(producciones)______________________________________11 Semántica del lenguaje ____________________________________________________________

12 Acciones ____________________________________________________________

__________13 Tipos de Datos de Valores en Acciones ______________________________________________13 Acciones a Media Regla __________________________________________________________14

Declaracionesen Bison ____________________________________________________________

14 Nombres de Token ____________________________________________________________

__15 Precedencia de Operadores ________________________________________________________15 La Colección de Tipos de Valores___________________________________________________16

Símbolos No Terminales__________________________________________________________16

El Símbolo Inicial ____________________________________________________________

___16 Precedencia de operadores _________________________________________________________16 Especificando Precedencia de Operadores ____________________________________________17 Precedencia Dependiente del Contexto _______________________________________________17 Funcionamiento delanalizador _____________________________________________________18 La Función del Analizador yyparse________________________________________________18 La Funcion del Analizador Léxico yylex ____________________________________________18 Un ejemplo sencillo ____________________________________________________________

___18 Compilación y ejecución de un programaBison________________________________________20 Notas finales ____________________________________________________________

_________21 Bibliografía________________________________________________

________________________21

2

Introducción a Flex y Bison

Introducción a Flex
Flex es un una herramienta que permite generar analizadores léxicos. A partir de un conjunto de expresiones regulares, Flex busca concordancias en unfichero de entrada y ejecuta acciones asociadas a estas expresiones. Es compatible casi al 100% con Lex, una herramienta clásica de Unix para la generación de analizadores léxicos, pero es un desarrollo diferente realizado por GNU bajo licencia GPL. Los ficheros de entrada de Flex (normalmente con la extensión .l) siguen el siguiente esquema:
%% patrón1 {acción1} patrón2 {acción2} ... donde:patrón: expresión regular acción: código C con las acciones a ejecutar cuando se encuentre concordancia del patrón con el texto de entrada Flex recorre la entrada hasta que encuentra una concordancia y ejecuta el código asociado. El texto que no concuerda con ningún patrón lo copia tal cual a la salida. Por ejemplo:
%% a*b re {printf(“X”);}; ;

El ejecutable correspondiente transforma el...
tracking img