OPALX (Object Oriented Parallel Accelerator Library for Exascal) MINIorX
OPALX
matheval::detail::grammar< real_t, Iterator > Struct Template Reference

Expression Grammar. More...

#include <matheval.hpp>

Inherits qi::grammar< Iterator, expr_ast< real_t >(), ascii::space_type >.

Collaboration diagram for matheval::detail::grammar< real_t, Iterator >:

Classes

struct  constant_
 symbol table for constants like "pi" More...
struct  ufunc_
 symbol table for unary functions like "abs" More...
struct  bfunc_
 symbol table for binary functions like "pow" More...

Public Member Functions

 grammar ()
 Constructor builds the grammar.

Public Attributes

matheval::detail::grammar::constant_ constant
matheval::detail::grammar::ufunc_ ufunc
matheval::detail::grammar::bfunc_ bfunc

Private Attributes

expectation_handler err_handler
qi::rule< Iterator, expr_ast< real_t >(), ascii::space_type > expression
qi::rule< Iterator, expr_ast< real_t >(), ascii::space_type > term
qi::rule< Iterator, expr_ast< real_t >(), ascii::space_type > factor
qi::rule< Iterator, expr_ast< real_t >(), ascii::space_type > primary
qi::rule< Iterator, std::string()> variable

Detailed Description

template<typename real_t, typename Iterator>
struct matheval::detail::grammar< real_t, Iterator >

Expression Grammar.

Definition at line 372 of file matheval.hpp.

Constructor & Destructor Documentation

◆ grammar()

template<typename real_t, typename Iterator>
matheval::detail::grammar< real_t, Iterator >::grammar ( )
inline

Constructor builds the grammar.

Definition at line 467 of file matheval.hpp.

References bfunc, constant, err_handler, expression, factor, grammar(), primary, term, ufunc, and variable.

Referenced by grammar().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ bfunc

template<typename real_t, typename Iterator>
matheval::detail::grammar::bfunc_ matheval::detail::grammar< real_t, Iterator >::bfunc

Referenced by grammar().

◆ constant

template<typename real_t, typename Iterator>
matheval::detail::grammar::constant_ matheval::detail::grammar< real_t, Iterator >::constant

Referenced by grammar().

◆ err_handler

template<typename real_t, typename Iterator>
expectation_handler matheval::detail::grammar< real_t, Iterator >::err_handler
private

Definition at line 378 of file matheval.hpp.

Referenced by grammar().

◆ expression

template<typename real_t, typename Iterator>
qi::rule<Iterator, expr_ast<real_t>(), ascii::space_type> matheval::detail::grammar< real_t, Iterator >::expression
private

Definition at line 379 of file matheval.hpp.

Referenced by grammar().

◆ factor

template<typename real_t, typename Iterator>
qi::rule<Iterator, expr_ast<real_t>(), ascii::space_type> matheval::detail::grammar< real_t, Iterator >::factor
private

Definition at line 381 of file matheval.hpp.

Referenced by grammar().

◆ primary

template<typename real_t, typename Iterator>
qi::rule<Iterator, expr_ast<real_t>(), ascii::space_type> matheval::detail::grammar< real_t, Iterator >::primary
private

Definition at line 382 of file matheval.hpp.

Referenced by grammar().

◆ term

template<typename real_t, typename Iterator>
qi::rule<Iterator, expr_ast<real_t>(), ascii::space_type> matheval::detail::grammar< real_t, Iterator >::term
private

Definition at line 380 of file matheval.hpp.

Referenced by grammar().

◆ ufunc

template<typename real_t, typename Iterator>
matheval::detail::grammar::ufunc_ matheval::detail::grammar< real_t, Iterator >::ufunc

Referenced by grammar().

◆ variable

template<typename real_t, typename Iterator>
qi::rule<Iterator, std::string()> matheval::detail::grammar< real_t, Iterator >::variable
private

Definition at line 383 of file matheval.hpp.

Referenced by grammar().


The documentation for this struct was generated from the following file: