Если кому необходимы инструменты Flex&Bison под windows, и не хочется для этого устанавливать Cygwin или пользоваться устаревшими версиями, прошу обратить внимание на проект http://sourceforge.net/projects/winflexbison/ Надеюсь этот проект будет полезен, все пожелания и замечания по стараюсь учесть.
Заодно прошу взглянуть на реализацию грида под winapi http://sourceforge.net/projects/cppgrid/ (это мой первый проект). К сожалению документацию я не написал, но если интересно — могу рассказать о нем подробнее. Грид основан на паттерне MVP и вполне работоспособный. Основные задачи, которые я ставил перед собой при разработке контрола: быстрота работы и экономичность по памяти при работе с большим объемом информации; основной режим виртуальный (хотя работа в виртуальном и простом режимах симметрична), поддержка отображения нескольких данных в одной ячейке. Сейчас идет работа над поддержкой всплывающих элементов (дополнительные визуальные элементы появляются в ячейке, когда пользователь наводит на ячейку мышь).
Re: Flex&Bison
От:
Аноним
Дата:
22.11.11 05:25
Оценка:
Здравствуйте, Аноним, Вы писали:
без цигвина?, отлично!
вот только зависимость от ws2_32.dll мне не ясна
Re[2]: Flex&Bison
От:
Аноним
Дата:
22.11.11 11:50
Оценка:
А>без цигвина?, отлично!
Сам страдал :о)
А>вот только зависимость от ws2_32.dll мне не ясна
Где-то в исходниках в паре мест используются функции типа ntohl (перестановка байт в числах).
Я оставил эти функции, хотя, возможно, можно их убрать.
Re[3]: Flex&Bison
От:
Аноним
Дата:
22.11.11 12:40
Оценка:
Здравствуйте, Аноним, Вы писали:
А>>вот только зависимость от ws2_32.dll мне не ясна А>Где-то в исходниках в паре мест используются функции типа ntohl (перестановка байт в числах). А>Я оставил эти функции, хотя, возможно, можно их убрать.
байт своп? вы что смеетесь?
срочно отвязать!
Re[4]: Flex&Bison
От:
Аноним
Дата:
22.11.11 19:46
Оценка:
А>байт своп? вы что смеетесь?
Честное слово я не смеюсь... покопался в исходниках (кстати вы также можете покопаться, исходники прилагаются).
Короче, в коде используются функции htonl и htons для сохранения таблиц символов flex в отдельном файле (опция --tables-file[=FILE]).
В документации по flex версии 2.5.35 в главе 22.3 Tables File Format нашёл следующее предложение: Remember, all integer values
are in network byte order.
А>срочно отвязать!
Мне кажется преждевременно :о)
Re[5]: Flex&Bison
От:
Аноним
Дата:
23.11.11 05:40
Оценка:
Здравствуйте, Аноним, Вы писали:
htonl htons это байт свопы для int и для short
хватит смеятся, заменяйте их своими макросами и незачем тянуть целую ws32 либ
кстати там еще m4 и для flex и для bison
может их как то вынести и использовать только один?
я бегло глянул одни одинаковые только версий разных
взять что по новее
Re[6]: Flex&Bison
От:
Аноним
Дата:
23.11.11 21:16
Оценка:
А>htonl htons это байт свопы для int и для short А>хватит смеятся, заменяйте их своими макросами и незачем тянуть целую ws32 либ
Да вы бы сразу код этих макросов привели бы, а то вот придумывать надо.
Такие пойдут?
А>кстати там еще m4 и для flex и для bison А>может их как то вынести и использовать только один? А>я бегло глянул одни одинаковые только версий разных А>взять что по новее
Вопрос, что мы хотим этим добиться? Когда я портировал код, я хотел иметь минимальные зависимости.
Именно поэтому я си-рантайм библиотеку линковал статически. В идеале хотелось бы видеть два исполняемых файла и всё.
Думал как бы от папки ./data в бизоне избавиться, но отступил.
Ежели хочется минимизировать размер исполняемых файлов, то, первым делом, надо линковать си-рантайм как дллку. Даст ощутимую экономию размеров файлов.
Re[7]: Flex&Bison
От:
Аноним
Дата:
24.11.11 05:41
Оценка:
Здравствуйте, Аноним, Вы писали:
А>>htonl htons это байт свопы для int и для short А>>хватит смеятся, заменяйте их своими макросами и незачем тянуть целую ws32 либ А>Да вы бы сразу код этих макросов привели бы, а то вот придумывать надо. А>Такие пойдут? А>
подойдут
можно из того же линуха стрельнуть или вообще асм вставкой макрос сделать
они там по три асм комманды
А>>кстати там еще m4 и для flex и для bison А>>может их как то вынести и использовать только один? А>>я бегло глянул одни одинаковые только версий разных А>>взять что по новее А>Вопрос, что мы хотим этим добиться?
унификации
т.е. зачем в исходниках держать избыточный код который по функциональности повторяется?
выносить этот код в dll что бы получилось два екзе и длл я не хочу.
А>Когда я портировал код, я хотел иметь минимальные зависимости. А>Именно поэтому я си-рантайм библиотеку линковал статически. В идеале хотелось бы видеть два исполняемых файла и всё. А>Думал как бы от папки ./data в бизоне избавиться, но отступил. А>Ежели хочется минимизировать размер исполняемых файлов, то, первым делом, надо линковать си-рантайм как дллку. Даст ощутимую экономию размеров файлов.
впринципе про размер я ничего не говорил, он меня особо не беспокоит
но если начать рефакторить то думаю там многое можно повыкидывать, но это уже на любителя )
Re[7]: Flex&Bison
От:
Аноним
Дата:
25.11.11 05:03
Оценка:
Здравствуйте, Аноним, Вы писали:
А>>htonl htons это байт свопы для int и для short А>>хватит смеятся, заменяйте их своими макросами и незачем тянуть целую ws32 либ А>Да вы бы сразу код этих макросов привели бы, а то вот придумывать надо. А>Такие пойдут? А>
SWAP_BYTE_OREDR_USHORT — fail
SWAP_BYTE_ORDER_USHORT — good
Re[8]: Flex&Bison
От:
Аноним
Дата:
25.11.11 10:13
Оценка:
А>поправте здесь и в коде svn_trunk
А>SWAP_BYTE_OREDR_USHORT — fail А>SWAP_BYTE_ORDER_USHORT — good
Что поправить? Яснее, пожалуйста, напишите.
Re[9]: Flex&Bison
От:
Аноним
Дата:
25.11.11 11:24
Оценка:
Здравствуйте, Аноним, Вы писали:
А>>поправте здесь и в коде svn_trunk
А>>SWAP_BYTE_OREDR_USHORT — fail А>>SWAP_BYTE_ORDER_USHORT — good
А>Что поправить? Яснее, пожалуйста, напишите.
правильность написания слова ORDER кторая у вас в исходниках за сегодня как OREDR
Re[10]: Flex&Bison
От:
Аноним
Дата:
25.11.11 19:26
Оценка:
А>правильность написания слова ORDER кторая у вас в исходниках за сегодня как OREDR
Упс... спасибо... Теперь вроде все в порядке. Надеюсь мы приблизили этот мир к совершенству еще чуть-чуть :о)
Я выделил код для m4 и общих гнушных библиотек в статическую либу и заиспользовал её в пректах win_flex и win_bison.
Также заменил вызовы подобные htonl на макросы перестановки байт и, тем самым, убрал зависимость от библиотеки Ws2_32.dll
Если будут какие-либо еще пожелания и вопросы — пишите на sourceforge.net, наверное так лучше будет.
Re: Flex&Bison
От:
Аноним
Дата:
01.07.14 15:47
Оценка:
Здравствуйте, Аноним, Вы писали:
сгенерируйте обычные Makefile в проекте что бы можно было с консоли компилировать