Storm 1.14.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
SpiritParserDefinitions.h
Go to the documentation of this file.
1#pragma once
2
3#pragma clang diagnostic push
4#pragma clang diagnostic ignored "-W#pragma-messages"
5
6// Boost Spirit's utf8.hpp uses char_traits<ucs4_char> which Apple libc++ (Xcode 26+) deprecated
7#if defined(__clang__) && defined(__apple_build_version__)
8#pragma clang diagnostic ignored "-Wdeprecated-declarations"
9#endif
10
11// Include boost spirit.
12#define BOOST_SPIRIT_USE_PHOENIX_V3
13#define BOOST_SPIRIT_UNICODE
14#include <boost/phoenix.hpp>
15#include <boost/spirit/home/classic/iterator/position_iterator.hpp>
16#include <boost/spirit/include/qi.hpp>
17#include <boost/spirit/include/support_line_pos_iterator.hpp>
18#include <boost/typeof/typeof.hpp>
19
20#pragma clang diagnostic pop
21
22namespace qi = boost::spirit::qi;
23namespace phoenix = boost::phoenix;
24
25typedef std::string::const_iterator BaseIteratorType;
26typedef boost::spirit::line_pos_iterator<BaseIteratorType> PositionIteratorType;
28
29namespace storm {
30namespace spirit_encoding = boost::spirit::unicode;
31}
32
33typedef BOOST_TYPEOF(storm::spirit_encoding::space_type() | qi::lit("//") >> *(qi::char_ - (qi::eol | qi::eoi)) >> (qi::eol | qi::eoi)) Skipper;
boost::spirit::line_pos_iterator< BaseIteratorType > PositionIteratorType
typedef BOOST_TYPEOF(storm::spirit_encoding::space_type()|qi::lit("//") > > *(qi::char_ -(qi::eol|qi::eoi)) > >(qi::eol|qi::eoi)) Skipper
std::string::const_iterator BaseIteratorType
PositionIteratorType Iterator