Когда будет доступна более новая версия flex для windows? - PullRequest
3 голосов
/ 18 июля 2009

Я использую flex (лексический анализатор, а не Adobe Flex) в проекте. Однако я хочу иметь возможность компилировать и на платформах Windows, но самая новая версия для Windows - это только 2.5.4a, поэтому мой файл для версии 2.5.35 не скомпилируется. И нет, я не могу перейти на самую высокую поддерживаемую версию Windows.

Кто-нибудь знает о планах по обновлению версии Windows или у вас есть предложения по компиляции в Windows?

Ответы [ 2 ]

4 голосов
/ 18 июля 2009

Вы можете спросить в списке рассылки, или принять участие в проекте Flex самостоятельно. Я думаю, что кодовая база для Flex некоторое время оставалась статичной, но я не знаю, кто поддерживает порт Windows. Тем временем ...

Я бы порекомендовал , включая созданный источник в вашем проекте.

  1. Генерация лексера в системе Linux для создания ваших файлов lex.c / lex.h (или чего-либо еще)
  2. Включите эти файлы в исходный код Win32 C перед сборкой

Если у вас нет прямого доступа к системе Linux, вам может подойти виртуальная машина. Исходный код Flex должен быть жалобой на некоторый стандарт C, основанный на Windows, но большинство отличий POSIX можно изменить, чтобы довольно легко использовать Win32 API.

Может распространяться как:

/src/source_files.c
/src/lex.l
/src/win32_lex/lex.c

Таким образом, системы с , современные flex могут генерировать источник из файла lex, а системы Windows, компилирующие источник, могут использовать дополнительные предварительно обработанные файлы C.

За исключением использования некоторого пользовательского пространства POSIX (Cygwin или чего-либо еще).

Требуется немного доработки, но не для вас это мобильность !

1 голос
/ 08 мая 2010

Windows-сборки flex 2.5.35 do существуют, но, к сожалению, они не являются автономными. Вы можете скачать MINGW build здесь , а Cygwin build здесь ; см. также еще один вопрос о стеке . Каждая сборка требует, чтобы было установлено соответствующее ядро ​​(MINGW или Cygwin).

...