Bison (бізон) - генератор синтаксичних аналізаторів загального призначення, який перетворює опис контекстно-вільної LALR граматики в програму на мові C для синтаксичного аналізу текстів щодо заданої граматики.
Bison, придатний для розробки аналізаторів мов досить широкого класу: від тих, що використовуються в простих настільних калькуляторах в складних мов програмування. Bison типово використовується разом з генератором лексичних аналізаторів Flex.
Bison зворотно сумісний з Yacc : всі правильні граматики Yacc повинні без змін працювати з Bison. Кожен, хто добре знає Yacc, не повинен мати великих проблем при використанні Bison.
Bison написаний, в основному, Робертом Корбетт (Robert Corbett). Річард Столмен (Richard Stallman) зробив його сумісним з Yacc. Вільфред Хансен (Wilfred Hansen) з Carnegie Mellon Univerisity додав підтримку багатосимвольних літералів і інші можливості.
Умови використання Bison
Починаючи з версії Bison 1.24 змінені умови розповсюдження yyparse, дозволивши використовувати результат роботи Bison в невільні програми. Раніше аналізатори, створені Bison, могли бути використані лише в програмах, які є вільними.
Інші інструменти GNU для програмування, такі як компілятор GCC, ніколи не містили такої вимоги. Вони завжди могли використовуватися для розробки невільного програмного забезпечення. Bison відрізнявся від них не через якесь особливе політичне рішення, просто до всього початкового коду Bison застосовувалася звичайна Універсальна Суспільна Ліцензія (GPL).
Вихід Bison - файл аналізатора Bison - містить точну копію частини Bison як код функції yyparse (усі дії вашої граматики вставляються в функцію в одному місці, інші функції при цьому не змінюється). В результаті застосування умов GPL до коду yyparse, використання виходу Bison було обмежено вільними.