#include <TriggerExpressionParser.h>
Public Member Functions | |
Parser () | |
Private Types | |
typedef qi::rule< Iterator, std::string(), ascii::space_type > | name_rule |
typedef qi::rule< Iterator, Evaluator *(), ascii::space_type > | rule |
typedef qi::rule< Iterator, unused_type(), ascii::space_type > | void_rule |
Private Attributes | |
rule | element |
rule | expression |
rule | operand |
rule | parenthesis |
rule | prescale |
rule | token |
name_rule | token_alca |
name_rule | token_dqm |
name_rule | token_dst |
name_rule | token_hlt |
name_rule | token_l1 |
name_rule | token_l1tech |
rule | unary |
Definition at line 24 of file TriggerExpressionParser.h.
typedef qi::rule<Iterator, std::string(), ascii::space_type> triggerExpression::Parser< Iterator >::name_rule [private] |
Definition at line 68 of file TriggerExpressionParser.h.
typedef qi::rule<Iterator, Evaluator*(), ascii::space_type> triggerExpression::Parser< Iterator >::rule [private] |
Definition at line 69 of file TriggerExpressionParser.h.
typedef qi::rule<Iterator, unused_type(), ascii::space_type> triggerExpression::Parser< Iterator >::void_rule [private] |
Definition at line 67 of file TriggerExpressionParser.h.
triggerExpression::Parser< Iterator >::Parser | ( | ) | [inline] |
Definition at line 27 of file TriggerExpressionParser.h.
References triggerExpression::Parser< Iterator >::element, triggerExpression::Parser< Iterator >::expression, triggerExpression::Parser< Iterator >::operand, triggerExpression::Parser< Iterator >::parenthesis, triggerExpression::Parser< Iterator >::prescale, triggerExpression::Parser< Iterator >::token, triggerExpression::Parser< Iterator >::token_alca, triggerExpression::Parser< Iterator >::token_dqm, triggerExpression::Parser< Iterator >::token_dst, triggerExpression::Parser< Iterator >::token_hlt, triggerExpression::Parser< Iterator >::token_l1, triggerExpression::Parser< Iterator >::token_l1tech, and triggerExpression::Parser< Iterator >::unary.
: Parser::base_type(expression) { token_hlt %= qi::raw[qi::lexeme["HLT_" >> +(qi::char_("a-zA-Z0-9_*?"))]]; token_alca %= qi::raw[qi::lexeme["AlCa_" >> +(qi::char_("a-zA-Z0-9_*?"))]]; token_dqm %= qi::raw[qi::lexeme["DQM_" >> +(qi::char_("a-zA-Z0-9_*?"))]]; token_dst %= qi::raw[qi::lexeme["DST_" >> +(qi::char_("a-zA-Z0-9_*?"))]]; token_l1 %= qi::raw[qi::lexeme["L1_" >> +(qi::char_("a-zA-Z0-9_*?"))]]; token_l1tech %= qi::raw[qi::lexeme["L1Tech_" >> +(qi::char_("a-zA-Z0-9_*?"))]]; token = ( token_hlt [qi::_val = new_<HLTReader>(qi::_1)] | token_alca [qi::_val = new_<HLTReader>(qi::_1)] | token_dqm [qi::_val = new_<HLTReader>(qi::_1)] | token_dst [qi::_val = new_<HLTReader>(qi::_1)] | token_l1 [qi::_val = new_<L1Reader>(qi::_1)] | token_l1tech [qi::_val = new_<L1TechReader>(qi::_1)] | qi::lit("TRUE") [qi::_val = new_<Constant>(true)] | qi::lit("FALSE") [qi::_val = new_<Constant>(false)] ); parenthesis %= ('(' >> expression >> ')'); element %= (token | parenthesis); prescale = (element >> '/' >> qi::uint_) [qi::_val = new_<Prescaler> (qi::_1, qi::_2)]; operand %= (prescale | element); unary = ( operand [qi::_val = qi::_1] | (qi::lit("NOT") >> operand) [qi::_val = new_<OperatorNot> (qi::_1)] ); expression = unary [qi::_val = qi::_1] >> *( (qi::lit("AND") >> unary) [qi::_val = new_<OperatorAnd> (qi::_val, qi::_1)] | (qi::lit("OR") >> unary) [qi::_val = new_<OperatorOr> (qi::_val, qi::_1)] ); }
rule triggerExpression::Parser< Iterator >::element [private] |
Definition at line 80 of file TriggerExpressionParser.h.
Referenced by triggerExpression::Parser< Iterator >::Parser().
rule triggerExpression::Parser< Iterator >::expression [private] |
Definition at line 84 of file TriggerExpressionParser.h.
Referenced by triggerExpression::Parser< Iterator >::Parser().
rule triggerExpression::Parser< Iterator >::operand [private] |
Definition at line 82 of file TriggerExpressionParser.h.
Referenced by triggerExpression::Parser< Iterator >::Parser().
rule triggerExpression::Parser< Iterator >::parenthesis [private] |
Definition at line 79 of file TriggerExpressionParser.h.
Referenced by triggerExpression::Parser< Iterator >::Parser().
rule triggerExpression::Parser< Iterator >::prescale [private] |
Definition at line 81 of file TriggerExpressionParser.h.
Referenced by triggerExpression::Parser< Iterator >::Parser().
rule triggerExpression::Parser< Iterator >::token [private] |
Definition at line 78 of file TriggerExpressionParser.h.
Referenced by triggerExpression::Parser< Iterator >::Parser().
name_rule triggerExpression::Parser< Iterator >::token_alca [private] |
Definition at line 72 of file TriggerExpressionParser.h.
Referenced by triggerExpression::Parser< Iterator >::Parser().
name_rule triggerExpression::Parser< Iterator >::token_dqm [private] |
Definition at line 73 of file TriggerExpressionParser.h.
Referenced by triggerExpression::Parser< Iterator >::Parser().
name_rule triggerExpression::Parser< Iterator >::token_dst [private] |
Definition at line 74 of file TriggerExpressionParser.h.
Referenced by triggerExpression::Parser< Iterator >::Parser().
name_rule triggerExpression::Parser< Iterator >::token_hlt [private] |
Definition at line 71 of file TriggerExpressionParser.h.
Referenced by triggerExpression::Parser< Iterator >::Parser().
name_rule triggerExpression::Parser< Iterator >::token_l1 [private] |
Definition at line 75 of file TriggerExpressionParser.h.
Referenced by triggerExpression::Parser< Iterator >::Parser().
name_rule triggerExpression::Parser< Iterator >::token_l1tech [private] |
Definition at line 76 of file TriggerExpressionParser.h.
Referenced by triggerExpression::Parser< Iterator >::Parser().
rule triggerExpression::Parser< Iterator >::unary [private] |
Definition at line 83 of file TriggerExpressionParser.h.
Referenced by triggerExpression::Parser< Iterator >::Parser().