1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
// replace 'R = X; return R;' with 'return X;' @@ identifier VAR; expression E; type T; identifier F; @@ T F(...) { ... - T VAR; ... when != VAR - VAR = + return E; - return VAR; ... when != VAR }