blob: 2ac5dfab8ff1adb0becd3ed2e92a96baf2e10910 [file] [log] [blame]
// 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_))