The Gaudi Framework  master (ff829712)
Loading...
Searching...
No Matches
Gaudi::Parsers::FileGrammar< Iterator, Skipper > Struct Template Reference

#include </builds/gaudi/Gaudi/GaudiCoreSvc/src/JobOptionsSvc/Grammar.h>

Inheritance diagram for Gaudi::Parsers::FileGrammar< Iterator, Skipper >:
Collaboration diagram for Gaudi::Parsers::FileGrammar< Iterator, Skipper >:

Public Member Functions

 FileGrammar ()
 

Public Attributes

qi::rule< Iterator, Node(), Skipperfile
 
qi::rule< Iterator, Node(), Skipperinclude
 
qi::rule< Iterator, Node(), Skipperassign
 
qi::rule< Iterator, Node(), Skipperproperty
 
qi::rule< Iterator, Node(), Skipperproperty_ref
 
qi::rule< Iterator, Node(), Skipperoper
 
qi::rule< Iterator, Node(), Skippermap_value
 
qi::rule< Iterator, Node(), Skipperpair_value
 
qi::rule< Iterator, Node(), Skippersimple_value
 
qi::rule< Iterator, Node(), Skipperpair
 
qi::rule< Iterator, Node(), Skipperunits
 
qi::rule< Iterator, Node(), Skipperprint_options
 
qi::rule< Iterator, Node(), Skipperpragma
 
qi::rule< Iterator, Node(), Skipperpragma_print
 
qi::rule< Iterator, Node(), Skipperpragma_tree
 
qi::rule< Iterator, Node(), Skipperpragma_dump_file
 
qi::rule< Iterator, Node(), qi::locals< std::string > > shell
 
qi::rule< Iterator, Node(), qi::locals< Iterator >, Skipperstatement
 
qi::rule< Iterator, Node(), qi::locals< Iterator >, Skippervalue
 
qi::rule< Iterator, Node(), qi::locals< char >, Skippervector_value
 
qi::rule< Iterator, Node(), qi::locals< Node, Node >, Skippercondition
 
qi::rule< Iterator, char()> begin_vector
 
qi::rule< Iterator, void(char)> end_vector
 
StringGrammar< Iterator, Skippergstring
 
BoolGrammar< Iterator, Skippergbool
 
RealGrammar< Iterator, Skippergreal
 
IdentifierGrammar< Iterator, Skippergidentifier
 
ph::function< NodeOperationsop
 

Detailed Description

template<typename Iterator, typename Skipper>
struct Gaudi::Parsers::FileGrammar< Iterator, Skipper >

Definition at line 109 of file Grammar.h.

Constructor & Destructor Documentation

◆ FileGrammar()

template<typename Iterator, typename Skipper>
Gaudi::Parsers::FileGrammar< Iterator, Skipper >::FileGrammar ( )
inline

Definition at line 110 of file Grammar.h.

