Существуют некоторые различия между Lex и Flex, но вы должны злоупотреблять Lex, чтобы столкнуться с проблемами с Flex. (У меня есть программа, которая злоупотребляет Lex и поэтому не работает под Flex.) Это в первую очередь относится к области ввода информации; в Lex вы можете предоставить свой собственный код ввода и изменить поток символов; Флекс не позволит вам сделать это.
Yacc и Bison довольно тесно совместимы, хотя у Bison есть некоторые дополнительные приемы, которые он может сделать.
Вы, вероятно, не можете найти законные копии (оригинальных, AT & T-версий) Lex и Yacc для установки в Ubuntu. Я бы не сказал, что это невозможно, но я не знаю об этом. Flex и Bison легко доступны и эквивалентны для большинства целей. Вы также можете найти различные альтернативные и примерно эквивалентные программы из мира BSD.
Lex и Yacc поддерживаются лицензиатами Unix SVRx - такие компании, как IBM (AIX), HP (HP-UX) и Sun (Solaris), имеют в своем распоряжении модифицированные версии Lex и Yacc. MKS также предоставляет MKS Lex и MKS Yacc; однако Yacc, по крайней мере, имеет несколько нестандартных расширений.
Flex и Bison бесплатны. (AT & T) Лекс и Як нет.