atlas  0.6
Classes | Public Member Functions | Public Attributes | List of all members
atlas::interpreter::expr Struct Reference

#include <parse_types.h>

Collaboration diagram for atlas::interpreter::expr:
Collaboration graph
[legend]

Classes

struct  bool_tag
 
struct  break_tag
 
struct  die_tag
 
struct  dollar_tag
 
struct  identifier_tag
 
struct  int_tag
 
struct  list_display_tag
 
struct  negate_tag
 
struct  return_tag
 
struct  tuple_display_tag
 

Public Member Functions

 expr ()
 
 expr (const expr &x)=delete
 
exproperator= (const expr &x)=delete
 
 ~expr ()
 
void set_from (expr &other)
 
 expr (expr &&other)
 
void operator= (expr &&other)
 
void swap (expr &other)
 
 expr (int n, const YYLTYPE &loc, int_tag)
 
 expr (bool b, const YYLTYPE &loc, bool_tag)
 
 expr (std::string &&s, const YYLTYPE &loc)
 
 expr (id_type id, const YYLTYPE &loc, identifier_tag)
 
 expr (const YYLTYPE &loc, dollar_tag)
 
 expr (const YYLTYPE &loc, break_tag t)
 
 expr (expr_p exp, const YYLTYPE &loc, return_tag t)
 
 expr (const YYLTYPE &loc, die_tag)
 
 expr (expr_list &&nodes, tuple_display_tag, const YYLTYPE &loc)
 
 expr (expr_list &&nodes, list_display_tag, const YYLTYPE &loc)
 
 expr (expr_list &&nodes, tuple_display_tag, const source_location &loc)
 
 expr (expr_list &&nodes, tuple_display_tag)
 
 expr (app &&fx, const YYLTYPE &loc)
 
 expr (app &&fx, const source_location &loc)
 
 expr (expr *p, const YYLTYPE &loc, negate_tag)
 
 expr (let &&declaration, const YYLTYPE &loc)
 
 expr (lambda &&fun, const YYLTYPE &loc)
 
 expr (expr_kind which, cond &&conditional, const YYLTYPE &loc)
 
 expr (w_loop &&loop, const YYLTYPE &loc)
 
 expr (f_loop &&loop, const YYLTYPE &loc)
 
 expr (c_loop &&loop, const YYLTYPE &loc)
 
 expr (sub &&s, const YYLTYPE &loc)
 
 expr (sub &&s, const source_location &loc)
 
 expr (slc &&s, const YYLTYPE &loc)
 
 expr (cast &&c, const YYLTYPE &loc)
 
 expr (op_cast &&c, const YYLTYPE &loc)
 
 expr (assignment &&a, const YYLTYPE &loc)
 
 expr (comp_assignment &&ca, const YYLTYPE &loc)
 
 expr (sequence &&s, unsigned which, const YYLTYPE &loc)
 

Public Attributes

expr_kind kind
 
union {
   int   int_denotation_variant
 
   bool   bool_denotation_variant
 
   std::string   str_denotation_variant
 
   id_type   identifier_variant
 
   unsigned   break_variant
 
   expr_p   return_variant
 
   raw_expr_list   sublist
 
   app   call_variant
 
   expr *   negation_variant
 
   let   let_variant
 
   lambda   lambda_variant
 
   cond   if_variant
 
   w_loop   while_variant
 
   f_loop   for_variant
 
   c_loop   cfor_variant
 
   sub   subscription_variant
 
   slc   slice_variant
 
   cast   cast_variant
 
   op_cast   op_cast_variant
 
   assignment   assign_variant
 
   comp_assignment   comp_assign_variant
 
   sequence   sequence_variant
 
}; 
 
source_location loc
 

Constructor & Destructor Documentation

