OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
Expression/Parser/ast.hpp File Reference
#include <boost/config/warning_disable.hpp>
#include <boost/variant/recursive_variant.hpp>
#include <boost/fusion/include/adapt_struct.hpp>
#include <boost/fusion/include/io.hpp>
#include <boost/optional.hpp>
#include <list>
Include dependency graph for Expression/Parser/ast.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  client::ast::tagged
 
struct  client::ast::nil
 
struct  client::ast::identifier
 
struct  client::ast::quoted_string
 
struct  client::ast::unary
 
struct  client::ast::operation
 
struct  client::ast::function_call
 
struct  client::ast::expression
 

Namespaces

namespace  client
 
namespace  client::ast
 

Typedefs

typedef boost::variant< nil, bool, unsigned int, double, identifier, boost::recursive_wrapper< unary >, boost::recursive_wrapper< function_call >, boost::recursive_wrapper< expression > > client::ast::operand
 
typedef boost::variant< expression, quoted_string > client::ast::function_call_argument
 

Enumerations

enum  client::ast::optoken {
  client::ast::op_plus , client::ast::op_minus , client::ast::op_times , client::ast::op_divide ,
  client::ast::op_positive , client::ast::op_negative , client::ast::op_not , client::ast::op_equal ,
  client::ast::op_not_equal , client::ast::op_less , client::ast::op_less_equal , client::ast::op_greater ,
  client::ast::op_greater_equal , client::ast::op_and , client::ast::op_or
}
 

Functions

std::ostream & client::ast::operator<< (std::ostream &out, identifier const &id)
 

Class Documentation

◆ client::ast::nil

struct client::ast::nil

Definition at line 26 of file Expression/Parser/ast.hpp.

Collaboration diagram for client::ast::nil:
Collaboration graph

◆ client::ast::unary

struct client::ast::unary

Definition at line 80 of file Expression/Parser/ast.hpp.

Collaboration diagram for client::ast::unary:
Collaboration graph
Class Members
operand operand_
optoken operator_

◆ client::ast::operation

struct client::ast::operation

Definition at line 86 of file Expression/Parser/ast.hpp.

Collaboration diagram for client::ast::operation:
Collaboration graph
Class Members
operand operand_
optoken operator_

◆ client::ast::function_call

struct client::ast::function_call

Definition at line 92 of file Expression/Parser/ast.hpp.

Collaboration diagram for client::ast::function_call:
Collaboration graph
Class Members
list< function_call_argument > args
identifier function_name

◆ client::ast::expression

struct client::ast::expression

Definition at line 98 of file Expression/Parser/ast.hpp.

Collaboration diagram for client::ast::expression:
Collaboration graph
Class Members
operand first
list< operation > rest