boost::spirit не на английском
На сколько мне известно, по конкретно бустовым библиотекам, есть только книги по БГЛ и МПЛ. По Спириту, вроде как, нет. Но если вдруг обнаружишь что-нить (не обязательно на русском) кроме официальной доки - скинь, плиз
помогите найти литературу по библиотеке boost::spirit не на английском! Такую, чтобы ботать можно было. Может, кто знает книгу какую с непаленым названием? В интернете нашел только прилагаемую к библиотеке документацию на английском.Не используй буст спирит, я его использовал, но теперь — ни за что.
проще написать самому парсер, если случай простой. Если случай сложный — лучше использовать что-то типа lex/yacc.
Если есть вопросы — я очень хорошо знаю эту библиотеку, писал очень много на ней. Но не рекомендую.
но теперь — ни за чтоЕсли не секрет - можешь рассказать, в чем причина?
А то я ее ботать собирался, а теперь вот сомневаюсь ).
Если не секрет - можешь рассказать, в чем причина?Ты сейчас напишешь, а кто исправить сможет? Синтаксис в стиле того как описывают языки специалисты по автоматам — это хорошо, но в плюсах это тебе что даст? Что кроме того, что ты своему начальнику покажешь как ты умеешь палочки и галочки ставить? Если тебе нужно показать виртуозное владение плюсами — да, спирит восхитителен. Если сделать работающее ПО — он просто не нужен.
Во-вторых мне не нравится скорость. Он ведь медленный, особенно если конструкторы все вызывать в реалтайме.
Опять же, ты не сказал какая у тебя задача. Если упражняешься — изучай, если в раочий проект я бы просто не тащил весь буст ради такой фигни.
Опять же, ты не сказал какая у тебя задача. Если упражняешься — изучай, если в раочий проект я бы просто не тащил весь буст ради такой фигни.Упражняюсь ). Ну и еще пишу проги, которые кроме меня никто исправлять не будет. В рабочие проекты уже давно забил тащить что-либо стороннее - обычно начальство бывает против.
Да ладно, спирит - это сила. Я вот на нем на работе наш внутренний скриптовый язык написал. Если еще с фениксом разобраться, то вообще получается офигенно
В рабочие проекты уже давно забил тащить что-либо стороннее - обычно начальство бывает против.У меня, кстати, начальство тоже было против спирита - хотел на яке написать. А я за выходные дома написал некоторую работающую основу интерпретатора и мне разрешили на спирите его наваять
У меня, кстати, начальство тоже было против спирита - хотел на яке написать. А я за выходные дома написал некоторую работающую основу интерпретатора и мне разрешили на спирите его наваять.Эх, молодость, молодость... Ты знаешь, я тоже когда-то допустил такую ошибку.
Надо на Яке писать, спирит тормозной. Если скрипты мелкие и их мало — работать будет, а если много и большие — работать не будет.
Топикстартеру — изучи, как упражнение по плюсам Спирит зачОтный.
если писать серьезно что-либо на спирите, то это во-первых будет собираться полгода, во-вторых информативность ошибок, которые будут возникать во время компиляции (да если еще и феникс примешать) - практически нулевая и вообще это велосипед, вобщем ничего хорошего, кроме как хорошего примера силы языка, в спирите нету
пианист в этом топеге впервые на моей памяти не поленился спокойно, без нервов выдвинуть свои аргументы. =)
Эх, молодость, молодость... Ты знаешь, я тоже когда-то допустил такую ошибку.Здесь этой ошибки я не совершил: мой мега-язык предназначен для получения и обработки инфы по сети, поэтому какой-бы тормозной спирит не был, по сравнению с сетевыми функциями он просто летает.
Надо на Яке писать, спирит тормозной. Если скрипты мелкие и их мало — работать будет, а если много и большие — работать не будет.
какой-бы тормозной спирит не был, по сравнению с сетевыми функциями он просто летает.Сетевый функции вообще не тормозят, они в ожидании ждут. Если закачивать и обрабатывать много, то процессор можно занять очень сильно. А закачивать можно в несколько потоков/процессов.
Ты сейчас напишешь, а кто исправить сможет? Синтаксис в стиле того как описывают языки специалисты по автоматам — это хорошо, но в плюсах это тебе что даст?а что, EBNF - это нынче для людей большая сложность?
Вообще, у меня к spirit+phoenix была только одна проблема: при более-менее сложной грамматике MSVC 8.0 стала с internal compiler error вылетать )
Вообще, у меня к spirit+phoenix была только одна проблема: при более-менее сложной грамматике MSVC 8.0 стала с internal compiler error вылетать )Не знаю, у гнушного компилятора таких проблем не наблюдалось.
По поводу спирита — использовать можно, но смысла нет. Можно просто написать на Яке.
По поводу спирита — использовать можно, но смысла нет. Можно просто написать на Яке.Чтобы просто использовать YACC, его надо сначала скачать и поставить, потом Custom build step настроить и т.д. А для Спирита ничего не нужно (предполагаем, что Буст и так у всех есть)
предполагаем, что Буст и так у всех естьУ меня нет, нахуй отрубил.
В чем проблема поставить Як — не вижу, одна команда.
Custom build stepКстати, а что это такое?
Як очень легко прописывается в cmake-файлах. Тупо указываешь PREBUILD COMMAND (как-то так)...
ну у нас тут MSVS
Ты разбираешься с Phoenix Microsoft'а?
в смысле? Phoenix из буста, просто среда разработки MS
ну у нас тут MSVScmake отлично работает с микрософтовской студией.
и как это работает?
и как это работает?отлично. cmake под все платформы есть.
это я уже понял. Вопрос, как именно она в MSVS интегрируется. Как я понял, там есть возможность генерить MS-овские проектные файлы и т.д. - это вся интеграция или там что-то ещё есть?
(предполагаем, что Буст и так у всех есть)жжошь
INCLUDE_EXTERNAL_MSPROJECT: Include an external Microsoft project file in a workspace.
это обычно не интересно, хочется наоборот из msvs зацепить make, т.к. в msvs работать удобнее, чем в make-е
атилла сказал, что там есть такая возможность и спросил, какие есть еще.
я ему и ответил, какие есть еще.
насчет возможности атиллы я не в курсе, к сожалению.
а в make мне тоже неудобно. зато удобно в cmake. =)
В VS есть MsBuild, я сам ему внутрь не лазил, но читал мануали и даже смотрел какое-то видео, там всё клёво и мощно.
ещё есть NAnt и вроде как есть XSLT-шки, которые преобразуют проекты MSVS в файлы NAnt...
мне бы хотелось иметь плагин под VS, позволяющий средствами VS редактировать проекты Cmake. Потому что есть реальная потребность собирать под разными платформами и поддерживать одновременно VS-овский solution и makefile'ы геморно
возможностью они позволяют делать из одного другое в обоих направлениях.
> мне бы хотелось иметь плагин под VS, позволяющий средствами VS редактировать проекты Cmake
это я себе слабо представляю. =)
кому надо этим заниматься?
да, и я не знаю, нафига, пользуясь cmake-ом, редактировать makefile-ы?
да, и я не знаю, нафига, пользуясь cmake-ом, редактировать makefile-ы?я наверное непонятно выразился. Сейчас мы cmake'ом не пользуемся. Если бы можно было управлять проектами cmake из Студии, то тогда всей этой мутотенью с makefile'ами можно было бы не заниматься. А так - приходится.
cmake != autotools.
управлять можно так: пишешь в своей студии проект, потом для сборки
в альтернативных ОС делаешь из CMakeLists.txt INCLUDE_..._MSPROJECT(...) и собираешь.
никаких makefile-ов править не надо.
мб, я не совсем точно описал процесс INCLUDE-а, т.к. никогда его не делал. =)
btw, это существенно удобнее, чем autotools.
управлять можно так: пишешь в своей студии проект, потом для сборки
в альтернативных ОС делаешь из CMakeLists.txt INCLUDE_..._MSPROJECT(...) и собираешь.
никаких makefile-ов править не надо.
мб, я не совсем точно описал процесс INCLUDE-а, т.к. никогда его не делал. =)
btw, это существенно удобнее, чем autotools.
есть ещё проблема... под виндой всё это в конце собирается WIX'ом в MSI-инсталлятор. Под линухом это должон быть деб-пакет... Вот если бы...
ну ты еще дебы из студии делать захоти.
за cmake всем спасибо, предложу нашим посмотреть
есть ещё проблема... под виндой всё это в конце собирается WIX'ом в MSI-инсталлятор. Под линухом это должон быть деб-пакет... Вот если бы...Аффтар, пиши ТОЛЬКО один CMakeLists.txt. Писать цмейки существенно проще, чем делать что-то в визивиге студии. В конце-концов, откажись от студии, используй только их компилятор.
В конце-концов, откажись от студии, используй только их компилятор.Нет, на это я пойтить не могу
Может мне ещё своё багло в gdb отлаживать?
Может мне ещё своё багло в gdb отлаживать?Ну я всегда знал, что в студии обычно пишут дроч-проекты охуенных масштабов без какой-то перспективы на работоспособность, но чтобы так открыто признавать, что то что ты пишешь — багло...
Надо на Яке писать, спирит тормозной. Если скрипты мелкие и их мало — работать будет, а если много и большие — работать не будет.В релизе spirit проигрывает flex+bison примерно в 1.5 раза по времени выполнения.
Кстати, как называются unicode порты для этих парсер-генераторов? Желательно такие, чтобы можно было переключать unicode/ansi из командной строки.
Кстати, как называются unicode порты для этих парсер-генераторов? Желательно такие, чтобы можно было переключать unicode/ansi из командной строки.называется boost::iostreams
называется boost::iostreamsОчень интересно, как эта библиотека поможет изменить генерируемую для char (0-255) таблицу парсера?
какой параметр шаблона указал - такой и парсер получится
называется boost::iostreamsпиздец. вот что запретил бы — так это иостримы.
обратись в ISO
обратись в ISOзачем? я просто их не использую
в смысле?Где параметр шаблона? Речь идёт про flex/bison, у первого скелет вообще вкомпилирован и содержит char* в виде текста.
какой параметр шаблона указал - такой и парсер получится
вы спрашивали: "Кстати, как называются unicode порты для этих парсер-генераторов?", для "этих" - вот я вам и ответил про то, что знаю
вы спрашивали: "Кстати, как называются unicode порты для этих парсер-генераторов?", для "этих" - вот я вам и ответил про то, что знаюПод "этими" я, очевидно, имел в виду те, которые не написаны на шаблонах. Прежде чем отвечать и показывать какой ты умный, надо подумать над вопросом.
я, очевидно, имел в видусовершенно не очевидно. Под "этими" обычно понимают всё только что перечисленное.
Кстати, как называются unicode порты для этих парсер-генераторов?под "unicode" понимается что-то отличное от UTF-8, я полагаю?
В мире Windows под "unicode" понимается UTF-16LE, и ни что иное. Меня это тоже вначале в тупик поставило )
В мире Windows под "unicode" понимается UTF-16LE, и ни что иное. Меня это тоже вначале в тупик поставило )Да, мы такие. Привик считать, что unicode помещается в wchar_t.
В мире Windows под "unicode" понимается UTF-16LE, и ни что иное. Меня это тоже вначале в тупик поставило )а не UCS-2LE?
UTF-8 действительно прекрасно побайтно парсится, диапазоны первого байта и последующих не пересекаются.
Оставить комментарий
7489098
помогите найти литературу по библиотеке boost::spirit не на английском! Такую, чтобы ботать можно было. Может, кто знает книгу какую с непаленым названием? В интернете нашел только прилагаемую к библиотеке документацию на английском.