anchor.diff:   	| bool_val
    ;
   
  + /** Possible actions to be defined */
    action_id
    :
    	'PERMIT'
    	| 'DENY'
    ;
   
  + /** Boolean operations */
    bool_op
    :
    	'&'
    	| '|'
    ;
   
  + /** Boolean comparators */
    bool_comp
    :
    	'='
    	| '!='
    ;
   
  + /** Arithmetic values */
    arit_val
    :
    	NUM
    	| categ_attr
    ;
   
  + /** Arithmetic comparators */
    arit_comp
    :
    	'='
  
positive.code: 
   ;
  
   /** One rule of the policy. action is PERMIT by default*/
   pol_rule
   :
   	'rule' ID 'begin'
   	(
   		'action' action_id
   	)? 'target' condition 'condition' condition 'end'
   ;
   
   /** This applies to target and condition indistinctly. This is valid to use YAAL as an 
    * understanding tool, but it does not suffice (not easily at least) to generate XACML code
    */
   condition
   :
  
negative.code:  	)
   ;
  
   /** Number (base ten) */
   NUM
   :
   	[0-9]+
   ;
  
   /** White Space */
   WS
   :
   	[ \t\r\n]+ -> skip
   ;
  
   /** String */
   STRING
   :
   	'"'
  