Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Парсер на Boost::Spirit 2 - покритикуйте код / 6 сообщений из 6, страница 1 из 1
02.08.2014, 13:26
    #38711351
TimeCoder
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Парсер на Boost::Spirit 2 - покритикуйте код
Приветы,
немного сталкивался с первым Spirit'ом, а при переходе на второй возникли вопросы. Кто работал со Spirit - гляньте, пожалуйста, код. Есть ощущение, что часть там можно убрать, и будет работать. Долго парился с пробелами (чтобы с ними тоже работало).

Вот код грамматики: https://github.com/TimeCoder/Solver/blob/master/src/Solver/RulesGrammar.h

Пример строки, которую надо распарсить:
"Факт1, Факт2 -> Факт3", "Факт3, Факт4 -> Факт5", "Факт5| Факт6 -> Факт7"

Можно ли уменьшить количество qi::raw, qi::lexeme, qi::space, ну и вообще, что можно в коде улучшить?
...
Рейтинг: 0 / 0
02.08.2014, 17:36
    #38711417
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Парсер на Boost::Spirit 2 - покритикуйте код
TimeCoder,

Это ВЕСЬ код, который ты бы хотел обсудить ?
...
Рейтинг: 0 / 0
02.08.2014, 17:43
    #38711420
TimeCoder
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Парсер на Boost::Spirit 2 - покритикуйте код
MasterZiv,
там можно на уровень выше подняться и увидеть другие файлы. Если захотите по ним что-то сказать - Бога ради, буду только благодарен. Просто в первую очередь интересует именно грамматика, работа со спиритом.
...
Рейтинг: 0 / 0
03.08.2014, 00:51
    #38711522
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Парсер на Boost::Spirit 2 - покритикуйте код
TimeCoder,

Я бы никогда не взялся писать более менее большой парсер на спирите.
Слишком много синтаксического мусора.
Генераторы парсеров не зря придумали.
...
Рейтинг: 0 / 0
03.08.2014, 10:56
    #38711568
Вася Уткин
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Парсер на Boost::Spirit 2 - покритикуйте код
Anatoly MoskovskyTimeCoder,

Я бы никогда не взялся писать более менее большой парсер на спирите.
Слишком много синтаксического мусора.
Генераторы парсеров не зря придумали.
1. Ну это только на уровне лексики/синтаксиса много мусора.
2. На уровне семантики уже намного ближе к обычному РБНФ.
Поэтому 1 и 2 лучше разделять.
...
Рейтинг: 0 / 0
03.08.2014, 13:38
    #38711591
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Парсер на Boost::Spirit 2 - покритикуйте код
Вася Уткин,

Если бы все дело было только в семантике, то все бы уже много десятилетий писали на лиспе :)
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Парсер на Boost::Spirit 2 - покритикуйте код / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]