Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| guide:start [2023/04/21 17:35] – [Referencing a process] rajit | guide:start [2023/04/21 17:43] (current) – [Referencing a particular language body] rajit | ||
|---|---|---|---|
| Line 19: | Line 19: | ||
| ==== Referencing a process ==== | ==== Referencing a process ==== | ||
| - | Once the '' | + | Once the '' |
| < | < | ||
| Process *p = a-> | Process *p = a-> | ||
| Line 26: | Line 26: | ||
| } | } | ||
| </ | </ | ||
| + | In this example, the assumption is that '' | ||
| ==== Referencing the languages body ==== | ==== Referencing the languages body ==== | ||
| Line 34: | Line 34: | ||
| lang = p-> | lang = p-> | ||
| </ | </ | ||
| + | This provides access to all the sub-languages specified within the process.((The refinement body is processed by the expansion phase, and hence the expanded process will contains the appropriate sub-language bodies after taking the specified number of refinement steps into account. This is why '' | ||
| ==== Referencing a particular language body ==== | ==== Referencing a particular language body ==== | ||
| A language body can be accessed from the languages pointer. For example, for the chp body: | A language body can be accessed from the languages pointer. For example, for the chp body: | ||
| - | < | + | < |
| act_chp *chp; | act_chp *chp; | ||
| chp = lang-> | chp = lang-> | ||
| </ | </ | ||
| + | Note that the '' | ||
| - | Finally, to get a pointer to the actual object that stores the chp data structure: | + | Finally, to get a pointer to the actual object that stores the CHP data structure: |
| < | < | ||
| act_chp_lang_t *chp_lang; | act_chp_lang_t *chp_lang; | ||
| Line 53: | Line 54: | ||
| ==== The statement list data structure ==== | ==== The statement list data structure ==== | ||
| - | The linked list '' | + | The linked list '' |
| - | < | + | < |
| act_chp_lang_t *c; // contains the overall chp body | act_chp_lang_t *c; // contains the overall chp body | ||
| act_chp_lang_t *stmt; | act_chp_lang_t *stmt; | ||
| Line 60: | Line 61: | ||
| listitem_t *li; | listitem_t *li; | ||
| + | // if c->type is ACT_CHP_SEMI or ACT_CHP_COMMA | ||
| stmt_list = c-> | stmt_list = c-> | ||