| // Copyright (c) 2001-2010 Hartmut Kaiser |
| // |
| // Distributed under the Boost Software License, Version 1.0. (See accompanying |
| // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) |
| |
| // parser primitives |
| char_ |
| char_("abc") |
| char_('a') |
| char_('a', 'b') |
| 'a' |
| "abc" |
| |
| // sequences |
| char_ >> char_ |
| char_ >> char_('a') >> char_('a', 'b') |
| (char_ >> char_('a')) >> char_('a', 'b') |
| char_ >> (char_('a') >> char_('a', 'b')) |
| char_ >> (char_('a')) >> char_('a', 'b') |
| |
| // alternatives and sequences |
| char_ | char_ |
| char_ | char_('a') >> char_('a', 'b') |
| (char_ | char_('a')) | char_('a', 'b') |
| char_ >> (char_('a') | char_('a', 'b')) |
| char_ >> char_('a') | char_('a', 'b') |
| (char_ >> char_('a')) | char_('a', 'b') |
| |
| // unary operators |
| *double_ |
| +*double_ |
| +long_ |
| !+long_ |
| &int_ >> double_ |
| !int_ >> *double_ |
| char_ >> *(',' >> char_) |
| |
| // directives |
| lexeme[*double_] |
| |
| |
| |