Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| language:langs:refine [2024/08/11 10:31] – [Multiple refinement options] rajit | language:langs:refine [2025/07/21 19:47] (current) – [Multiple refinement options] rajit | ||
|---|---|---|---|
| Line 111: | Line 111: | ||
| </ | </ | ||
| - | In this case, " | + | In this case, the '' |
| - | be created, and '' | + | instance '' |
| - | In general, a refine block has an associated integer refinement level (the default is one). When ACT processes a block with refinement level //r//, it searches for the largest refinement block with level that is at most //r//. (Note: this may be no block, in which case the block is processed as normal.) If a refine block with level //l// is found, then it processes all non-language constructs within the block and then expands the refinement block with level //l// by decrementing the current refinement level by //l//. | + | ===== Refinement overrides ===== |
| + | Sometimes a refinement body needs to [[language: | ||
| + | |||
| + | The syntax for providing refinement overrides is below: | ||
| + | |||
| + | <code act> | ||
| + | refine< | ||
| + | inst1 i1; | ||
| + | ... | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | This will apply the refinement override for '' | ||