17 #ifndef ASSOCIATE_HPP_
18 #define ASSOCIATE_HPP_
24 #include <boost/config/warning_disable.hpp>
25 #include <boost/spirit/include/qi.hpp>
26 #include <boost/spirit/include/phoenix_core.hpp>
27 #include <boost/spirit/include/phoenix_operator.hpp>
28 #include <boost/spirit/include/phoenix_fusion.hpp>
29 #include <boost/spirit/include/phoenix_bind.hpp>
30 #include <boost/fusion/include/adapt_struct.hpp>
34 #define BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
35 #define BOOST_SPIRIT_QI_DEBUG
49 template <attributes A>
54 std::string attributeString;
58 attributeString =
"name";
61 attributeString =
"filename";
64 attributeString =
"path";
67 attributeString =
"description";
70 attributeString =
"contents";
73 attributeString =
"sdds";
76 attributeString =
"associate";
81 std::cerr << attributeString <<
" not supported yet" <<
std::endl;
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>
Inform & endl(Inform &inf)
std::ostream & operator<<(std::ostream &out, const array &)
associate_parser(error_handler< Iterator > &_error_handler)
qi::rule< Iterator, ast::nil(), skipper< Iterator > > associate_unsupported_pre
qi::rule< Iterator, ast::nil(), skipper< Iterator > > associate_unsupported_post
qi::rule< Iterator, std::string(), skipper< Iterator > > associate_contents
qi::rule< Iterator, std::string(), skipper< Iterator > > string
qi::rule< Iterator, associate(), skipper< Iterator > > start
qi::rule< Iterator, std::string(), skipper< Iterator > > associate_filename
qi::rule< Iterator, std::string(), skipper< Iterator > > quoted_string
qi::rule< Iterator, long(), skipper< Iterator > > associate_sdds
qi::rule< Iterator, std::string(), skipper< Iterator > > associate_description
qi::rule< Iterator, std::string(), skipper< Iterator > > associate_path
qi::rule< Iterator, std::string(), skipper< Iterator > > associate_name