annotate DEPENDENCIES/generic/include/boost/spirit/home/x3/auxiliary/eps.hpp @ 118:770eb830ec19 emscripten

Typo fix
author Chris Cannam
date Wed, 18 May 2016 16:14:08 +0100
parents f46d142149f5
children
rev   line source
Chris@102 1 /*=============================================================================
Chris@102 2 Copyright (c) 2001-2014 Joel de Guzman
Chris@102 3
Chris@102 4 Distributed under the Boost Software License, Version 1.0. (See accompanying
Chris@102 5 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Chris@102 6 ==============================================================================*/
Chris@102 7 #if !defined(BOOST_SPIRIT_X3_EPS_MARCH_23_2007_0454PM)
Chris@102 8 #define BOOST_SPIRIT_X3_EPS_MARCH_23_2007_0454PM
Chris@102 9
Chris@102 10 #if defined(_MSC_VER)
Chris@102 11 #pragma once
Chris@102 12 #endif
Chris@102 13
Chris@102 14 #include <boost/spirit/home/x3/core/skip_over.hpp>
Chris@102 15 #include <boost/spirit/home/x3/core/parser.hpp>
Chris@102 16 #include <boost/spirit/home/x3/support/unused.hpp>
Chris@102 17
Chris@102 18 namespace boost { namespace spirit { namespace x3
Chris@102 19 {
Chris@102 20 struct rule_context_tag;
Chris@102 21
Chris@102 22 struct semantic_predicate : parser<semantic_predicate>
Chris@102 23 {
Chris@102 24 typedef unused_type attribute_type;
Chris@102 25 static bool const has_attribute = false;
Chris@102 26
Chris@102 27 semantic_predicate(bool predicate)
Chris@102 28 : predicate(predicate) {}
Chris@102 29
Chris@102 30 template <typename Iterator, typename Context, typename Attribute>
Chris@102 31 bool parse(Iterator& first, Iterator const& last
Chris@102 32 , Context const& context, unused_type, Attribute&) const
Chris@102 33 {
Chris@102 34 x3::skip_over(first, last, context);
Chris@102 35 return predicate;
Chris@102 36 }
Chris@102 37
Chris@102 38 bool predicate;
Chris@102 39 };
Chris@102 40
Chris@102 41 template <typename F>
Chris@102 42 struct lazy_semantic_predicate : parser<lazy_semantic_predicate<F>>
Chris@102 43 {
Chris@102 44 typedef unused_type attribute_type;
Chris@102 45 static bool const has_attribute = false;
Chris@102 46
Chris@102 47 lazy_semantic_predicate(F f)
Chris@102 48 : f(f) {}
Chris@102 49
Chris@102 50 template <typename Iterator, typename Context, typename Attribute>
Chris@102 51 bool parse(Iterator& first, Iterator const& last
Chris@102 52 , Context const& context, unused_type, Attribute& attr) const
Chris@102 53 {
Chris@102 54 x3::skip_over(first, last, context);
Chris@102 55 return f(x3::get<rule_context_tag>(context));
Chris@102 56 }
Chris@102 57
Chris@102 58 F f;
Chris@102 59 };
Chris@102 60
Chris@102 61 struct eps_parser : parser<eps_parser>
Chris@102 62 {
Chris@102 63 typedef unused_type attribute_type;
Chris@102 64 static bool const has_attribute = false;
Chris@102 65
Chris@102 66 template <typename Iterator, typename Context
Chris@102 67 , typename RuleContext, typename Attribute>
Chris@102 68 bool parse(Iterator& first, Iterator const& last
Chris@102 69 , Context const& context, RuleContext&, Attribute&) const
Chris@102 70 {
Chris@102 71 x3::skip_over(first, last, context);
Chris@102 72 return true;
Chris@102 73 }
Chris@102 74
Chris@102 75 semantic_predicate
Chris@102 76 operator()(bool predicate) const
Chris@102 77 {
Chris@102 78 return semantic_predicate(predicate);
Chris@102 79 }
Chris@102 80
Chris@102 81 template <typename F>
Chris@102 82 lazy_semantic_predicate<F>
Chris@102 83 operator()(F f) const
Chris@102 84 {
Chris@102 85 return lazy_semantic_predicate<F>(f);
Chris@102 86 }
Chris@102 87 };
Chris@102 88
Chris@102 89 eps_parser const eps = eps_parser();
Chris@102 90 }}}
Chris@102 91
Chris@102 92 #endif