OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
Public Member Functions | Public Attributes | List of all members
client::parser::expression< Iterator > Struct Template Reference

#include <expression.hpp>

Inherits boost::spirit::qi::grammar< Iterator, ast::expression(), qi::locals< char >, skipper< Iterator > >.

Public Member Functions

 expression (error_handler< Iterator > &error_handler)
 

Public Attributes

qi::rule< Iterator, ast::expression(), qi::locals< char >, skipper< Iterator > > expr
 
qi::rule< Iterator, ast::expression(), qi::locals< char >, skipper< Iterator > > equality_expr
 
qi::rule< Iterator, ast::expression(), qi::locals< char >, skipper< Iterator > > relational_expr
 
qi::rule< Iterator, ast::expression(), qi::locals< char >, skipper< Iterator > > logical_or_expr
 
qi::rule< Iterator, ast::expression(), qi::locals< char >, skipper< Iterator > > logical_and_expr
 
qi::rule< Iterator, ast::expression(), qi::locals< char >, skipper< Iterator > > additive_expr
 
qi::rule< Iterator, ast::expression(), qi::locals< char >, skipper< Iterator > > multiplicative_expr
 
qi::rule< Iterator, ast::operand(), qi::locals< char >, skipper< Iterator > > unary_expr
 
qi::rule< Iterator, ast::operand(), qi::locals< char >, skipper< Iterator > > primary_expr
 
qi::rule< Iterator, ast::operand(), qi::locals< char >, skipper< Iterator > > constant_expr
 
qi::rule< Iterator, ast::function_call(), qi::locals< char >, skipper< Iterator > > function_call
 
qi::rule< Iterator, std::list< ast::function_call_argument >(), qi::locals< char >, skipper< Iterator > > argument_list
 
qi::rule< Iterator, std::string(), qi::locals< char >, skipper< Iterator > > identifier
 
qi::rule< Iterator, std::string(), qi::locals< char >, skipper< Iterator > > quoted_string
 
qi::symbols< char, ast::optokenlogical_or_op
 
qi::symbols< char, ast::optokenlogical_and_op
 
qi::symbols< char, ast::optokenequality_op
 
qi::symbols< char, ast::optokenrelational_op
 
qi::symbols< char, ast::optokenadditive_op
 
qi::symbols< char, ast::optokenmultiplicative_op
 
qi::symbols< char, ast::optokenunary_op
 
qi::symbols< char > keywords
 

Detailed Description

template<typename Iterator>
struct client::parser::expression< Iterator >

Definition at line 39 of file expression.hpp.

Constructor & Destructor Documentation

◆ expression()

template<typename Iterator >
client::parser::expression< Iterator >::expression ( error_handler< Iterator > &  error_handler)

Definition at line 18 of file expression_def.hpp.

References client::parser::expression< Iterator >::additive_expr, client::parser::expression< Iterator >::additive_op, Physics::alpha, client::parser::expression< Iterator >::argument_list, client::parser::expression< Iterator >::constant_expr, client::parser::expression< Iterator >::equality_expr, client::parser::expression< Iterator >::equality_op, client::parser::expression< Iterator >::expr, PyOpal::PyPolynomialPatch::function(), client::parser::expression< Iterator >::function_call, client::parser::expression< Iterator >::identifier, client::error_handler< Iterator >::iters, client::parser::expression< Iterator >::keywords, client::parser::expression< Iterator >::logical_and_expr, client::parser::expression< Iterator >::logical_and_op, client::parser::expression< Iterator >::logical_or_expr, client::parser::expression< Iterator >::logical_or_op, client::parser::expression< Iterator >::multiplicative_expr, client::parser::expression< Iterator >::multiplicative_op, client::ast::op_and, client::ast::op_divide, client::ast::op_equal, client::ast::op_greater, client::ast::op_greater_equal, client::ast::op_less, client::ast::op_less_equal, client::ast::op_minus, client::ast::op_negative, client::ast::op_not, client::ast::op_not_equal, client::ast::op_or, client::ast::op_plus, client::ast::op_positive, client::ast::op_times, client::parser::expression< Iterator >::primary_expr, client::parser::expression< Iterator >::quoted_string, client::parser::expression< Iterator >::relational_expr, client::parser::expression< Iterator >::relational_op, client::parser::expression< Iterator >::unary_expr, and client::parser::expression< Iterator >::unary_op.

Here is the call graph for this function:

Member Data Documentation

◆ additive_expr

template<typename Iterator >
qi::rule<Iterator, ast::expression(), qi::locals<char>, skipper<Iterator> > client::parser::expression< Iterator >::additive_expr

Definition at line 46 of file expression.hpp.

Referenced by client::parser::expression< Iterator >::expression().

◆ additive_op

template<typename Iterator >
qi::symbols<char, ast::optoken> client::parser::expression< Iterator >::additive_op

Definition at line 72 of file expression.hpp.

Referenced by client::parser::expression< Iterator >::expression().

◆ argument_list

template<typename Iterator >
qi::rule<Iterator, std::list<ast::function_call_argument>(), qi::locals<char>, skipper<Iterator> > client::parser::expression< Iterator >::argument_list

Definition at line 58 of file expression.hpp.

