Pruebas

Páginas: 28 (6890 palabras) Publicado: 12 de octubre de 2012
Introducción a Flex y Bison
Prácticas de Lenguajes, Gramáticas y Autómatas,
cuarto cuatrimestre (primavera) de Ingeniería en
Informática
http://webdiis.unizar.es/asignaturas/LGA

Profesor Responsable: 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 la entrada_______________________________________________________5
Acciones _________________________________________________________________________6
El analizador generado _____________________________________________________________7
Condiciones de arranque(sensibilidad al contexto) ______________________________________7
Algunas variables disponibles para el usuario __________________________________________8
Compilación y ejecución de un programa Flex__________________________________________8
Notas finales ______________________________________________________________________9
Introducción a Bison________________________________________________________________10
Símbolos, terminales y no terminales_________________________________________________10
Sintaxis de las reglas gramaticales (producciones)______________________________________11
Semántica del lenguaje ____________________________________________________________12
Acciones ______________________________________________________________________13
Tipos de Datos de Valores enAcciones ______________________________________________13
Acciones a Media Regla __________________________________________________________14
Declaraciones en Bison ____________________________________________________________14
Nombres de Token ______________________________________________________________15
Precedencia de Operadores ________________________________________________________15
LaColecció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 del analizador _____________________________________________________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 programa Bison________________________________________20
Notas finales _____________________________________________________________________21
Bibliografía________________________________________________________________________21

2

Introducción a Flex y Bison

Introducción a Flex
Flex es un unaherramienta que permite generar analizadores léxicos. A partir de un
conjunto de expresiones regulares, Flex busca concordancias en un fichero 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 ficherosde 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...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Prueba
  • Prueba
  • Prueba
  • Prueba
  • Prueba
  • Pruebas
  • Pruebas
  • Prueba

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS