cuex/pvar.h: Variables with Internal Properties
[cuex: Expressions]

Data Structures

struct  cuex_pvar


#define cuex_pvarmeta(qcode)   cuex_varmeta_kqi(cuex_varkind_pvar, qcode, 0)
#define cuex_meta_is_pvarmeta(meta)   cuex_is_varmeta_k(meta, cuex_varkind_pvar)
#define cuex_meta_is_pvarmeta_q(meta, qcode)   cuex_is_varmeta_kq(meta, cuex_varkind_pvar, qcode)
#define cuex_meta_is_pvarmeta_u(meta)   cuex_meta_is_pvarmeta_q(meta, cuex_qcode_u)
#define cuex_meta_is_pvarmeta_e(meta)   cuex_meta_is_pvarmeta_q(meta, cuex_qcode_e)
#define cuex_meta_is_pvarmeta_w(meta)   cuex_meta_is_pvarmeta_q(meta, cuex_qcode_w)
#define cuex_meta_is_pvarmeta_n(meta)   cuex_meta_is_pvarmeta_q(meta, cuex_qcode_n)
#define cuex_qcode_unknown   cuex_qcode_n
#define cuex_qcode_na   cuex_qcode_n
#define cuex_qcode_arg   cuex_qcode_n
#define cuex_qcode_uniq   cuex_qcode_n
#define cuex_qcode_active_s   cuex_qcode_u
#define cuex_qcode_active_w   cuex_qcode_w
#define cuex_qcode_passive   cuex_qcode_e
#define cuex_pvar_from_ex(ex)   ((cuex_pvar_t)(ex))
#define cuex_pvar_to_ex(var)   ((cuex_t)(var))
#define cuex_pvar_from_var(v)   ((cuex_pvar_t)(v))
#define cuex_pvar_to_var(v)   ((cuex_var_t)(v))
#define cuex_pvar_has_offset(var)   (CU_MARG(cuex_pvar_t, var)->offset != (cu_offset_t)-1)


char const * cuex_qcode_name (cuex_qcode_t quant)
cuex_pvar_t cuex_pvar_new (cuex_qcode_t qcode)
cuex_pvar_t cuex_pvar_new_named (cuex_qcode_t qcode, char const *print_str)
cuex_qcode_t cuex_pvar_qcode (cuex_pvar_t var)
void cuex_pvar_set_static_type (cuex_pvar_t var, cuex_t type)
cuex_t cuex_pvar_static_type (cuex_pvar_t var)
cu_offset_t cuex_pvar_offset (cuex_pvar_t var)
cu_bool_t cuex_pvar_has_offset (cuex_pvar_t)
void * cuex_pvar_module (cuex_pvar_t var)
cu_idr_t cuex_pvar_idr (cuex_pvar_t var)
void cuex_pvar_set_module (cuex_pvar_t var, void *M, cu_idr_t idr)
cu_str_t cuex_pvar_name (cuex_pvar_t var)
cuex_t cuex_pvar_qname (cuex_pvar_t var)
cu_idr_t cuex_pvar_qidr (cuex_pvar_t var)

Detailed Description

This is work in progress. The interface will change.

Define Documentation

#define cuex_meta_is_pvarmeta ( meta   )     cuex_is_varmeta_k(meta, cuex_varkind_pvar)

True iff meta is of a cu_pvar_t with any quantisation.

#define cuex_meta_is_pvarmeta_e ( meta   )     cuex_meta_is_pvarmeta_q(meta, cuex_qcode_e)

True iff meta is of a existential cu_pvar_t.

#define cuex_meta_is_pvarmeta_n ( meta   )     cuex_meta_is_pvarmeta_q(meta, cuex_qcode_n)

True iff meta is of a unquantified cu_pvar_t.

#define cuex_meta_is_pvarmeta_q ( meta,
qcode   )     cuex_is_varmeta_kq(meta, cuex_varkind_pvar, qcode)

True iff meta is of a cu_pvar_t quantified as qcode.

#define cuex_meta_is_pvarmeta_u ( meta   )     cuex_meta_is_pvarmeta_q(meta, cuex_qcode_u)

True iff meta is of a universal cu_pvar_t.

#define cuex_meta_is_pvarmeta_w ( meta   )     cuex_meta_is_pvarmeta_q(meta, cuex_qcode_w)

True iff meta is of a weak universal cu_pvar_t.

#define cuex_pvarmeta ( qcode   )     cuex_varmeta_kqi(cuex_varkind_pvar, qcode, 0)

The meta of a variable with internal properties quantified as qcode.

Function Documentation

cuex_pvar_t cuex_pvar_new ( cuex_qcode_t  qcode  ) 

Return a unique variable with the given quantization.

cuex_pvar_t cuex_pvar_new_named ( cuex_qcode_t  qcode,
char const *  print_str 

Return a unique variable with the given quantization and set its print name with 'chi_ex_set_print_str'.

cuex_qcode_t cuex_pvar_qcode ( cuex_pvar_t  var  ) 

The quantifier code of var.

Generated 2009-11-23 for culibs-0.25 using Doxygen. Maintained by Petter Urkedal.