![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Difference Parser (a - b)Boost , Spirit 2.5.2 , Parser Operators
|
Выражение |
Семантика |
---|---|
a -
b | Парс |
См. Сложная нотация атрибутов.
Выражение |
Атрибут |
---|---|
a -
b |
a: A, b: B --> (a - b): A a: Unused, b: B --> (a - b): Unused
|
Сложность разностного парсера определяется суммой сложностей обоих операндов.
![]() | Note |
---|---|
Испытательный ремень для примера (примеров) ниже представлен в разделе Основные примеры. |
Некоторые используют декларации:
using boost::spirit::ascii::char_;
Комментарий в стиле C/C++:
test_parser("/*A Comment*/", "/*" >> *(char_ - "*/") >> "*/");
[8] В отличие от классического Spirit, с Spirit2 выражение всегда будет неудачным, если RHS является успешным матчем, независимо от того, соответствует ли RHS меньшему количеству символов. Например, правило lit("полицейский")-"полиция"
всегда не будет соответствовать. Spirit2 не подсчитывает совпадающие показатели при разборе, и нет надежного и быстрого способа проверить, соответствует ли LHS больше, чем RHS.
Статья Difference Parser (a - b) раздела Spirit 2.5.2 Parser Operators может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: Parser Operators ::
реклама |