/usr/include/boost/metaparse/v1
NameSizeModeActions
cpp11/-0755rm
cpp14/-0755rm
cpp98/-0755rm
error/-0755rm
fwd/-0755rm
impl/-0755rm
util/-0755rm
accept.hpp8170644editdlrm
accept_tag.hpp10670644editdlrm
accept_when.hpp14340644editdlrm
alphanum.hpp5690644editdlrm
always.hpp12700644editdlrm
always_c.hpp5660644editdlrm
build_parser.hpp18440644editdlrm
change_error_message.hpp9440644editdlrm
debug_parsing_error.hpp28480644editdlrm
define_error.hpp6210644editdlrm
digit.hpp8280644editdlrm
digit_val.hpp6050644editdlrm
empty.hpp9850644editdlrm
entire_input.hpp8370644editdlrm
except.hpp9220644editdlrm
fail.hpp6140644editdlrm
fail_at_first_char_expected.hpp15780644editdlrm
fail_tag.hpp8880644editdlrm
first_of.hpp5000644editdlrm
foldl.hpp18460644editdlrm
foldl1.hpp8420644editdlrm
foldl_reject_incomplete.hpp23080644editdlrm
foldl_reject_incomplete1.hpp9500644editdlrm
foldl_reject_incomplete_start_with_parser.hpp15970644editdlrm
foldl_start_with_parser.hpp12240644editdlrm
foldr.hpp6300644editdlrm
foldr1.hpp8460644editdlrm
foldr_reject_incomplete.hpp8790644editdlrm
foldr_reject_incomplete1.hpp9540644editdlrm
foldr_start_with_parser.hpp22040644editdlrm
get_col.hpp6200644editdlrm
get_line.hpp6260644editdlrm
get_message.hpp6440644editdlrm
get_position.hpp6500644editdlrm
get_prev_char.hpp6560644editdlrm
get_remaining.hpp6560644editdlrm
get_result.hpp6450644editdlrm
grammar.hpp110070644editdlrm
if_.hpp9030644editdlrm
int_.hpp5980644editdlrm
is_error.hpp9190644editdlrm
iterate.hpp5330644editdlrm
iterate_c.hpp5880644editdlrm
keyword.hpp23070644editdlrm
last_of.hpp4960644editdlrm
letter.hpp6950644editdlrm
lit.hpp5010644editdlrm
lit_c.hpp8690644editdlrm
look_ahead.hpp11790644editdlrm
middle_of.hpp11380644editdlrm
next_char.hpp6920644editdlrm
next_line.hpp6920644editdlrm
nth_of.hpp4920644editdlrm
nth_of_c.hpp5000644editdlrm
one_char.hpp18520644editdlrm
one_char_except.hpp5280644editdlrm
one_char_except_c.hpp5360644editdlrm
one_of.hpp4920644editdlrm
one_of_c.hpp5850644editdlrm
optional.hpp9300644editdlrm
range.hpp8160644editdlrm
range_c.hpp7940644editdlrm
reject.hpp7130644editdlrm
repeated.hpp6320644editdlrm
repeated1.hpp6510644editdlrm
repeated_one_of.hpp5280644editdlrm
repeated_one_of1.hpp5320644editdlrm
repeated_reject_incomplete.hpp7290644editdlrm
repeated_reject_incomplete1.hpp7340644editdlrm
return_.hpp6920644editdlrm
sequence.hpp5000644editdlrm
sequence_apply.hpp21460644editdlrm
source_position.hpp37040644editdlrm
source_position_tag.hpp18940644editdlrm
space.hpp7090644editdlrm
spaces.hpp5200644editdlrm
start.hpp6570644editdlrm
string.hpp4920644editdlrm
string_tag.hpp4710644editdlrm
swap.hpp5610644editdlrm
token.hpp6320644editdlrm
transform.hpp13300644editdlrm
transform_error.hpp9610644editdlrm
transform_error_message.hpp12790644editdlrm
unless_error.hpp6790644editdlrm
Edit: /usr/include/boost/metaparse/v1/grammar.hpp (11007B)
#ifndef BOOST_METAPARSE_V1_GRAMMAR_HPP #define BOOST_METAPARSE_V1_GRAMMAR_HPP // Copyright Abel Sinkovics (abel@sinkovics.hu) 2012. // 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) #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include /* * The grammar * * rule_definition ::= name_token define_token expression * expression ::= seq_expression (or_token seq_expression)* * seq_expression ::= repeated_expression+ * repeated_expression ::= name_expression (repeated_token | repeated1_token)* * name_expression ::= char_token | name_token | bracket_expression * bracket_expression ::= open_bracket_token expression close_bracket_token */ namespace boost { namespace metaparse { namespace v1 { namespace grammar_util { template struct repeated_apply_impl { typedef repeated_apply_impl type; template struct apply : repeated::type> {}; }; template struct repeated_apply_impl<'+', FState> { typedef repeated_apply_impl type; template struct apply : repeated1::type> {}; }; struct build_repeated { typedef build_repeated type; template struct apply : repeated_apply_impl {}; }; struct build_sequence { typedef build_sequence type; template struct apply_impl { typedef apply_impl type; template struct apply : sequence< typename FState::template apply::type, typename FP::template apply::type > {}; }; template struct apply : apply_impl {}; }; struct build_selection { typedef build_selection type; template struct apply_impl { typedef apply_impl type; template struct apply : one_of< typename FState::template apply::type, typename FP::template apply::type > {}; }; template struct apply : apply_impl {}; }; template struct get_parser { typedef typename boost::mpl::at::type ::template apply p; template struct impl : transform {}; typedef typename boost::mpl::eval_if< typename boost::mpl::has_key::type, impl >, p >::type type; }; struct build_name { typedef build_name type; template struct apply_impl { typedef apply_impl type; template struct apply : get_parser {}; }; template struct apply : apply_impl {}; }; struct build_char { typedef build_char type; template struct apply_impl { typedef apply_impl type; template struct apply : lit {}; }; template struct apply : apply_impl {}; }; typedef token > repeated_token; typedef token > repeated1_token; typedef token > or_token; typedef token > open_bracket_token; typedef token > close_bracket_token; typedef token > > define_token; typedef middle_of< lit_c<'\''>, one_of< last_of< lit_c<'\\'>, one_of< always, boost::mpl::char_<'\n'> >, always, boost::mpl::char_<'\r'> >, always, boost::mpl::char_<'\t'> >, lit_c<'\\'>, lit_c<'\''> > >, one_char_except_c<'\''> >, token > > char_token; typedef token< foldr1< one_of >, string<>, impl::front_inserter > > name_token; struct expression; typedef middle_of bracket_expression; typedef one_of< transform, transform, bracket_expression > name_expression; typedef foldl_start_with_parser< one_of, name_expression, build_repeated > repeated_expression; typedef foldl_start_with_parser< repeated_expression, repeated_expression, build_sequence > seq_expression; struct expression : foldl_start_with_parser< last_of, seq_expression, build_selection > {}; typedef sequence rule_definition; typedef build_parser > parser_parser; template struct build_native_parser { typedef build_native_parser type; template struct apply { typedef P type; }; }; template struct build_parsed_parser { typedef typename parser_parser::apply::type p; typedef typename boost::mpl::front

::type name; typedef typename boost::mpl::back

::type exp; struct the_parser { typedef the_parser type; template struct apply : exp::template apply {}; }; typedef boost::mpl::pair type; }; typedef build_parser name_parser; template struct rebuild : name_parser::template apply {}; struct no_action; template struct add_rule; template struct add_import; template struct grammar_builder { typedef grammar_builder type; typedef Rules rules; typedef Actions actions; // Make it a parser template struct apply : get_parser< grammar_builder, typename rebuild::type >::type::template apply {}; template struct import : add_import::type, P> {}; template struct rule : add_rule, Action> {}; }; template struct add_rule, P, no_action> : grammar_builder< Start, typename boost::mpl::insert::type, Actions > {}; template struct add_rule, P, F> : grammar_builder< Start, typename boost::mpl::insert::type, typename boost::mpl::insert< Actions, boost::mpl::pair< typename P::name, typename boost::mpl::lambda::type > > ::type > {}; template struct add_import, Name, P> : grammar_builder< Start, typename boost::mpl::insert< Rules, boost::mpl::pair > >::type, Actions > {}; } template > struct grammar : grammar_util::grammar_builder< Start, boost::mpl::map<>, boost::mpl::map<> > {}; } } } #endif