22#include <boost/spirit/include/phoenix_core.hpp>
23#include <boost/spirit/include/phoenix_operator.hpp>
24#include <boost/spirit/include/phoenix_fusion.hpp>
25#include <boost/spirit/include/phoenix_bind.hpp>
27namespace SDDS {
namespace parser
29 template <
typename Iterator>
36 typedef function<error_handler<Iterator> > error_handler_function;
41 qi::lexeme_type lexeme;
45 qi::short_type short_;
54 | lexeme[(
alpha | char_(
"@:#+-%._$&/")) >> *(alnum | char_(
"@:#+-%._$&/"))];
112 lit(
"&array")[_pass = complainArray]
115 BOOST_SPIRIT_DEBUG_NODES(
119 on_error<fail>(
start,
120 error_handler_function(_error_handler)(
121 std::string(
"Error! Expecting "), _4, _3));
py::list function(PolynomialPatch *patch, py::list point)
constexpr double alpha
The fine structure constant, no dimension.
qi::rule< Iterator, std::string(), skipper< Iterator > > array_format
qi::rule< Iterator, array(), skipper< Iterator > > start
qi::rule< Iterator, std::string(), skipper< Iterator > > array_symbol
qi::rule< Iterator, ast::nil(), skipper< Iterator > > array_unsupported_post
qi::rule< Iterator, ast::nil(), skipper< Iterator > > array_unsupported_pre
qi::rule< Iterator, long(), skipper< Iterator > > array_dimensions
array_parser(error_handler< Iterator > &_error_handler)
qi::rule< Iterator, std::string(), skipper< Iterator > > array_description
qi::rule< Iterator, std::string(), skipper< Iterator > > quoted_string
qi::rule< Iterator, std::string(), skipper< Iterator > > array_units
qi::rule< Iterator, std::string(), skipper< Iterator > > array_name
qi::symbols< char, ast::datatype > arraytype
qi::rule< Iterator, std::string(), skipper< Iterator > > units
qi::rule< Iterator, std::string(), skipper< Iterator > > array_group
qi::rule< Iterator, std::string(), skipper< Iterator > > string
qi::rule< Iterator, ast::datatype, skipper< Iterator > > array_type
qi::rule< Iterator, long(), skipper< Iterator > > array_field