anchor.diff:      ;
   
   bindingsClause
  -    : BINDINGS var* OPEN_CURLY_BRACE bindingValueList* CLOSE_CURLY_BRACE -> ^(BINDINGS var* bindingValueList*)
  -    | -> BINDINGS
  +    : (BINDINGS var* OPEN_CURLY_BRACE bindingValueList* CLOSE_CURLY_BRACE)? -> ^(BINDINGS var* bindingValueList*)?
       ;
       
   bindingValueList
  
positive.code:     ;
      
  triplesTemplate
      : triplesSameSubject ( DOT triplesSameSubject )* DOT? -> triplesSameSubject ^(TRIPLES_TEMPLATE triplesSameSubject*)?
      ;
      	
  groupGraphPattern
  
negative.code:     ;
  
  triplesSameSubject
      : varOrTerm propertyListNotEmpty[(CommonTree) $varOrTerm.tree] -> ^(TRIPLE propertyListNotEmpty)
      | (t=triplesNode -> $t) (p=propertyListNotEmpty[(CommonTree) $t.tree]? -> ^(TRIPLE $triplesSameSubject $p?))
      ;
  
  