LINUX.ORG.RU

flex и Unicode


0

0

Подскажите где можно найти рабочий flex с наложенным Unicode-патчем?
я нашел только отдельно патч и отдельно flex-2.5.4, но flex после сборки
с ним генерирует совершенно некомпилируемый код, я и это вроде
подравил, но прога стала вываливатся по SIGSEGV и мое терпение
кончилось.

★★

Сочувствую. :)

Вот очевидная вещь, а никто за нее так и не брался. Кстати, есть ведь и разрабатываемая версия flex-2.5.31, которой хоть кто-то занимается. Ее можно найти на lex.sourceforge.net. Но и в ней с юникодом туго. Хотя по части документации и тестирования прогресс большой. Но, как-то эту версию не применяют широко.

А патч откуда точно брался, и откуда точно брались исходники? Правда, что версия использовалась 2.5.4 а не 2.5.4a?

Кстати, а задача разбора трудная, насколько нужен flex, может быть, можно обойтись и средствами попроще? Например, в той же glib можно найти реализацию разбора GScanner.

Да, и еще ссылка, вот я где можно скачать патч, что если попробовать его? http://software.decisionsoft.com/software/flex-2.5.4a-unicode-patch

anonymous
()
Ответ на: комментарий от anonymous

Патч брался здесь ftp://ftp.lauton.com/pub/flex-2.5.4-unicode-patch.tar.gz а исходники: ftp.agt.net/pub/sunfreeware/SOURCES/flex-2.5.4.tar.gz, вроде бы действительно 2.5.4...

Вобщем проблему с SIGSEGV удалось решить, заменой wchar_t на unsigned short в патче, но анализатор потом все равно не распознает ни одной лексемы. А поскольку сил разбираться с этим уже нет, решил правила для flex писать на windows-1251 а потом перекодировать входной поток в эту кодировку и только потом скармливать его анализатору... конечно не очень изящно, но пока пойдет.

Использовать что-то другое... тут я не знаю.. нужна интеграция с bison, и при этом решение должно быть кросс-платформеным, тащить лишнюю библиотеку за собой не хочется.

Vinick ★★
() автор топика
Ответ на: комментарий от Vinick

>Вобщем проблему с SIGSEGV удалось решить, заменой wchar_t на unsigned short в патче, но анализатор потом все равно не распознает ни одной лексемы. А поскольку сил разбираться с этим уже нет, решил правила для flex писать на windows-1251 а потом перекодировать входной поток в эту кодировку и только потом скармливать его анализатору... конечно не очень изящно, но пока пойдет.

Да, наверное, так сойдет. Все-таки попробовать можно 2.5.4a и тот патч, который выше указан.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.