anchor.diff:  
   RegexpLiteral
       :  ('#/'
  -            ( ({!(input.LA(1) == '#' && input.LA(2) == '{')}?=> ( EscapeSequenceRegexp | ~('\\'|'/')))* )
  +            ( ({!lookingAtInterpolation()}?=> ( EscapeSequenceRegexp | ~('\\'|'/')))* )
               (
                   '#{' {startRegexpInterpolation(); }
               |   '/' RegexpModifier))
       |  ('#r[' 
  -        ( ({!(input.LA(1) == '#' && input.LA(2) == '{')}?=> (EscapeSequenceRegexp | ~('\\'|']')))* ) 
  +        ( ({!lookingAtInterpolation()}?=> (EscapeSequenceRegexp | ~('\\'|']')))* ) 
           (
               '#{' {startAltRegexpInterpolation(); }
           |   ']' RegexpModifier))
  -    | {isRegexpInterpolating()}?=> ('}' (({!(input.LA(1) == '#' && input.LA(2) == '{')}?=> (EscapeSequenceRegexp | ~('\\'|'/')))* ) 
  +    | {isRegexpInterpolating()}?=> ('}' (({!lookingAtInterpolation()}?=> (EscapeSequenceRegexp | ~('\\'|'/')))* ) 
           (
               '#{' {startRegexpInterpolation(); }
   
           |   '/' RegexpModifier  {endRegexpInterpolation(); }))
  -    | {isAltRegexpInterpolating()}?=> ('}' ( ({!(input.LA(1) == '#' && input.LA(2) == '{')}?=> (EscapeSequenceRegexp | ~('\\'|']')))* ) 
  +    | {isAltRegexpInterpolating()}?=> ('}' ( ({!lookingAtInterpolation()}?=> (EscapeSequenceRegexp | ~('\\'|']')))* ) 
           (
               '#{' {startAltRegexpInterpolation(); }
           |   '/' RegexpModifier {endAltRegexpInterpolation(); }))
  
positive.code:         | Exponent {$type=DecimalLiteral;}
          |
          ) (
              UnitSpecifier {if($type == DecimalLiteral) {$type=UnitDecimalLiteral;} else {$type=UnitLiteral;}}
          |
          )
      ;
  
  StringLiteral
      :  ('"' 
          ( ({!(input.LA(1) == '#' && input.LA(2) == '{')}?=> (EscapeSequence | ~('\\'|'"')))* ) 
          (
              '#{' {startInterpolation(); }
          |   '"'))
      |  ('#[' 
          ( ({!(input.LA(1) == '#' && input.LA(2) == '{')}?=> (EscapeSequence | ~('\\'|']')))* ) 
          (
              '#{' {startAltInterpolation(); }
          |   ']'))
      | {isInterpolating()}?=> ('}' ( ({!(input.LA(1) == '#' && input.LA(2) == '{')}?=> (EscapeSequence | ~('\\'|'"')))* ) 
          (
              '#{' {startInterpolation(); }
          |   '"'  {endInterpolation(); }))
      | {isAltInterpolating()}?=> ('}' ( ({!(input.LA(1) == '#' && input.LA(2) == '{')}?=> (EscapeSequence | ~('\\'|']')))* ) 
          (
              '#{' {startAltInterpolation(); }
          |   ']'  {endAltInterpolation(); }))
  
negative.code:             {isNum(input.LA(2))}?=> (FloatWithLeadingDot) {$type=DecimalLiteral;}
          |
          ) (
              UnitSpecifier {$type = unitType($type);}
          |
          )
      |   NonZeroDecimal (
  