41 #include "../Attribute.hpp" 43 #include "../TaskContext.hpp" 44 #include "../Service.hpp" 45 #include "../types/GlobalsRepository.hpp" 47 #include <boost/bind.hpp> 48 #include <boost/lexical_cast.hpp> 56 using namespace detail;
59 : commonparser(cp), peerparser(tc,cp), propparser(cp)
98 const_hex = (str_p(
"0x") | str_p(
"0X")) >>
103 uint_parser<unsigned long long>() [
107 uint_parser<long long>() [
111 uint_parser<unsigned int>() [
146 std::string value( begin, end );
147 assert( value ==
"true" || value ==
"false" );
148 if ( value ==
"true" )
158 std::string name( begin, end );
176 if ( task && task->hasAttribute( name ) ) {
177 ret = task->getValue(name)->getDataSource();
180 if ( task && task->hasProperty( name ) ) {
181 ret = task->properties()->find(name)->getDataSource();
197 throw_(begin,
"Value " + name +
" not defined in "+ task->getName()+
".");
void seennamedconstant(iter_t begin, iter_t end)
void seenintconstant(int c)
void seenllongconstant(long long c)
base::DataSourceBase::shared_ptr ret
void seenfloatconstant(double c)
void seenboolconstant(iter_t begin, iter_t end)
static shared_ptr Instance()
void seenullongconstant(unsigned long long c)
void push_str_char(char c)
void seenuintconstant(unsigned int c)
base::PropertyBase * property() const
This class contains some very common parser definitions.
boost::shared_ptr< Service > shared_ptr
PropertyParser propparser
CommonParser & commonparser
void seendoubleconstant(double c)
base::PropertyBase * find(const std::string &name) const
void setPropertyBag(PropertyBag *pb)
PropertyBag * bag() const
void seenhexconstant(unsigned int c)
void seencharconstant(iter_t c)
const std::string & getName() const
Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute.
virtual DataSourceBase::shared_ptr getDataSource() const =0