Documente Academic
Documente Profesional
Documente Cultură
Historia:
Bison fue escrito principalmente por Robert Corbett; pero Richard Stallman lo hizo compatible con
Yacc, del mismo modo Wilfred Hansen de la Universidad Carnegie Mellon aadi literales de
cadena de varios caracteres y otras caractersticas.
Caractersticas:
Para que Bison pueda analizar un lenguaje, este debe ser descrito por una gramtica
independiente del contexto, esto significa que debe especificar uno o ms grupos sintcticos y dar
reglas para construirlos desde sus partes.2
De los posibles sistemas formales a analizar esta herramienta, el ms comn ser la Forma de
Backus-Naur o "BNF". Cualquier gramtica expresada en BNF es una gramtica independiente del
contexto. La entrada de Bison es en esencia una BNF legible por la mquina.
En las reglas gramaticales formales para un lenguaje, cada tipo de unidad sintctica o agrupacin
se identifica por un smbolo. Aquellos que son construidos agrupando construcciones ms
pequeas de acuerdo a reglas gramaticales se denominan smbolos no terminales; aquellos que no
pueden subdividirse se denominan smbolos terminales o tipos de tokens. Se denomina token a un
fragmento de la entrada que corresponde a un solo smbolo terminal, y grupo a un fragmento que
corresponde a un solo smbolo no terminal.3
Ventajas:
Este tipo de analizadores ascendentes no tienen problemas con la recursividad puesto que la
forma en que se realiza el anlisis, en general, da preferencias a la recursividad izquierda ya que
supone un uso ms eficiente de la pila del analizador. No obstante, esto genera un analizador
eficiente, incluso ms que los que pudiramos hacer de manera manual, los analizadores
ascendentes reconocen la mayor parte de los lenguajes.
1
Introduccin a Flex y Bison.
http://webdiis.unizar.es/asignaturas/LGA/material_2004_2005/Intro_Flex_Bison.pdf
2
Introduccion a Flex y Bison. Op cit
3
Ibid
Desventajas:
Las acciones semnticas asociadas con las producciones de los no terminales de las gramticas son
difciles de depurar. Igualmente, mezcla las especificaciones sintcticas con las semnticas.
Aplicaciones:
Bison tiene caractersticas que no se encuentran en Yacc, por lo que algunos proyectos se puede
realmente decir que "usar" Bison, desde Yacc no sera suficiente.
Sintaxis:
Declaraciones de Bison
%%
Reglas gramaticales
%%
Cdigo C adicional
Los %%, %{ y %} son signos de puntuacin que aparecen en todo archivo de gramtica de Bison
para separar las secciones.
Referencias:
"Bison". http://es.tldp.org/Manuales-LuCAS/BISON/bison-es-1.27.html
http://centrodeartigos.com/articulos-informativos/article_62543.html