ceptr
 All Data Structures Files Functions Variables Typedefs Macros Modules Pages
sys_defs.h File Reference

Defines types and vars for system defined semantics. More...

#include "ceptr_types.h"
#include "semtable.h"
Include dependency graph for sys_defs.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define is_sys_symbol(s)   (s.context == SYS_CONTEXT)
 
#define is_sys_process(s)   (is_process(s) && (s.context == SYS_CONTEXT))
 
#define is_sys_structure(s)   (is_structure(s) && (s.context == SYS_CONTEXT))
 
#define is_sys_receptor(s)   (is_receptor(s) && (s.context == SYS_CONTEXT))
 
#define sT(ctx, name, num,...)   name = _d_define_structure_v(sem,"" #name "",ctx,num,__VA_ARGS__)
 
#define sTs(ctx, name, def)   G_ctx = ctx;G_label=""#name"";name = _d_define_structure(sem,"" #name "",def,ctx);
 
#define sY(ctx, name, str)   name = _d_define_symbol(sem,str,"" #name "",ctx)
 
#define sYs(ctx, sym, str)   __d_set_symbol_structure(__sem_get_defs(sem,SEM_TYPE_SYMBOL,ctx),sym,str)
 
#define sP(ctx, name, code, intention,...)   name = _d_define_process(sem,code,"" #name "",intention,__p_make_signature(__VA_ARGS__),NULL,ctx)
 
#define sPL(ctx, name, code, intention, link_to, link_as,...)   name = _d_define_process(sem,code,"" #name "",intention,__p_make_signature(__VA_ARGS__), _t_build(sem,0,PROCESS_LINK,PROCESS_OF_STRUCTURE,link_to,PROCESS_TYPE,link_as,NULL_SYMBOL,NULL_SYMBOL),ctx)
 
#define sT_OR(...)   sT_(sem,STRUCTURE_OR,__VA_ARGS__)
 
#define sT_SEQ(...)   sT_(sem,STRUCTURE_SEQUENCE,__VA_ARGS__)
 
#define sT_STAR(...)   sT_(sem,STRUCTURE_ZERO_OR_MORE,1,__VA_ARGS__)
 
#define sT_PLUS(...)   sT_(sem,STRUCTURE_ONE_OR_MORE,1,__VA_ARGS__)
 
#define sT_QMRK(...)   sT_(sem,STRUCTURE_ZERO_OR_ONE,1,__VA_ARGS__)
 
#define sT_SYM(sym)   _t_news(0,STRUCTURE_SYMBOL,sym)
 
#define sT_PCNT(str)   _t_news(0,STRUCTURE_STRUCTURE,str)
 
#define sT_BANG   _t_newr(0,STRUCTURE_ANYTHING)
 
#define sProt(ctx, name, def)   {_o_add_label("" #name "",def);name = _d_define_protocol(sem,def,ctx);}
 
#define sData(ctx, name,...)   T *name=_t_build2(sem,0,__VA_ARGS__);
 
#define sLabel(ctx, s, label_type, label)   _sem_add_label(sem,s,label_type,label);
 

Functions

TsT_ (SemTable *sem, Symbol sym, int num_params,...)
 
void load_contexts (SemTable *sem)
 
void load_context (char *name, Receptor *parent)
 

Variables

SemTableG_sem
 
const Structure NULL_SYMBOL
 
const Process NULL_PROCESS
 
const Structure NULL_STRUCTURE
 
Context G_ctx
 
char * G_label
 

Detailed Description

Defines types and vars for system defined semantics.

Definition in file sys_defs.h.