|
Gaudi Framework, version v22r2 |
| Home | Generated: Tue May 10 2011 |
#include <ParserGrammar.h>

Public Member Functions | |
| definition (ValueGrammar const &self) | |
| boost::spirit::rule< ScannerT > const & | start () const |
Public Attributes | |
| PropertyGrammar | property_grammar |
| StringGrammar | string_grammar |
| BoolGrammar | boolean_grammar |
| IntGrammar< long > | int_grammar |
| RealUnitsGrammar | realunits_grammar |
| boost::spirit::rule< ScannerT > | value_rule |
| boost::spirit::rule< ScannerT, ClosureGrammar< std::string > ::context_t > | value |
| boost::spirit::rule< ScannerT, ClosureGrammar< std::string > ::context_t > | literalvalue |
| boost::spirit::rule< ScannerT, ClosureGrammar< std::string > ::context_t > | vectorvalue |
| boost::spirit::rule< ScannerT, ClosureGrammar< std::string > ::context_t > | listvalue |
| boost::spirit::rule< ScannerT, ClosureGrammar< std::string > ::context_t > | mapvalue |
| boost::spirit::rule< ScannerT, ClosureGrammar< std::string > ::context_t > | vectorvalue_list |
| boost::spirit::rule< ScannerT, ClosureGrammar< std::string > ::context_t > | vector_type |
| boost::spirit::rule< ScannerT, ClosureGrammar< std::string > ::context_t > | property_link |
Definition at line 358 of file ParserGrammar.h.
| Gaudi::Parsers::ValueGrammar::definition< ScannerT >::definition | ( | ValueGrammar const & | self ) | [inline] |
Definition at line 360 of file ParserGrammar.h.
{
realunits_grammar.setParser(self.parser());
//-----------------------------------------------------------------
// OPERATORS
//-----------------------------------------------------------------
chlit<> O_DOT('.');
chlit<> O_COMMA(',');
value_rule = value[boost::bind(&ValueGrammar::matchValue,&self,_1)];
value =
vectorvalue[value.val=arg1]
| vector_type[value.val="["+arg1+"]"]
| property_link[value.val=arg1]
;
// ------------------------------------------------------------------
vectorvalue_list
= !(
value[vectorvalue_list.val=arg1][boost::bind(&ValueGrammar::matchVectorValue,&self,_1)]
>> *(',' >>value[vectorvalue_list.val+=","+arg1][boost::bind(&ValueGrammar::matchVectorValue,&self,_1)])
);
// ------------------------------------------------------------------
vector_type =
(
ch_p('{')[boost::bind(&ValueGrammar::matchBrace,&self,true)]
>> vectorvalue_list
[vector_type.val=arg1]
>> ch_p('}')[boost::bind(&ValueGrammar::matchBrace,&self,false)]
)
|
(ch_p('[') [boost::bind(&ValueGrammar::matchBrace,&self,true)]
>> vectorvalue_list
[vector_type.val=arg1]
>> ch_p(']')[boost::bind(&ValueGrammar::matchBrace,&self,false)]
);
// ------------------------------------------------------------------
vectorvalue =
listvalue[vectorvalue.val=arg1]
| longest_d[
literalvalue[vectorvalue.val=arg1]
| mapvalue[vectorvalue.val=arg1]
];
// ------------------------------------------------------------------
listvalue = '(' >> vectorvalue[listvalue.val="("+arg1]
>> *(O_COMMA[listvalue.val+=","]
>> vectorvalue[listvalue.val+=arg1]) >>ch_p(')')[listvalue.val+=")"];
// ------------------------------------------------------------------
mapvalue = literalvalue[mapvalue.val=arg1]
>> (ch_p('=')[mapvalue.val+="="] | ch_p(':')[mapvalue.val+=":"])
>> value[mapvalue.val+=arg1]
;
// ------------------------------------------------------------------
literalvalue =
realunits_grammar[literalvalue.val = arg1]
|
boolean_grammar[AssignBoolToString(literalvalue.val)]
|
string_grammar[literalvalue.val = std::string("\"")+arg1+std::string("\"")];
// ------------------------------------------------------------------
property_link = ('@'>>property_grammar)
[property_link.val=construct_<std::string>(arg1,arg2)];
// ------------------------------------------------------------------
}
| boost::spirit::rule<ScannerT> const& Gaudi::Parsers::ValueGrammar::definition< ScannerT >::start | ( | ) | const [inline] |
Definition at line 433 of file ParserGrammar.h.
{ return value_rule; }
| BoolGrammar Gaudi::Parsers::ValueGrammar::definition< ScannerT >::boolean_grammar |
Definition at line 424 of file ParserGrammar.h.
| IntGrammar<long> Gaudi::Parsers::ValueGrammar::definition< ScannerT >::int_grammar |
Definition at line 425 of file ParserGrammar.h.
| boost::spirit::rule<ScannerT,ClosureGrammar<std::string>::context_t> Gaudi::Parsers::ValueGrammar::definition< ScannerT >::listvalue |
Definition at line 430 of file ParserGrammar.h.
| boost::spirit::rule<ScannerT,ClosureGrammar<std::string>::context_t> Gaudi::Parsers::ValueGrammar::definition< ScannerT >::literalvalue |
Definition at line 430 of file ParserGrammar.h.
| boost::spirit::rule<ScannerT,ClosureGrammar<std::string>::context_t> Gaudi::Parsers::ValueGrammar::definition< ScannerT >::mapvalue |
Definition at line 430 of file ParserGrammar.h.
| PropertyGrammar Gaudi::Parsers::ValueGrammar::definition< ScannerT >::property_grammar |
Definition at line 422 of file ParserGrammar.h.
| boost::spirit::rule<ScannerT,ClosureGrammar<std::string>::context_t> Gaudi::Parsers::ValueGrammar::definition< ScannerT >::property_link |
Definition at line 430 of file ParserGrammar.h.
| RealUnitsGrammar Gaudi::Parsers::ValueGrammar::definition< ScannerT >::realunits_grammar |
Definition at line 426 of file ParserGrammar.h.
| StringGrammar Gaudi::Parsers::ValueGrammar::definition< ScannerT >::string_grammar |
Definition at line 423 of file ParserGrammar.h.
| boost::spirit::rule<ScannerT,ClosureGrammar<std::string>::context_t> Gaudi::Parsers::ValueGrammar::definition< ScannerT >::value |
Definition at line 430 of file ParserGrammar.h.
| boost::spirit::rule<ScannerT> Gaudi::Parsers::ValueGrammar::definition< ScannerT >::value_rule |
Definition at line 428 of file ParserGrammar.h.
| boost::spirit::rule<ScannerT,ClosureGrammar<std::string>::context_t> Gaudi::Parsers::ValueGrammar::definition< ScannerT >::vector_type |
Definition at line 430 of file ParserGrammar.h.
| boost::spirit::rule<ScannerT,ClosureGrammar<std::string>::context_t> Gaudi::Parsers::ValueGrammar::definition< ScannerT >::vectorvalue |
Definition at line 430 of file ParserGrammar.h.
| boost::spirit::rule<ScannerT,ClosureGrammar<std::string>::context_t> Gaudi::Parsers::ValueGrammar::definition< ScannerT >::vectorvalue_list |
Definition at line 430 of file ParserGrammar.h.