Как стать автором
Обновить
1
0
sraider @sraider

Пользователь

Отправить сообщение

Практическое использование Boost.Spirit

Время на прочтение7 мин
Количество просмотров32K
Я заметил, у разработчиков совершенно полярное отношение к библиотеке Boost.Spirit: либо она им жутко не нравится, либо они фанатеют от нее. Конечно, описывать грамматику на C++ – занятие на любителя. Таким любителем оказался и я, когда познакомился со Спиритом. Хочу показать, как с помощью Спирита можно довольно просто решать повседневные задачи разбора текста.

Простая задача – как два пальца


На Спирите очень удобно писать маленькие парсеры «не отходя от кассы» – прямо в C++ коде. Вот например, как вы поступите если нужно распарсить строку вида «число-число», которая задает диапазон страниц для печати? На Спирите – одна строчка:

bool ok = parse(First, Last, (uint_ >> L"-" >> uint_), MinMax) && (First == Last);


Посложнее…


Более того – можно ненамного сложнее создавать и парсеры побольше. В качестве примера рассмотрю парсер мини-языка, который я делал для API Яндекс.Бара. Задача была такова: для облегчения загрузки плагинов в баре используется XML, который довольно избыточный сам по себе. Но зато XML легче грузить из JavaScript-а, чем парсить произвольный формат (на JS пишутся расширения под FireFox, в том числе и Я.Бар).

Итак, что мне было нужно – имея на входе обычную инфиксную нотацию:
Читать дальше →
Всего голосов 53: ↑48 и ↓5+43
Комментарии31

VeriSign предлагает перебираться в Штаты

Время на прочтение1 мин
Количество просмотров444
Пытался купить у VeriSign-а SSL сертификат — не тут-то было. После заполнения многочисленных полей обо мне и моей компании, я стабильно получаю:

Correct the following error(s): VeriSign SSL Certificate Enrollment is temporarily unavailable. Please try again later.

Техподдержка ответила мне на это следующее:

Hi

This is a glitch in our system that our Engineers are currently working on, but have not resolved.

As a workaround, you must select United States (US) with a valid State to complete the enrollment. The name of the company and the rest of this details should be correct and only the country and the state must be of US origin.

Once the enrollment is complete, please contact Customer Support at support@verisign.com

If you have additional questions, please visit our world class Support web site.
You will find a range of support tools to help you including live chat assistance:

SSL Support — www.verisign.com/sslsupport
Code Signing Support — www.verisign.com/codesigningsupport

Thank you,

Michael Pedersen

VeriSign Customer Support
www.verisign.com/support

Я был удивлен. Не фамилией ответившего, нет. А вариантом обхода бага. Я, честное слово, всегда считал что в компаниях уровня VeriSign, которые занимаются безопасностью, все работает как часы. Даже в случае такого бага я ожидал, что мне ответят «спасибо за информацию, проблема решена». Но чтобы вот так — сразу в Штаты… Вобщем, как оказалось — не боги горшки обжигают.
Всего голосов 10: ↑9 и ↓1+8
Комментарии4

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность