anchor.diff:  
   logicalAndExpression:
   	inclusiveOrExpression (AndAnd inclusiveOrExpression)*;
  +
   logicalOrExpression:
   	logicalAndExpression (OrOr logicalAndExpression)*;
   
  
positive.code: theTypeId: typeSpecifierSeq abstractDeclarator?;
  
  abstractDeclarator:
  	ptrAbstractDeclarator
  	| noPointerAbstractDeclarator? parametersAndQualifiers trailingReturnType
  	| abstractPackDeclarator;
  
  //TODO think this out
  ptrAbstractDeclarator:
  	noPointerAbstractDeclarator
  	| pointerOperator ptrAbstractDeclarator?;
  
  noPointerAbstractDeclarator:
  	noPointerAbstractDeclarator parametersAndQualifiers
  
negative.code: 	| noPointerAbstractDeclarator LeftBracket constantExpression? RightBracket attributeSpecifierSeq
  		?
  	| LeftBracket constantExpression? RightBracket attributeSpecifierSeq?
  	| LeftParen pointerAbstractDeclarator RightParen;
  
  abstractPackDeclarator:
  	pointerOperator* noPointerAbstractPackDeclarator;
  