Open
Description
TBD
We can probably just use a triplet of Yul expressions, resp. expression patterns:
- precondition: evaluates to non-zero, if the rule can be applied
- match: pattern expression for matching the rule
- replacement: pattern expression to replace the matched code snippet
The match expression can use symbolic pattern variables for matching variables and constants and (at a later stage when extending this from expressions to statements) arbitrary code blocks. Precondition and replacement expressions can use any pattern variables used in the match expression.