Research Article
SPOT: A DSL for Extending Fortran Programs with Metaprogramming
Algorithm 2
An example of RSL rule defined with DMS.
rule desugar_conditional_assignment_stmt(lv:left_hand_side, exp1:expression, exp2:expression, exp3:expression ): | statement -> statement | = “∖lv=∖exp1?∖exp2:∖exp3;” -> | “if(∖exp1) ∖lv=exp2; else ∖lv=exp3; | if no_side_effects (lv); |
|