37 #include <boost/bind.hpp> 45 using namespace detail;
48 boost::spirit::classic::assertion<std::string> expect_eos(
"End of statement expected. Use a newline or ';' to separate statements.");
89 BOOST_SPIRIT_DEBUG_RULE(
idr );
90 BOOST_SPIRIT_DEBUG_RULE(
idlr );
91 BOOST_SPIRIT_DEBUG_RULE(
eos );
93 BOOST_SPIRIT_DEBUG_RULE(
leos );
96 BOOST_SPIRIT_DEBUG_RULE(
keyword );
98 BOOST_SPIRIT_DEBUG_RULE(
templ );
105 BOOST_SPIRIT_DEBUG_RULE(
skipper );
116 idlr = lexeme_d[alpha_p >> *
identchar][assign( lastparsedident )];
131 leos = *(space_p - eol_p) >> (eol_p | ch_p(
';') | eps_p(ch_p(
'}')));
133 chset<> t_identchar(
"a-zA-Z-_0-9/<>." );
139 std::string ident(begin, end);
rule_t notassertingeos
End Of Statement Parser.
rule_t tidentifier
recursive template def.
rule_t eos
End Of Statement Parser.
bool skipeol
Saves eol skipping state.
symbols< nil_t > keywordstable
lexeme_rule_t endofkeyword
void seenillegalidentifier(iter_t begin, iter_t end)
lexeme_rule_t lexeme_notassertingidentifier
See identifier, but in lexeme parsing mode.
rule_t type_name
See notassertingidentifier, but in lexeme parsing mode.
functor_parser< eol_skip_functor > skipper
End Of Statement Parser.
lexeme_rule_t leos
End Of Statement Parser.
lexeme_rule_t lexeme_identifier
plain 'C' identifier. Does not throw if keyword is parsed.
Due to a bug in MSVC 2005, the operator() ends up with a null reference of the skipeol member Tried s...
rule_t templ
plain 'C' identifier. Throws if keyword is parsed.
rule_t notassertingidentifier
identifier with <template> marks in it
Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute.