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// Include boost spirit.
7#define BOOST_SPIRIT_USE_PHOENIX_V3
8#define BOOST_SPIRIT_UNICODE
9#include <boost/phoenix.hpp>
10#include <boost/spirit/home/classic/iterator/position_iterator.hpp>
11#include <boost/spirit/include/qi.hpp>
12#include <boost/spirit/include/support_line_pos_iterator.hpp>
13#include <boost/typeof/typeof.hpp>
14
15#pragma clang diagnostic pop
16
17namespace qi = boost::spirit::qi;
18namespace phoenix = boost::phoenix;
19
20typedef std::string::const_iterator BaseIteratorType;
21typedef boost::spirit::line_pos_iterator<BaseIteratorType> PositionIteratorType;
23
24namespace storm {
25namespace spirit_encoding = boost::spirit::unicode;
26}
27
28typedef 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