OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
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_stringclient::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:

◆ client::ast::unary

struct client::ast::unary

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

Collaboration diagram for client::ast::unary:
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:
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:
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:
Class Members
operand first
list< operation > rest