anchor.diff:  				;
   blankNode       : BLANK_NODE_LABEL ;
   codeDecl		: '%' iri (CODE | '%') ;
  -startActions	: codeDecl+ ;
  -semanticActions	: codeDecl* ;
   productionLabel : '$' (iri | blankNode) ;
   rdfType			: RDF_TYPE ;
  +
  +// Reserved for future use
  +includeSet      : '&' shapeLabel+ ;
   
   
   // Keywords
  
positive.code: 				| numericLiteral
  				| booleanLiteral
  				;
  numericLiteral  : INTEGER
  				| DECIMAL
  				| DOUBLE
  
negative.code: 				| KW_BNODE
  				| KW_NONLITERAL
  				;
  xsFacet			: stringFacet
  				| numericFacet;
  stringFacet     : stringLength INTEGER
  			    | KW_PATTERN string
  				| '~' string			// shortcut for "PATTERN"
  				;
  stringLength	: KW_LENGTH
  				| KW_MINLENGTH
  				| KW_MAXLENGTH;
  numericFacet	: numericRange (numericLiteral | string '^^' datatype)
  				| numericLength INTEGER
  				;
  