anchor.diff:                    
   simplePattern     : '_'
                     | Varid
  -                  | literal
  -                  | stableId
  -                  | stableId '(' patterns? ')'
  +                  | literal 
  +                  | stableId ('(' patterns ')')?
                     | stableId '(' (patterns ',')? (Varid '@')? '_' '*' ')'
  -                  | '(' patterns? ')'
  -                //  | xmlPattern 
  -                  ;
  +                  | '(' patterns? ')' ;
   
   patterns          : pattern (',' patterns)*
                     | '_' * ;
  
positive.code:  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
  
  /** Derived from http://www.scala-lang.org/files/archive/spec/2.11/13-syntax-summary.html.
   */
  
  grammar scala;
  
  literal           : '-'? IntegerLiteral
                    | '-'? FloatingPointLiteral
  
negative.code:                     ('new' (classTemplate | templateBody)| blockExpr | simpleExpr1 '_'?) ;
  
  simpleExpr1       : literal
                    | stableId 
                    | (Id '.')? 'this'
                    | '_'
                    | '(' exprs? ')'
                    | ('new' (classTemplate | templateBody) | blockExpr ) '.' Id 
                    | ('new' (classTemplate | templateBody) | blockExpr ) typeArgs
          //          | simpleExpr1 argumentExprs  
          ;
                    
  exprs             : expr (',' expr)* ;
  
  