Между Lex и Flex есть некоторые различия, но вы должны злоупотреблять Lex, чтобы столкнуться с проблемами с Flex. (У меня есть программа, которая злоупотребляет Lex и поэтому не работает с Flex.) Это в первую очередь относится к области упреждающего ввода; в Lex вы можете предоставить свой собственный код ввода и изменить поток символов; Flex не позволит вам этого сделать.
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) Лекс и Якк нет.