Le package Bison contient le programme bison.
Bison est un générateur de parseur, en remplacement de YACC. YACC signifie Encore un Autre Compilateur de Compilateurs. Qu'est-ce donc que Bison? C'est un programme qui génère un programme qui analyse la structure d'un fichier texte. Au lieu d'écrire le programme, vous spécifiez comment les choses doivent être reliées et, avec ces règles, un programme est construit pour analyser les fichiers texte.
Il y a de nombreux exemples où une structuration est nécessaire et l'un d'eux est la calculatrice.
Soit la chaîne:
1 + 2 * 3
Vous pouvez facilement arriver au résultat de 7. Pourquoi? A cause de sa structure. Vous savez comment interpréter la chaîne. L'ordinateur ne le sait pas, et Bison est un outil pour l'aider à comprendre cela, en présentant la chaîne sous la forme suivante au compilateur:
+
/ \
* 1
/ \
2 3
Vous commencez en bas de l'arbre, et vous arrivez aux nombres 2 et 3, qui sont liés par un symbole de multiplication; l'ordinateur multiplie donc 2 et 3. Le résultat de cette multiplication est mémorisé et la prochaine chose que l'ordinateur voit est le résultat de 2*3 et le nombre 1 qui sont reliés par le symbole d'addition. L'ajout de 1 au résultat précédent donne 7. En calcul, les opérations les plus complexes peuvent être exprimées sous ce format d'arbre, et l'ordinateur commence simplement en bas, et travaille en cheminant vers le haut, pour arriver à la réponse correcte. Bien entendu, Bison n'est pas uniquement utilisé pour les calculatrices.