//  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_]
 
// calculator :-P
int_ >> *(('+' >> int_) | ('-' >> int_))



