Cthulhu  0.2.10
Cthulhu compiler collection
sema.h File Reference
#include "ctu/sema/attrib.h"
#include "ctu/ast.h"
#include "cthulhu/tree/tree.h"
#include "ctu/ctu.inc"
Include dependency graph for sema.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ctu_sema_t
 

Macros

#define DECL_TAG(ID, INIT, STR)   ID INIT,
 

Enumerations

enum  ctu_tag_t { eCtuTagTotal }
 

Functions

ctu_sema_t ctu_sema_init (tree_t *sema, tree_t *decl, vector_t *block)
 
ctu_sema_t ctu_sema_nested (ctu_sema_t *parent, tree_t *sema, tree_t *decl, vector_t *block)
 
logger_tctu_sema_reports (ctu_sema_t *sema)
 
tree_tctu_get_namespace (tree_t *sema, const char *name, bool *imported)
 
tree_tctu_get_type (tree_t *sema, const char *name)
 
tree_tctu_get_decl (tree_t *sema, const char *name)
 
tree_tctu_get_loop (tree_t *sema, const char *name)
 
ctu_attrib_tctu_get_attrib (tree_t *sema, const char *name)
 
void ctu_add_decl (tree_t *sema, ctu_tag_t tag, const char *name, tree_t *decl)
 
tree_tctu_current_loop (ctu_sema_t *sema)
 
void ctu_set_current_loop (ctu_sema_t *sema, tree_t *loop)
 
tree_tctu_get_int_type (digit_t digit, sign_t sign)
 
tree_tctu_get_char_type (void)
 
tree_tctu_get_bool_type (void)
 
tree_tctu_get_void_type (void)
 
void ctu_rt_mod (language_runtime_t *runtime, tree_t *root)
 

Macro Definition Documentation

◆ DECL_TAG

#define DECL_TAG (   ID,
  INIT,
  STR 
)    ID INIT,

Definition at line 15 of file sema.h.

Enumeration Type Documentation

◆ ctu_tag_t

enum ctu_tag_t
Enumerator
eCtuTagTotal 

Definition at line 13 of file sema.h.

Function Documentation

◆ ctu_add_decl()

void ctu_add_decl ( tree_t sema,
ctu_tag_t  tag,
const char *  name,
tree_t decl 
)

adding decls

Definition at line 129 of file sema.c.

◆ ctu_current_loop()

tree_t* ctu_current_loop ( ctu_sema_t sema)

extras

Definition at line 149 of file sema.c.

◆ ctu_get_attrib()

ctu_attrib_t* ctu_get_attrib ( tree_t sema,
const char *  name 
)

Definition at line 108 of file sema.c.

◆ ctu_get_bool_type()

tree_t* ctu_get_bool_type ( void  )

Definition at line 208 of file sema.c.

◆ ctu_get_char_type()

tree_t* ctu_get_char_type ( void  )

Definition at line 207 of file sema.c.

◆ ctu_get_decl()

tree_t* ctu_get_decl ( tree_t sema,
const char *  name 
)

Definition at line 115 of file sema.c.

◆ ctu_get_int_type()

tree_t* ctu_get_int_type ( digit_t  digit,
sign_t  sign 
)

builtin types

Definition at line 202 of file sema.c.

◆ ctu_get_loop()

tree_t* ctu_get_loop ( tree_t sema,
const char *  name 
)

Definition at line 122 of file sema.c.

◆ ctu_get_namespace()

tree_t* ctu_get_namespace ( tree_t sema,
const char *  name,
bool *  imported 
)

getting decls

decls

Definition at line 75 of file sema.c.

◆ ctu_get_type()

tree_t* ctu_get_type ( tree_t sema,
const char *  name 
)

Definition at line 101 of file sema.c.

◆ ctu_get_void_type()

tree_t* ctu_get_void_type ( void  )

Definition at line 209 of file sema.c.

◆ ctu_rt_mod()

void ctu_rt_mod ( language_runtime_t runtime,
tree_t root 
)

runtime module

Definition at line 281 of file sema.c.

◆ ctu_sema_init()

ctu_sema_t ctu_sema_init ( tree_t sema,
tree_t decl,
vector_t block 
)

sema

Definition at line 21 of file sema.c.

◆ ctu_sema_nested()

ctu_sema_t ctu_sema_nested ( ctu_sema_t parent,
tree_t sema,
tree_t decl,
vector_t block 
)

Definition at line 35 of file sema.c.

◆ ctu_sema_reports()

logger_t* ctu_sema_reports ( ctu_sema_t sema)

Definition at line 65 of file sema.c.

◆ ctu_set_current_loop()

void ctu_set_current_loop ( ctu_sema_t sema,
tree_t loop 
)

Definition at line 156 of file sema.c.