Cthulhu  0.2.10
Cthulhu compiler collection
tree.inc File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define TREE_TAG(ID, NAME, BIT)
 
#define TREE_KIND(ID, NAME, TAGS)
 tree kind defs More...
 
#define DIGIT_KIND(ID, STR)
 boolean logic type More...
 
#define SIGN_KIND(ID, STR)
 dealing with C interop More...
 
#define TYPE_QUALIFIER(ID, STR, BIT)
 
#define TREE_LINKAGE(ID, STR)
 symbol visibility during linking More...
 
#define TREE_VISIBILITY(ID, NAME)
 symbol visibility during compilation More...
 
#define UNARY_OP(ID, NAME, SYMBOL)
 
#define BINARY_OP(ID, NAME, SYMBOL)
 
#define COMPARE_OP(ID, NAME, SYMBOL)
 
#define CAST_OP(ID, NAME)
 
#define TREE_ARITY(ID, NAME)
 
#define TREE_JUMP(ID, NAME)
 
#define TREE_EVAL_MODEL(ID, NAME, BIT)
 

Macro Definition Documentation

◆ BINARY_OP

#define BINARY_OP (   ID,
  NAME,
  SYMBOL 
)

Definition at line 280 of file tree.inc.

◆ CAST_OP

#define CAST_OP (   ID,
  NAME 
)

Definition at line 314 of file tree.inc.

◆ COMPARE_OP

#define COMPARE_OP (   ID,
  NAME,
  SYMBOL 
)

Definition at line 298 of file tree.inc.

◆ DIGIT_KIND

#define DIGIT_KIND (   ID,
  STR 
)

boolean logic type

types an empty type is a type that can never be created can be used to denote a function that wont return a type that has a single possible value equivalent to void in C an opaque, possibly typed, pointer equivalent to both void* as well as a pointer to an incomplete type a digit with a fixed width and sign a function pointer type (no captures) an immutable string this is a special sort of array that can be implicitly cast to a pointer or array a reference to an object equivalent to an lvalue in C or a T& in C++ a pointer to an object plain old T* an array of objects that may optionally have a fixed size either T[] or T[N] a class type a struct type a union type an enum a discriminated union, or sum type a type alias expressions these yield a value sizeof expression alignof expression offsetof expression an uninitialized value a unit value a boolean value a digit value a string literal a cast expression exact rules vary by which CAST_OP is used load from an address pointers, arrays, and references can be loaded but must have a complete type, ie not eTreeTypeOpaque or eTreePartial take the address of an object with storage unary operations binary operations compare operations get a reference to a field in a struct equivilent to obj.field in C get a reference to an index in an array equivalent to arr[idx] in C (but arr must be a pointer type) call a function supports both direct and indirect calls statements these cannot yield a value a dummy statement node to be used when passing builtins/attribute statements to a backend < loop related jumps declarations < a qualified node unresolved type an error message

Definition at line 182 of file tree.inc.

◆ SIGN_KIND

#define SIGN_KIND (   ID,
  STR 
)

dealing with C interop

Definition at line 223 of file tree.inc.

◆ TREE_ARITY

#define TREE_ARITY (   ID,
  NAME 
)

Definition at line 324 of file tree.inc.

◆ TREE_EVAL_MODEL

#define TREE_EVAL_MODEL (   ID,
  NAME,
  BIT 
)

Definition at line 342 of file tree.inc.

◆ TREE_JUMP

#define TREE_JUMP (   ID,
  NAME 
)

Definition at line 333 of file tree.inc.

◆ TREE_KIND

#define TREE_KIND (   ID,
  NAME,
  TAGS 
)

tree kind defs

Definition at line 22 of file tree.inc.

◆ TREE_LINKAGE

#define TREE_LINKAGE (   ID,
  STR 
)

symbol visibility during linking

Definition at line 244 of file tree.inc.

◆ TREE_TAG

#define TREE_TAG (   ID,
  NAME,
  BIT 
)

no tags the node type can have a name this node type can have type qualifiers this node type is a type this node type has a type it evaluates to this node type can have a storage class this node type can have an evaluation model

Definition at line 16 of file tree.inc.

◆ TREE_VISIBILITY

#define TREE_VISIBILITY (   ID,
  NAME 
)

symbol visibility during compilation

Definition at line 260 of file tree.inc.

◆ TYPE_QUALIFIER

#define TYPE_QUALIFIER (   ID,
  STR,
  BIT 
)

Definition at line 230 of file tree.inc.

◆ UNARY_OP

#define UNARY_OP (   ID,
  NAME,
  SYMBOL 
)

Definition at line 269 of file tree.inc.