anchor.diff:      |   blockItemList blockItem
       ;
   
  -// A block item can be a special kind of function call, which we
  -// check before we check declarations to avoid conflicts with a (b);.
  +/* Droplet: In the standard C grammar, there is an ambiguity:
  +   `a (b);`
  +   could either be a method named `a` called with argument `b`, or a declaration
  +   of a variable `b` with type `a`.
  +
  +   This ANTLR grammar always interpreted it as the latter, but for Droplet purposes
  +   we want it interpreted as the former, as that is the more common use case.
  +
  +   We therefore have a new type of node, specialMethodCall, for just this case
  +   which takes priority over declarations. */
   blockItem
       :   specialMethodCall
       |   declaration
  
positive.code:     |   declarationList declaration
      ;
  
  primaryExpression_DropletFile
      :   Identifier EOF
      |   Constant EOF
  
negative.code:     |   EscapeSequence
      ;
  
  /* Droplet: we parse all directives as if they were comments,
     distinguishing between them later in parseComment. */
  Directive
      :   '#' [^\r\n]*? ~[\r\n]*
          -> skip
  