Cthulhu  0.2.10
Cthulhu compiler collection
ops.h File Reference
#include <ctu_tree_api.h>
#include "core/compiler.h"
#include "core/analyze.h"
#include "cthulhu/tree/tree.inc"
Include dependency graph for ops.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define TREE_KIND(ID, NAME, TAGS)   ID,
 
#define TYPE_QUALIFIER(ID, NAME, FLAG)   ID = (FLAG),
 
#define BINARY_OP(ID, NAME, SYMBOL)   ID,
 
#define COMPARE_OP(ID, NAME, SYMBOL)   ID,
 
#define UNARY_OP(ID, NAME, SYMBOL)   ID,
 
#define CAST_OP(ID, NAME)   ID,
 
#define TREE_ARITY(ID, STR)   ID,
 
#define TREE_LINKAGE(ID, STR)   ID,
 
#define TREE_JUMP(ID, STR)   ID,
 
#define TREE_VISIBILITY(ID, STR)   ID,
 
#define DIGIT_KIND(ID, STR)   ID,
 
#define SIGN_KIND(ID, STR)   ID,
 
#define TREE_EVAL_MODEL(ID, STR, BITS)   ID = (BITS),
 
enum  tree_kind_t { eTreeTotal }
 all tree node types More...
 
enum  tree_quals_t
 all type qualifiers More...
 
enum  binary_t { eBinaryTotal }
 all binary operators More...
 
enum  compare_t { eCompareTotal }
 all comparison operators More...
 
enum  unary_t { eUnaryTotal }
 all unary operators More...
 
enum  tree_cast_t { eCastTotal }
 all casts More...
 
enum  tree_arity_t { eArityTotal }
 all arities More...
 
enum  tree_linkage_t { eLinkTotal }
 the linkage of a declaration More...
 
enum  tree_jump_t { eJumpTotal }
 the type of jump More...
 
enum  tree_visibility_t { eVisibileTotal }
 symbol visibility More...
 
enum  digit_t { eDigitTotal }
 digit width More...
 
enum  sign_t { eSignTotal }
 integer sign More...
 
enum  eval_model_t
 tree evaluation model More...
 
CT_TREE_API const char * unary_name (unary_t op)
 get the pretty name of a unary operator More...
 
CT_TREE_API const char * binary_name (binary_t op)
 get the pretty name of a binary operator More...
 
CT_TREE_API const char * compare_name (compare_t op)
 get the pretty name of a comparison operator More...
 
CT_TREE_API const char * unary_symbol (unary_t op)
 get the C symbol of a unary operator More...
 
CT_TREE_API const char * binary_symbol (binary_t op)
 get the C symbol of a binary operator More...
 
CT_TREE_API const char * compare_symbol (compare_t op)
 get the C symbol of a comparison operator More...
 
CT_TREE_API const char * sign_name (sign_t sign)
 get the pretty name of a integer sign More...
 
CT_TREE_API const char * digit_name (digit_t digit)
 get the pretty name of a digit More...
 
CT_TREE_API const char * quals_string (tree_quals_t quals)
 get the name of a set of qualifiers More...
 
CT_TREE_API const char * linkage_string (tree_linkage_t link)
 get the name of a linkage More...
 
CT_TREE_API const char * visibility_string (tree_visibility_t vis)
 get the name of visibility More...
 

Macro Definition Documentation

◆ BINARY_OP

#define BINARY_OP (   ID,
  NAME,
  SYMBOL 
)    ID,

Definition at line 33 of file ops.h.

◆ CAST_OP

#define CAST_OP (   ID,
  NAME 
)    ID,

Definition at line 57 of file ops.h.

◆ COMPARE_OP

#define COMPARE_OP (   ID,
  NAME,
  SYMBOL 
)    ID,

Definition at line 41 of file ops.h.

◆ DIGIT_KIND

#define DIGIT_KIND (   ID,
  STR 
)    ID,

Definition at line 97 of file ops.h.

◆ SIGN_KIND

#define SIGN_KIND (   ID,
  STR 
)    ID,

Definition at line 105 of file ops.h.

◆ TREE_ARITY

#define TREE_ARITY (   ID,
  STR 
)    ID,

Definition at line 65 of file ops.h.

◆ TREE_EVAL_MODEL

#define TREE_EVAL_MODEL (   ID,
  STR,
  BITS 
)    ID = (BITS),

Definition at line 113 of file ops.h.

◆ TREE_JUMP

#define TREE_JUMP (   ID,
  STR 
)    ID,

Definition at line 81 of file ops.h.

◆ TREE_KIND

#define TREE_KIND (   ID,
  NAME,
  TAGS 
)    ID,

Definition at line 18 of file ops.h.

◆ TREE_LINKAGE

#define TREE_LINKAGE (   ID,
  STR 
)    ID,

Definition at line 73 of file ops.h.

◆ TREE_VISIBILITY

#define TREE_VISIBILITY (   ID,
  STR 
)    ID,

Definition at line 89 of file ops.h.

◆ TYPE_QUALIFIER

#define TYPE_QUALIFIER (   ID,
  NAME,
  FLAG 
)    ID = (FLAG),

Definition at line 26 of file ops.h.

◆ UNARY_OP

#define UNARY_OP (   ID,
  NAME,
  SYMBOL 
)    ID,

Definition at line 49 of file ops.h.