|
ACT Library
|
Data structure for the chp sub-language body. More...
#include <lang.h>
Public Attributes | |
| int | type |
| this is taken from act_chp_lang_type | |
| const char * | label |
| label for this item, normally NULL | |
| void * | space |
| this space for rent! | |
| union { | |
| struct { | |
| ActId * id | |
| variable on the LHS More... | |
| Expr * e | |
| expression on the RHS More... | |
| } assign | |
| assignment statement id := e More... | |
| struct { | |
| ActId * chan | |
| channel for communication More... | |
| ActId * var | |
| variable to be assigned More... | |
| Expr * e | |
| expression to be sent More... | |
| unsigned int flavor:2 | |
| unsigned int convert:2 | |
| 0 = nothing, 1 = bool(.), 2 = int(.) More... | |
| } comm | |
| used for send/recv More... | |
| struct { | |
| mstring_t * name | |
| function name More... | |
| list_t * rhs | |
| } func | |
| currently only used for log(..) More... | |
| struct { | |
| ActId * id | |
| the name of the instance More... | |
| mstring_t * name | |
| the macro name More... | |
| list_t * rhs | |
| the argument list, list of Expr * More... | |
| } macro | |
| macro call More... | |
| struct { | |
| list_t * cmd | |
| a list of act_chp_lang_t pointers More... | |
| } semi_comma | |
| used for comma and semicolon More... | |
| act_chp_gc_t * gc | |
| struct { | |
| const char * id | |
| loop variable More... | |
| Expr * lo | |
| Expr * hi | |
| struct act_chp_lang * body | |
| body to be replicated More... | |
| } loop | |
| replication construct More... | |
| struct { | |
| const char * nextlabel | |
| next label More... | |
| list_t * exit_conds | |
| struct act_chp_lang * body | |
| fragment body More... | |
| struct act_chp_lang * next | |
| next fragment More... | |
| } frag | |
| HSE fragments. More... | |
| } | u |
Data structure for the chp sub-language body.
| struct { ... } act_chp_lang::assign |
assignment statement id := e
| struct act_chp_lang* act_chp_lang::body |
body to be replicated
fragment body
| ActId* act_chp_lang::chan |
channel for communication
| list_t* act_chp_lang::cmd |
a list of act_chp_lang_t pointers
| struct { ... } act_chp_lang::comm |
used for send/recv
| unsigned int act_chp_lang::convert |
0 = nothing, 1 = bool(.), 2 = int(.)
| Expr* act_chp_lang::e |
expression on the RHS
expression to be sent
| list_t* act_chp_lang::exit_conds |
list of exit conditions, Expr * (boolean expr) + char * (ID)
| unsigned int act_chp_lang::flavor |
0 = blank, 1 = up, 2 = down; used for explicit two-phase CHP
| struct { ... } act_chp_lang::frag |
HSE fragments.
| struct { ... } act_chp_lang::func |
currently only used for log(..)
| act_chp_gc_t* act_chp_lang::gc |
loop or select; also used for a do-loop, where there is exactly one gc
| Expr * act_chp_lang::hi |
| ActId* act_chp_lang::id |
variable on the LHS
the name of the instance
| const char* act_chp_lang::id |
loop variable
| const char* act_chp_lang::label |
label for this item, normally NULL
| Expr* act_chp_lang::lo |
| struct { ... } act_chp_lang::loop |
replication construct
| struct { ... } act_chp_lang::macro |
macro call
| mstring_t* act_chp_lang::name |
function name
the macro name
| struct act_chp_lang* act_chp_lang::next |
next fragment
| const char* act_chp_lang::nextlabel |
next label
| list_t* act_chp_lang::rhs |
the argument list, list of Expr *
arguments, a list of act_func_arguments
| struct { ... } act_chp_lang::semi_comma |
used for comma and semicolon
| void* act_chp_lang::space |
this space for rent!
| int act_chp_lang::type |
this is taken from act_chp_lang_type
| union { ... } act_chp_lang::u |
| ActId* act_chp_lang::var |
variable to be assigned