113 "#!",
117 condition =
118 ( qi::lit( "#ifdef" )[op( qi::_a, Node::kIfdef )] | qi::lit( "#ifndef" )[op( qi::_a, Node::kIfndef )] ) >>
120 -( qi::lit( "#else" )[op( qi::_b, Node::kElse )] >>
121 *statement[op( qi::_b, qi::_1 )] )[op( qi::_val, qi::_b )] >>
122 qi::lit( "#endif" )[op( qi::_val, Node::kCondition )];
123 include = qi::lit( "#include" ) >> gstring[op( qi::_val, qi::_1 )][op( qi::_val, Node::kInclude )];
124 units = qi::lit( "#units" ) >> gstring[op( qi::_val, qi::_1 )][op( qi::_val, Node::kUnits )];
125 print_options = qi::lit( "#printOptions" ) >> qi::lit( "full" )[op( qi::_val, Node::kPrintOptions )];
126 pragma = qi::lit( "#pragma" ) >> ( pragma_print | pragma_tree | pragma_dump_file );
127 pragma_print = qi::lit( "print" ) >> enc::no_case[qi::lit( "on" )[op( qi::_val, Node::kPrintOn )] |
128 qi::lit( "off" )[op( qi::_val, Node::kPrintOff )]];
131 assign = property[op( qi::_val, qi::_1 )][op( qi::_val, Node::kAssign )] >> oper[op( qi::_val, qi::_1 )] >>
132 value[op( qi::_val, qi::_1 )] >> ';';
133 property = rep::qi::iter_pos[op( qi::_val, qi::_1 )] >>
135 property_ref %= -qi::lit( '@' ) >> property[op( qi::_val, Node::kPropertyRef )];
137 ( qi::lit( "=" )[op( qi::_val, Node::kEqual )] | qi::lit( "+=" )[op( qi::_val, Node::kPlusEqual )] |
138 qi::lit( "-=" )[op( qi::_val, Node::kMinusEqual )] );
142 enc::char_( '(' )[qi::_val = ')'] | enc::char_( '[' )[qi::_val = ']'] | enc::char_( '{' )[qi::_val = '}'];
144 vector_value = ( begin_vector[qi::_a = qi::_1] >> -( value[op( qi::_val, qi::_1 )] % ',' ) >>
146 map_value = ( enc::char_( '{' ) >> -( pair[op( qi::_val, qi::_1 )] % ',' ) >>
147 enc::char_( '}' ) )[op( qi::_val, Node::kMap )];
148 pair =
152 }
qi::rule< Iterator, Node(), Skipper > pragma_tree
Definition Grammar.h:154
qi::rule< Iterator, Node(), qi::locals< Node, Node >, Skipper > condition
Definition Grammar.h:158
qi::rule< Iterator, Node(), qi::locals< char >, Skipper > vector_value
Definition Grammar.h:157
qi::rule< Iterator, Node(), Skipper > oper
Definition Grammar.h:153
qi::rule< Iterator, Node(), Skipper > include
Definition Grammar.h:153
qi::rule< Iterator, Node(), qi::locals< Iterator >, Skipper > value
Definition Grammar.h:156
qi::rule< Iterator, Node(), qi::locals< Iterator >, Skipper > statement
Definition Grammar.h:156
qi::rule< Iterator, Node(), Skipper > print_options
Definition Grammar.h:154
qi::rule< Iterator, Node(), Skipper > file
Definition Grammar.h:153
qi::rule< Iterator, void(char)> end_vector
Definition Grammar.h:160
RealGrammar< Iterator, Skipper > greal
Definition Grammar.h:163
ph::function< NodeOperations > op
Definition Grammar.h:165
qi::rule< Iterator, Node(), Skipper > property_ref
Definition Grammar.h:153
qi::rule< Iterator, char()> begin_vector
Definition Grammar.h:159
qi::rule< Iterator, Node(), qi::locals< std::string > > shell
Definition Grammar.h:155
BoolGrammar< Iterator, Skipper > gbool
Definition Grammar.h:162
qi::rule< Iterator, Node(), Skipper > assign
Definition Grammar.h:153
qi::rule< Iterator, Node(), Skipper > pragma
Definition Grammar.h:154
qi::rule< Iterator, Node(), Skipper > simple_value
Definition Grammar.h:154
qi::rule< Iterator, Node(), Skipper > property
Definition Grammar.h:153
qi::rule< Iterator, Node(), Skipper > map_value
Definition Grammar.h:153
StringGrammar< Iterator, Skipper > gstring
Definition Grammar.h:161
qi::rule< Iterator, Node(), Skipper > pragma_dump_file
Definition Grammar.h:154
qi::rule< Iterator, Node(), Skipper > units
Definition Grammar.h:154
qi::rule< Iterator, Node(), Skipper > pragma_print
Definition Grammar.h:154
qi::rule< Iterator, Node(), Skipper > pair
Definition Grammar.h:154
IdentifierGrammar< Iterator, Skipper > gidentifier
Definition Grammar.h:164

Member Data Documentation

◆ assign

template<typename Iterator, typename Skipper>
qi::rule<Iterator, Node(), Skipper> Gaudi::Parsers::FileGrammar< Iterator, Skipper >::assign

Definition at line 153 of file Grammar.h.

◆ begin_vector

template<typename Iterator, typename Skipper>
qi::rule<Iterator, char()> Gaudi::Parsers::FileGrammar< Iterator, Skipper >::begin_vector

Definition at line 159 of file Grammar.h.

◆ condition

template<typename Iterator, typename Skipper>
qi::rule<Iterator, Node(), qi::locals<Node, Node>, Skipper> Gaudi::Parsers::FileGrammar< Iterator, Skipper >::condition

Definition at line 158 of file Grammar.h.

◆ end_vector

template<typename Iterator, typename Skipper>
qi::rule<Iterator, void( char )> Gaudi::Parsers::FileGrammar< Iterator, Skipper >::end_vector

Definition at line 160 of file Grammar.h.

◆ file

template<typename Iterator, typename Skipper>
qi::rule<Iterator, Node(), Skipper> Gaudi::Parsers::FileGrammar< Iterator, Skipper >::file

Definition at line 153 of file Grammar.h.

◆ gbool

Definition at line 162 of file Grammar.h.

◆ gidentifier

Definition at line 164 of file Grammar.h.

◆ greal

Definition at line 163 of file Grammar.h.

◆ gstring

Definition at line 161 of file Grammar.h.

