Проблема портирования кода, написанного с использованием LEX и YACC.
Есть некий исходный код, написанный с использованием LEX и YACC.
Под Sun Solaris 8 for Intel и SCO UnixWare 7 этот исходный код
успешно компилируется в вполне работоспособную программу. При
попытки перенести этот код под Linux (Red Hat 7.1) было обнаружено,
что после успешной компиляции получаем программу, которая не выполняет
тестовые задания (в отличие от версий для Solaris и UnixWare).
Совершенно то же самое происходит под FreeBSD 4.3.
Вероятно, проблема в том, что в Linux и FreeBSD используются GNU-версии
утилит lex и yacc.
В связи с этим хотелось бы узнать:
- в чем отличия GNU и не-GNU реализаций LEX и YACC;
- есть ли какие-либо общие рекомендации по портированию такого софта
на Linux;
- как необходимо модифицировать входные файлы для LEX и YACC;
- любую информацию, которая поможет решить проблему.
Спасибо.