OPAL (Object Oriented Parallel Accelerator Library)  2021.1.99
OPAL
Classes | Namespaces | Typedefs | Enumerations | Functions
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 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

 client
 
 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, nil)
 
std::ostream & client::ast::operator<< (std::ostream &out, identifier const &id)