Referenced by client::parser::expression< Iterator >::expression().

◆ constant_expr

template<typename Iterator >
qi::rule<Iterator, ast::operand(), qi::locals<char>, skipper<Iterator> > client::parser::expression< Iterator >::constant_expr

Definition at line 50 of file expression.hpp.

Referenced by client::parser::expression< Iterator >::expression().

◆ equality_expr

template<typename Iterator >
qi::rule<Iterator, ast::expression(), qi::locals<char>, skipper<Iterator> > client::parser::expression< Iterator >::equality_expr

Definition at line 44 of file expression.hpp.

Referenced by client::parser::expression< Iterator >::expression().

◆ equality_op

template<typename Iterator >
qi::symbols<char, ast::optoken> client::parser::expression< Iterator >::equality_op

Definition at line 71 of file expression.hpp.

Referenced by client::parser::expression< Iterator >::expression().

◆ expr

template<typename Iterator >
qi::rule<Iterator, ast::expression(), qi::locals<char>, skipper<Iterator> > client::parser::expression< Iterator >::expr

Definition at line 44 of file expression.hpp.

Referenced by client::parser::expression< Iterator >::expression().

◆ function_call

template<typename Iterator >
qi::rule<Iterator, ast::function_call(), qi::locals<char>, skipper<Iterator> > client::parser::expression< Iterator >::function_call

Definition at line 54 of file expression.hpp.

Referenced by client::parser::expression< Iterator >::expression().

◆ identifier

template<typename Iterator >
qi::rule<Iterator, std::string(), qi::locals<char>, skipper<Iterator> > client::parser::expression< Iterator >::identifier

Definition at line 62 of file expression.hpp.

Referenced by client::parser::expression< Iterator >::expression().

◆ keywords

template<typename Iterator >
qi::symbols<char> client::parser::expression< Iterator >::keywords

Definition at line 76 of file expression.hpp.

Referenced by client::parser::expression< Iterator >::expression().

◆ logical_and_expr

template<typename Iterator >
qi::rule<Iterator, ast::expression(), qi::locals<char>, skipper<Iterator> > client::parser::expression< Iterator >::logical_and_expr

Definition at line 45 of file expression.hpp.

Referenced by client::parser::expression< Iterator >::expression().

◆ logical_and_op

template<typename Iterator >
qi::symbols<char, ast::optoken> client::parser::expression< Iterator >::logical_and_op

Definition at line 70 of file expression.hpp.

Referenced by client::parser::expression< Iterator >::expression().

◆ logical_or_expr

template<typename Iterator >
qi::rule<Iterator, ast::expression(), qi::locals<char>, skipper<Iterator> > client::parser::expression< Iterator >::logical_or_expr

Definition at line 45 of file expression.hpp.

Referenced by client::parser::expression< Iterator >::expression().

◆ logical_or_op

template<typename Iterator >
qi::symbols<char, ast::optoken> client::parser::expression< Iterator >::logical_or_op

Definition at line 70 of file expression.hpp.

Referenced by client::parser::expression< Iterator >::expression().

◆ multiplicative_expr

template<typename Iterator >
qi::rule<Iterator, ast::expression(), qi::locals<char>, skipper<Iterator> > client::parser::expression< Iterator >::multiplicative_expr

Definition at line 46 of file expression.hpp.

Referenced by client::parser::expression< Iterator >::expression().

◆ multiplicative_op

template<typename Iterator >
qi::symbols<char, ast::optoken> client::parser::expression< Iterator >::multiplicative_op

Definition at line 72 of file expression.hpp.

Referenced by client::parser::expression< Iterator >::expression().

◆ primary_expr

template<typename Iterator >
qi::rule<Iterator, ast::operand(), qi::locals<char>, skipper<Iterator> > client::parser::expression< Iterator >::primary_expr

Definition at line 50 of file expression.hpp.

Referenced by client::parser::expression< Iterator >::expression().

◆ quoted_string

template<typename Iterator >
qi::rule<Iterator, std::string(), qi::locals<char>, skipper<Iterator> > client::parser::expression< Iterator >::quoted_string

Definition at line 66 of file expression.hpp.

Referenced by client::parser::expression< Iterator >::expression().

◆ relational_expr

template<typename Iterator >
qi::rule<Iterator, ast::expression(), qi::locals<char>, skipper<Iterator> > client::parser::expression< Iterator >::relational_expr

Definition at line 44 of file expression.hpp.

Referenced by client::parser::expression< Iterator >::expression().

◆ relational_op

template<typename Iterator >
qi::symbols<char, ast::optoken> client::parser::expression< Iterator >::relational_op

Definition at line 71 of file expression.hpp.

Referenced by client::parser::expression< Iterator >::expression().

◆ unary_expr

template<typename Iterator >
qi::rule<Iterator, ast::operand(), qi::locals<char>, skipper<Iterator> > client::parser::expression< Iterator >::unary_expr

Definition at line 50 of file expression.hpp.

Referenced by client::parser::expression< Iterator >::expression().

◆ unary_op

template<typename Iterator >
qi::symbols<char, ast::optoken> client::parser::expression< Iterator >::unary_op

Definition at line 72 of file expression.hpp.

Referenced by client::parser::expression< Iterator >::expression().


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