parser_def.hpp File Reference
#include <cmath>
#include <iostream>
#include <limits>
#include <string>
#include <boost/math/constants/constants.hpp>
#include <boost/spirit/home/x3.hpp>
#include <nil/crypto3/math/expressions/ast.hpp>
#include <nil/crypto3/math/expressions/ast_adapted.hpp>
#include <nil/crypto3/math/expressions/math.hpp>
#include <nil/crypto3/math/expressions/parser.hpp>
+ Include dependency graph for parser_def.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  nil::crypto3::math::expressions::detail::parser::additive_op_
 
struct  nil::crypto3::math::expressions::detail::parser::bfunc_
 
struct  nil::crypto3::math::expressions::detail::parser::constant_
 
struct  nil::crypto3::math::expressions::detail::parser::equality_op_
 
struct  nil::crypto3::math::expressions::detail::parser::logical_op_
 
struct  nil::crypto3::math::expressions::detail::parser::multiplicative_op_
 
struct  nil::crypto3::math::expressions::detail::parser::power_
 
struct  nil::crypto3::math::expressions::detail::parser::relational_op_
 
struct  nil::crypto3::math::expressions::detail::parser::ufunc_
 
struct  nil::crypto3::math::expressions::detail::parser::unary_op_
 

Namespaces

 nil
 
 nil::crypto3
 
 nil::crypto3::math
 
 nil::crypto3::math::expressions
 
 nil::crypto3::math::expressions::detail
 
 nil::crypto3::math::expressions::detail::parser
 

Typedefs

using nil::crypto3::math::expressions::detail::parser::expression_type = x3::rule< expression_class, ast::expression >
 

Functions

 nil::crypto3::math::expressions::detail::parser::BOOST_SPIRIT_DEFINE (expression, logical, equality, relational, additive, multiplicative, factor, primary, unary, binary, variable) struct expression_class
 
parser::expression_type nil::crypto3::math::expressions::detail::grammar ()
 

Variables

auto const nil::crypto3::math::expressions::detail::parser::additive = x3::rule<additive_class , ast::expression>{"additive"}
 
auto const nil::crypto3::math::expressions::detail::parser::additive_def
 
nil::crypto3::math::expressions::detail::parser::additive_op_ nil::crypto3::math::expressions::detail::parser::additive_op
 
nil::crypto3::math::expressions::detail::parser::bfunc_ nil::crypto3::math::expressions::detail::parser::bfunc
 
auto const nil::crypto3::math::expressions::detail::parser::binary = x3::rule<binary_class , ast::binary_op >{"binary"}
 
auto const nil::crypto3::math::expressions::detail::parser::binary_def
 
nil::crypto3::math::expressions::detail::parser::constant_ nil::crypto3::math::expressions::detail::parser::constant
 
auto const nil::crypto3::math::expressions::detail::parser::equality = x3::rule<equality_class , ast::expression>{"equality"}
 
auto const nil::crypto3::math::expressions::detail::parser::equality_def
 
nil::crypto3::math::expressions::detail::parser::equality_op_ nil::crypto3::math::expressions::detail::parser::equality_op
 
auto const nil::crypto3::math::expressions::detail::parser::expression = x3::rule<expression_class , ast::expression>{"expression"}
 
auto const nil::crypto3::math::expressions::detail::parser::expression_def
 
auto const nil::crypto3::math::expressions::detail::parser::factor = x3::rule<factor_class , ast::expression>{"factor"}
 
auto const nil::crypto3::math::expressions::detail::parser::factor_def
 
auto const nil::crypto3::math::expressions::detail::parser::logical = x3::rule<logical_class , ast::expression>{"logical"}
 
auto const nil::crypto3::math::expressions::detail::parser::logical_def
 
nil::crypto3::math::expressions::detail::parser::logical_op_ nil::crypto3::math::expressions::detail::parser::logical_op
 
auto const nil::crypto3::math::expressions::detail::parser::multiplicative = x3::rule<multiplicative_class, ast::expression>{"multiplicative"}
 
auto const nil::crypto3::math::expressions::detail::parser::multiplicative_def
 
nil::crypto3::math::expressions::detail::parser::multiplicative_op_ nil::crypto3::math::expressions::detail::parser::multiplicative_op
 
nil::crypto3::math::expressions::detail::parser::power_ nil::crypto3::math::expressions::detail::parser::power
 
auto const nil::crypto3::math::expressions::detail::parser::primary = x3::rule<primary_class , ast::operand >{"primary"}
 
auto const nil::crypto3::math::expressions::detail::parser::primary_def
 
auto const nil::crypto3::math::expressions::detail::parser::relational = x3::rule<relational_class , ast::expression>{"relational"}
 
auto const nil::crypto3::math::expressions::detail::parser::relational_def
 
nil::crypto3::math::expressions::detail::parser::relational_op_ nil::crypto3::math::expressions::detail::parser::relational_op
 
nil::crypto3::math::expressions::detail::parser::ufunc_ nil::crypto3::math::expressions::detail::parser::ufunc
 
auto const nil::crypto3::math::expressions::detail::parser::unary = x3::rule<unary_class , ast::unary_op >{"unary"}
 
auto const nil::crypto3::math::expressions::detail::parser::unary_def
 
nil::crypto3::math::expressions::detail::parser::unary_op_ nil::crypto3::math::expressions::detail::parser::unary_op
 
auto const nil::crypto3::math::expressions::detail::parser::variable = x3::rule<variable_class , std::string >{"variable"}
 
auto const nil::crypto3::math::expressions::detail::parser::variable_def