================================================================================
basic example, replacement
================================================================================

ssr: _@X = 3 ==>> _@X = 4.

--------------------------------------------------------------------------------

(source_file
  (ssr_definition
    (match_expr
      (var)
      (integer))
    (ssr_replacement
      (match_expr
        (var)
        (integer)))))

================================================================================
basic example, match only
================================================================================

ssr: _@X = 3.

--------------------------------------------------------------------------------

(source_file
  (ssr_definition
    (match_expr
      (var)
      (integer))))

================================================================================
basic example, match only, alternative syntax
================================================================================

ssr: _@X = 3.

--------------------------------------------------------------------------------

(source_file
  (ssr_definition
    (match_expr
      (var)
      (integer))))

================================================================================
with where clause
================================================================================

ssr: _@X = _@Y ==>> _@X = 4
   when is_atom(_@Y).

--------------------------------------------------------------------------------

(source_file
  (ssr_definition
    (match_expr
      (var)
      (var))
    (ssr_replacement
      (match_expr
        (var)
        (integer)))
    (ssr_when
      (guard
        (guard_clause
          (call
            (atom)
            (expr_args
              (var))))))))

================================================================================
record field name as placeholder
================================================================================

ssr: #foo{x = _@A, k2 = _@B, k3 = _@C}.

--------------------------------------------------------------------------------

(source_file
  (ssr_definition
    (record_expr
      (record_name
        (atom))
      (record_field
        (atom)
        (field_expr
          (var)))
      (record_field
        (atom)
        (field_expr
          (var)))
      (record_field
        (atom)
        (field_expr
          (var))))))
