anchor.diff:      notice, this list of conditions and the following disclaimer in the
       documentation and/or other materials provided with the distribution.
    3. The name of the author may not be used to endorse or promote products
  -    derived from this software without specific prior written permission.
  + derived from this software without specific prior written permission.
    THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
    IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
    OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  
positive.code:     |   Constant
      |   StringLiteral+
      |   '(' expression ')'
      |   genericSelection
      |   '__extension__'? '(' compoundStatement ')' // Blocks (GCC extension)
      |   '__builtin_va_arg' '(' unaryExpression ',' typeName ')'
      |   '__builtin_offsetof' '(' typeName ',' unaryExpression ')'
      ;
  
  genericSelection
      :   '_Generic' '(' assignmentExpression ',' genericAssocList ')'
      ;
  
  genericAssocList
      :   genericAssociation
      |   genericAssocList ',' genericAssociation
      ;
  
  genericAssociation
      :   typeName ':' assignmentExpression
      |   'default' ':' assignmentExpression
      ;
  
  postfixExpression
  
negative.code:     ;
  
  jumpStatement
      :   'continue' ';'
      |   'break' ';'
      |   'return' expression? ';'
      ;
  
  compilationUnit
  