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;
98 namespace phx = boost::phoenix;
100 template <
typename Iterator>
101 struct file_parser: qi::grammar<Iterator, file(), skipper<Iterator> >
103 file_parser(error_handler<Iterator> & _error_handler);
105 version_parser<Iterator> version_m;
106 description_parser<Iterator> description_m;
107 parameter_parser<Iterator> parameter_m;
108 column_parser<Iterator> column_m;
109 data_parser<Iterator> data_m;
110 associate_parser<Iterator> associate_m;
111 array_parser<Iterator> array_m;
112 include_parser<Iterator> include_m;
113 qi::rule<Iterator, file(), skipper<Iterator> > start;
Inform & endl(Inform &inf)
BOOST_FUSION_ADAPT_STRUCT(SDDS::file,(SDDS::version, sddsVersion_m)(boost::optional< SDDS::description >, sddsDescription_m)(SDDS::parameterList, sddsParameters_m)(SDDS::columnList, sddsColumns_m)(SDDS::data, sddsData_m)(SDDS::associateList, sddsAssociates_m)(SDDS::arrayList, sddsArrays_m)(SDDS::includeList, sddsIncludes_m)) namespace SDDS
std::ostream & operator<<(std::ostream &out, const array &)
boost::optional< description > sddsDescription_m
includeList sddsIncludes_m
parameterList sddsParameters_m
associateList sddsAssociates_m