32 #include <boost/config/warning_disable.hpp>
33 #include <boost/spirit/include/qi.hpp>
34 #include <boost/fusion/include/adapt_struct.hpp>
35 #include <boost/optional.hpp>
37 #define BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
38 #define BOOST_SPIRIT_QI_DEBUG
85 (boost::optional<SDDS::description>, sddsDescription_m)
94 namespace SDDS {
namespace parser
96 namespace qi = boost::spirit::qi;
97 namespace ascii = boost::spirit::ascii;
99 template <
typename Iterator>
100 struct file_parser: qi::grammar<Iterator, file(), skipper<Iterator> >
102 file_parser(error_handler<Iterator> & _error_handler);
104 version_parser<Iterator> version_m;
105 description_parser<Iterator> description_m;
106 parameter_parser<Iterator> parameter_m;
107 column_parser<Iterator> column_m;
108 data_parser<Iterator> data_m;
109 associate_parser<Iterator> associate_m;
110 array_parser<Iterator> array_m;
111 include_parser<Iterator> include_m;
112 qi::rule<Iterator, file(), skipper<Iterator> > start;
std::ostream & operator<<(std::ostream &out, const array &)
associateList sddsAssociates_m
Inform & endl(Inform &inf)
parameterList sddsParameters_m
BOOST_FUSION_ADAPT_STRUCT(SDDS::column,(boost::optional< std::string >, name_m)(boost::optional< SDDS::ast::datatype >, type_m)(boost::optional< std::string >, units_m)(boost::optional< std::string >, description_m)(SDDS::ast::variant_t, value_m)) namespace SDDS
boost::optional< description > sddsDescription_m
includeList sddsIncludes_m