OPAL (Object Oriented Parallel Accelerator Library)  2021.1.99
OPAL
Classes | Public Member Functions | Public Attributes | Private Attributes | List of all members
matheval::detail::grammar< real_t, Iterator > Struct Template Reference

Expression Grammar. More...

#include <matheval.hpp>

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

Collaboration diagram for matheval::detail::grammar< real_t, Iterator >:
Collaboration graph
[legend]

Classes

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

Public Member Functions

 grammar ()
 Constructor builds the grammar. More...
 

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

Member Data Documentation

◆ bfunc

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

◆ constant

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

◆ err_handler

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

◆ 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

◆ 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

◆ 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

◆ 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

◆ ufunc

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

◆ variable

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

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