atlas::interpreter::expr::expr ( )
inline
atlas::interpreter::expr::expr ( const expr x)
delete
atlas::interpreter::expr::~expr ( )
atlas::interpreter::expr::expr ( expr &&  other)
atlas::interpreter::expr::expr ( int  n,
const YYLTYPE loc,
int_tag   
)
inline
atlas::interpreter::expr::expr ( bool  b,
const YYLTYPE loc,
bool_tag   
)
inline
atlas::interpreter::expr::expr ( std::string &&  s,
const YYLTYPE loc 
)
inline
atlas::interpreter::expr::expr ( id_type  id,
const YYLTYPE loc,
identifier_tag   
)
inline
atlas::interpreter::expr::expr ( const YYLTYPE loc,
dollar_tag   
)
inline
atlas::interpreter::expr::expr ( const YYLTYPE loc,
break_tag  t 
)
inline
atlas::interpreter::expr::expr ( expr_p  exp,
const YYLTYPE loc,
return_tag  t 
)
inline
atlas::interpreter::expr::expr ( const YYLTYPE loc,
die_tag   
)
inline
atlas::interpreter::expr::expr ( expr_list &&  nodes,
tuple_display_tag  ,
const YYLTYPE loc 
)
inline
atlas::interpreter::expr::expr ( expr_list &&  nodes,
list_display_tag  ,
const YYLTYPE loc 
)
inline
atlas::interpreter::expr::expr ( expr_list &&  nodes,
tuple_display_tag  ,
const source_location loc 
)
inline
atlas::interpreter::expr::expr ( expr_list &&  nodes,
tuple_display_tag   
)
atlas::interpreter::expr::expr ( app &&  fx,
const YYLTYPE loc 
)
inline
atlas::interpreter::expr::expr ( app &&  fx,
const source_location loc 
)
inline
atlas::interpreter::expr::expr ( expr p,
const YYLTYPE loc,
negate_tag   
)
inline
atlas::interpreter::expr::expr ( let &&  declaration,
const YYLTYPE loc 
)
inline
atlas::interpreter::expr::expr ( lambda &&  fun,
const YYLTYPE loc 
)
inline
atlas::interpreter::expr::expr ( expr_kind  which,
cond &&  conditional,
const YYLTYPE loc 
)
inline
atlas::interpreter::expr::expr ( w_loop &&  loop,
const YYLTYPE loc 
)
inline
atlas::interpreter::expr::expr ( f_loop &&  loop,
const YYLTYPE loc 
)
inline
atlas::interpreter::expr::expr ( c_loop &&  loop,
const YYLTYPE loc 
)
inline
atlas::interpreter::expr::expr ( sub &&  s,
const YYLTYPE loc 
)
inline
atlas::interpreter::expr::expr ( sub &&  s,
const source_location loc 
)
inline
atlas::interpreter::expr::expr ( slc &&  s,
const YYLTYPE loc 
)
inline
atlas::interpreter::expr::expr ( cast &&  c,
const YYLTYPE loc 
)
inline
atlas::interpreter::expr::expr ( op_cast &&  c,
const YYLTYPE loc 
)
inline
atlas::interpreter::expr::expr ( assignment &&  a,
const YYLTYPE loc 
)
inline
atlas::interpreter::expr::expr ( comp_assignment &&  ca,
const YYLTYPE loc 
)
inline
atlas::interpreter::expr::expr ( sequence &&  s,
unsigned  which,
const YYLTYPE loc 
)
inline

Member Function Documentation

expr& atlas::interpreter::expr::operator= ( const expr x)
delete
void atlas::interpreter::expr::set_from ( expr other)
void atlas::interpreter::expr::swap ( expr other)

Member Data Documentation

union { ... }
assignment atlas::interpreter::expr::assign_variant
bool atlas::interpreter::expr::bool_denotation_variant
unsigned atlas::interpreter::expr::break_variant
app atlas::interpreter::expr::call_variant
cast atlas::interpreter::expr::cast_variant
c_loop atlas::interpreter::expr::cfor_variant
comp_assignment atlas::interpreter::expr::comp_assign_variant
f_loop atlas::interpreter::expr::for_variant
id_type atlas::interpreter::expr::identifier_variant
cond atlas::interpreter::expr::if_variant
int atlas::interpreter::expr::int_denotation_variant
expr_kind atlas::interpreter::expr::kind
lambda atlas::interpreter::expr::lambda_variant
let atlas::interpreter::expr::let_variant
source_location atlas::interpreter::expr::loc
expr* atlas::interpreter::expr::negation_variant
op_cast atlas::interpreter::expr::op_cast_variant
expr_p atlas::interpreter::expr::return_variant
sequence atlas::interpreter::expr::sequence_variant
slc atlas::interpreter::expr::slice_variant
std::string atlas::interpreter::expr::str_denotation_variant
raw_expr_list atlas::interpreter::expr::sublist
sub atlas::interpreter::expr::subscription_variant
w_loop atlas::interpreter::expr::while_variant

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