anchor.diff:  
   cam             : '#CAM' cam_stmt* 
                   ;
  -cam_stmt        : ID '--' sync_const ',' cam_dc '->' ID 
  +cam_stmt        : ID '*'? '--' sync_const ',' e '->' ID 
                   ;
  -cam_dc          : 'true'                   # cam_dcTrue
  -                | cam_term '==' cam_term   # cam_dcEql
  -                ;
  -cam_term        : STRING        # cam_termData
  -                | 'd(' ID ')'   # cam_termPort
  -                | ID            # cam_termMemoryCurr
  -                | ID '\''       # cam_termMemoryNext
  -                ;
  +		
  +		
  +e	: t OP e                # cam_dcBinRel
  +	| t
  +	;
  +t 	: STRING                               # cam_termString
  +	| INT                                  # cam_termInteger
  +	| ID                                   # cam_termPortOrMem
  +	| ID '\''                              # cam_termMemoryNext
  +	| ID '(' t (',' t )* ')'               # cam_termFunc
  +	| '(' e ')' 
  +	;
   
   /**
    * Work Automata
  
positive.code: 
  pa              : '#PA' pa_stmt* 
                  ;
  pa_stmt	        : ID '--' sync_const '->' ID 
                  ;
  sync_const      : '{' '}'
  	        | '{' ID (',' ID)* '}'
  
negative.code: 
  wa              : '#WA' wa_stmt* 
                  ;
  wa_stmt         : ID '*'? ':' wa_jc                           # wa_stmtInvar
                  | ID '*'? '--' sync_const ',' wa_jc '->' ID   # wa_stmtTrans
                  ;
  wa_jc           : 'true'           # wa_jcTrue
                  | ID '==' INT      # wa_jcEql
  