◆ include

template<typename Iterator, typename Skipper>
qi::rule<Iterator, Node(), Skipper> Gaudi::Parsers::FileGrammar< Iterator, Skipper >::include

Definition at line 153 of file Grammar.h.

◆ map_value

template<typename Iterator, typename Skipper>
qi::rule<Iterator, Node(), Skipper> Gaudi::Parsers::FileGrammar< Iterator, Skipper >::map_value

Definition at line 153 of file Grammar.h.

◆ op

template<typename Iterator, typename Skipper>
ph::function<NodeOperations> Gaudi::Parsers::FileGrammar< Iterator, Skipper >::op

Definition at line 165 of file Grammar.h.

◆ oper

template<typename Iterator, typename Skipper>
qi::rule<Iterator, Node(), Skipper> Gaudi::Parsers::FileGrammar< Iterator, Skipper >::oper

Definition at line 153 of file Grammar.h.

◆ pair

template<typename Iterator, typename Skipper>
qi::rule<Iterator, Node(), Skipper> Gaudi::Parsers::FileGrammar< Iterator, Skipper >::pair

Definition at line 154 of file Grammar.h.

◆ pair_value

template<typename Iterator, typename Skipper>
qi::rule<Iterator, Node(), Skipper> Gaudi::Parsers::FileGrammar< Iterator, Skipper >::pair_value

Definition at line 153 of file Grammar.h.

◆ pragma

template<typename Iterator, typename Skipper>
qi::rule<Iterator, Node(), Skipper> Gaudi::Parsers::FileGrammar< Iterator, Skipper >::pragma

Definition at line 154 of file Grammar.h.

◆ pragma_dump_file

template<typename Iterator, typename Skipper>
qi::rule<Iterator, Node(), Skipper> Gaudi::Parsers::FileGrammar< Iterator, Skipper >::pragma_dump_file

Definition at line 154 of file Grammar.h.

◆ pragma_print

template<typename Iterator, typename Skipper>
qi::rule<Iterator, Node(), Skipper> Gaudi::Parsers::FileGrammar< Iterator, Skipper >::pragma_print

Definition at line 154 of file Grammar.h.

◆ pragma_tree

template<typename Iterator, typename Skipper>
qi::rule<Iterator, Node(), Skipper> Gaudi::Parsers::FileGrammar< Iterator, Skipper >::pragma_tree

Definition at line 154 of file Grammar.h.

◆ print_options

template<typename Iterator, typename Skipper>
qi::rule<Iterator, Node(), Skipper> Gaudi::Parsers::FileGrammar< Iterator, Skipper >::print_options

Definition at line 154 of file Grammar.h.

◆ property

template<typename Iterator, typename Skipper>
qi::rule<Iterator, Node(), Skipper> Gaudi::Parsers::FileGrammar< Iterator, Skipper >::property

Definition at line 153 of file Grammar.h.

◆ property_ref

template<typename Iterator, typename Skipper>
qi::rule<Iterator, Node(), Skipper> Gaudi::Parsers::FileGrammar< Iterator, Skipper >::property_ref

Definition at line 153 of file Grammar.h.

◆ shell

template<typename Iterator, typename Skipper>
qi::rule<Iterator, Node(), qi::locals<std::string> > Gaudi::Parsers::FileGrammar< Iterator, Skipper >::shell

Definition at line 155 of file Grammar.h.

◆ simple_value

template<typename Iterator, typename Skipper>
qi::rule<Iterator, Node(), Skipper> Gaudi::Parsers::FileGrammar< Iterator, Skipper >::simple_value

Definition at line 154 of file Grammar.h.

◆ statement

template<typename Iterator, typename Skipper>
qi::rule<Iterator, Node(), qi::locals<Iterator>, Skipper> Gaudi::Parsers::FileGrammar< Iterator, Skipper >::statement

Definition at line 156 of file Grammar.h.

◆ units

template<typename Iterator, typename Skipper>
qi::rule<Iterator, Node(), Skipper> Gaudi::Parsers::FileGrammar< Iterator, Skipper >::units

Definition at line 154 of file Grammar.h.

◆ value

template<typename Iterator, typename Skipper>
qi::rule<Iterator, Node(), qi::locals<Iterator>, Skipper> Gaudi::Parsers::FileGrammar< Iterator, Skipper >::value

Definition at line 156 of file Grammar.h.

◆ vector_value

template<typename Iterator, typename Skipper>
qi::rule<Iterator, Node(), qi::locals<char>, Skipper> Gaudi::Parsers::FileGrammar< Iterator, Skipper >::vector_value

Definition at line 157 of file Grammar.h.


The documentation for this struct was generated from the following file: