Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Permutation Parser (a ^ b)

Boost , Spirit 2.5.2 , Parser Operators

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext
Description

Оператор перестановки<a ^b>соответствует одному или нескольким операндам (<a>,<b>и т.д.) в любом порядке:

a ^ b ^ ...

Опранды являются элементами в наборе перестановок. Каждый элемент в наборе перестановок может происходить максимум один раз, но не все элементы данного набора должны присутствовать. Обратите внимание, что по этому определению оператор перестановок не ограничивается строгими перестановками.

Например:

char_('a') ^ 'b' ^ 'c'

матчи:

"a", "ab", "abc", "cba", "bca" ... etc.
Header
// forwards to <boost/spirit/home/qi/operator/permutation.hpp>
#include <boost/spirit/include/qi_permutation.hpp>

См. такжеВключите структуру.

Model of

Notation

a, b

<Parser>

Expression Semantics

Семантика выражения определяется только там, где она отличается от или не определена в<NaryParser>.

выражение

Семантика

<a^ b>

Матч<a>или<b>в любом порядке. Каждый операнд может соответствовать нулю или одному разу, если по меньшей мере один операнд соответствует.

Attributes

См.Составные обозначения атрибутов.

выражение

атрибут

<a^ b>

<
a:A,b:B-->(a^b):tuple<optional<A>,optional<B>>
a:A,b:Unused-->(a^b):optional<A>
a:Unused,b:B-->(a^b):optional<B>
a:Unused,b:Unused-->(a^b):Unused
>

Complexity

Общая сложность парсера перестановок определяется суммой сложностей его элементов, s, умноженной на log s. Сложность самого парсера перестановок — O(N log N), где N — число элементов.

Example
[Note]Note

Тестовый ремень для примера (примеров) ниже представлен в разделеОсновные примеры.

Некоторые используют декларации:

using boost::spirit::ascii::char_;

Строка, содержащая коды ДНК (ACTG)

test_parser("ACTGGCTAGACT", *(char_('A') ^ 'C' ^ 'T' ^ 'G'));


PrevUpHomeNext

Статья Permutation Parser (a ^ b) раздела Spirit 2.5.2 Parser Operators может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Parser Operators ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 22:34:18/0.0066730976104736/0