3 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
4 <title>Parser Operators</title>
5 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
6 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
7 <link rel="home" href="../../../../index.html" title="Spirit 2.5.2">
8 <link rel="up" href="../qi_parsers.html" title="Qi Parsers">
9 <link rel="prev" href="directive.html" title="Parser Directives">
10 <link rel="next" href="action.html" title="Parser Semantic Actions">
12 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
13 <table cellpadding="2" width="100%"><tr>
14 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
15 <td align="center"><a href="../../../../../../../../index.html">Home</a></td>
16 <td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
17 <td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
18 <td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
19 <td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
22 <div class="spirit-nav">
23 <a accesskey="p" href="directive.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../qi_parsers.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="action.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
26 <div class="titlepage"><div><div><h5 class="title">
27 <a name="spirit.qi.quick_reference.qi_parsers.operator"></a><a class="link" href="operator.html" title="Parser Operators">Parser
29 </h5></div></div></div>
30 <div class="informaltable"><table class="table">
57 <a class="link" href="../../reference/operator/not_predicate.html" title="Not-Predicate Parser (!a)"><code class="computeroutput"><span class="special">!</span><span class="identifier">a</span></code></a>
62 <code class="computeroutput"><span class="identifier">Unused</span></code>
67 Not predicate. If the predicate <code class="computeroutput"><span class="identifier">a</span></code>
68 matches, fail. Otherwise, return a zero length match.
75 <a class="link" href="../../reference/operator/and_predicate.html" title="And-Predicate Parser (&a)"><code class="computeroutput"><span class="special">&</span><span class="identifier">a</span></code></a>
80 <code class="computeroutput"><span class="identifier">Unused</span></code>
85 And predicate. If the predicate <code class="computeroutput"><span class="identifier">a</span></code>
86 matches, return a zero length match. Otherwise, fail.
93 <a class="link" href="../../reference/operator/optional.html" title="Optional Parser (-a)"><code class="computeroutput"><span class="special">-</span><span class="identifier">a</span></code></a>
98 <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">A</span><span class="special">></span></code>
103 Optional. Parse <code class="computeroutput"><span class="identifier">a</span></code>
111 <a class="link" href="../../reference/operator/kleene.html" title="Kleene Parser (*a)"><code class="computeroutput"><span class="special">*</span><span class="identifier">a</span></code></a>
116 <code class="computeroutput"><span class="identifier">vector</span><span class="special"><</span><span class="identifier">A</span><span class="special">></span></code>
121 Kleene. Parse <code class="computeroutput"><span class="identifier">a</span></code>
129 <a class="link" href="../../reference/operator/plus.html" title="Plus Parser (+a)"><code class="computeroutput"><span class="special">+</span><span class="identifier">a</span></code></a>
134 <code class="computeroutput"><span class="identifier">vector</span><span class="special"><</span><span class="identifier">A</span><span class="special">></span></code>
139 Plus. Parse <code class="computeroutput"><span class="identifier">a</span></code>
147 <a class="link" href="../../reference/operator/alternative.html" title="Alternative Parser (a | b)"><code class="computeroutput"><span class="identifier">a</span> <span class="special">|</span>
148 <span class="identifier">b</span></code></a>
153 <code class="computeroutput"><span class="identifier">variant</span><span class="special"><</span><span class="identifier">A</span><span class="special">,</span>
154 <span class="identifier">B</span><span class="special">></span></code>
159 Alternative. Parse <code class="computeroutput"><span class="identifier">a</span></code>
160 or <code class="computeroutput"><span class="identifier">b</span></code>
167 <a class="link" href="../../reference/operator/sequence.html" title="Sequence Parser (a >> b)"><code class="computeroutput"><span class="identifier">a</span> <span class="special">>></span>
168 <span class="identifier">b</span></code></a>
173 <code class="computeroutput"><span class="identifier">tuple</span><span class="special"><</span><span class="identifier">A</span><span class="special">,</span>
174 <span class="identifier">B</span><span class="special">></span></code>
179 Sequence. Parse <code class="computeroutput"><span class="identifier">a</span></code>
180 followed by <code class="computeroutput"><span class="identifier">b</span></code>
187 <a class="link" href="../../reference/operator/expect.html" title="Expectation Parser (a > b)"><code class="computeroutput"><span class="identifier">a</span> <span class="special">></span>
188 <span class="identifier">b</span></code></a>
193 <code class="computeroutput"><span class="identifier">tuple</span><span class="special"><</span><span class="identifier">A</span><span class="special">,</span>
194 <span class="identifier">B</span><span class="special">></span></code>
199 Expect. Parse <code class="computeroutput"><span class="identifier">a</span></code>
200 followed by <code class="computeroutput"><span class="identifier">b</span></code>.
201 <code class="computeroutput"><span class="identifier">b</span></code> is expected
202 to match when <code class="computeroutput"><span class="identifier">a</span></code>
203 matches, otherwise, an <code class="computeroutput"><span class="identifier">expectation_failure</span></code>
211 <a class="link" href="../../reference/operator/difference.html" title="Difference Parser (a - b)"><code class="computeroutput"><span class="identifier">a</span> <span class="special">-</span>
212 <span class="identifier">b</span></code></a>
217 <code class="computeroutput"><span class="identifier">A</span></code>
222 Difference. Parse <code class="computeroutput"><span class="identifier">a</span></code>
223 but not <code class="computeroutput"><span class="identifier">b</span></code>
230 <a class="link" href="../../reference/operator/sequential_or.html" title="Sequential Or Parser (a || b)"><code class="computeroutput"><span class="identifier">a</span> <span class="special">||</span>
231 <span class="identifier">b</span></code></a>
236 <code class="computeroutput"><span class="identifier">tuple</span><span class="special"><</span></code>
237 <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">A</span><span class="special">>,</span></code>
238 <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">B</span><span class="special">></span>
239 <span class="special">></span></code>
244 Sequential Or. Parse <code class="computeroutput"><span class="identifier">a</span></code>
245 or <code class="computeroutput"><span class="identifier">b</span></code> or <code class="computeroutput"><span class="identifier">a</span></code> followed by <code class="computeroutput"><span class="identifier">b</span></code>
252 <a class="link" href="../../reference/operator/list.html" title="List Parser (a % b)"><code class="computeroutput"><span class="identifier">a</span> <span class="special">%</span>
253 <span class="identifier">b</span></code></a>
258 <code class="computeroutput"><span class="identifier">vector</span><span class="special"><</span><span class="identifier">A</span><span class="special">></span></code>
263 List. Parse <code class="computeroutput"><span class="identifier">a</span></code>
264 delimited <code class="computeroutput"><span class="identifier">b</span></code>
272 <a class="link" href="../../reference/operator/permutation.html" title="Permutation Parser (a ^ b)"><code class="computeroutput"><span class="identifier">a</span> <span class="special">^</span>
273 <span class="identifier">b</span></code></a>
278 <code class="computeroutput"><span class="identifier">tuple</span><span class="special"><</span></code>
279 <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">A</span><span class="special">>,</span></code>
280 <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">B</span><span class="special">></span>
281 <span class="special">></span></code>
286 Permutation. Parse <code class="computeroutput"><span class="identifier">a</span></code>
287 or <code class="computeroutput"><span class="identifier">b</span></code> or <code class="computeroutput"><span class="identifier">a</span></code> followed by <code class="computeroutput"><span class="identifier">b</span></code> or <code class="computeroutput"><span class="identifier">b</span></code>
288 followed by <code class="computeroutput"><span class="identifier">a</span></code>.
295 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
296 <td align="left"></td>
297 <td align="right"><div class="copyright-footer">Copyright © 2001-2011 Joel de Guzman, Hartmut Kaiser<p>
298 Distributed under the Boost Software License, Version 1.0. (See accompanying
299 file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
304 <div class="spirit-nav">
305 <a accesskey="p" href="directive.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../qi_parsers.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="action.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>