anchor.diff:      |   declarationList declaration
       ;
   
  +/* Droplet: ANTLR has trouble parsing a string when a rule doesn't
  +   contain an EOF token at the end of it. To do live reparsing, we
  +   have to define new duplicate rules for each intermediate node plus EOF
  +   so that we can parse small parts of the program independently.
  +  */
   primaryExpression_DropletFile
       :   Identifier EOF
       |   Constant EOF
  
positive.code:     |   EscapeSequence
      ;
  
  Directive
      :   '#' [^\r\n]*? ~[\r\n]*
          -> skip
  
negative.code:     :   'struct'
      |   'union'
      ;
  
  structDeclarationsBlock
      :   '{' structDeclarationList '}'
  