anchor.diff:  
   wa              : '#WA' wa_stmt* 
                   ;
  -wa_stmt         : ID ':' wa_jc                           # wa_stmtInvar
  -                | ID '--' sync_const ',' wa_jc '->' ID   # wa_stmtTrans
  +wa_stmt         : ID '*'? ':' wa_jc                           # wa_stmtInvar
  +                | ID '*'? '--' sync_const ',' wa_jc '->' ID   # wa_stmtTrans
                   ;
   wa_jc           : 'true'           # wa_jcTrue
                   | ID '==' INT      # wa_jcEql
  
positive.code: 
  cam             : '#CAM' cam_stmt* 
                  ;
  cam_stmt        : ID '--' sync_const ',' cam_dc '->' 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
                  ;
  
  /**
   * Work Automata
  
negative.code: 
  pa              : '#PA' pa_stmt* 
                  ;
  pa_stmt	        : ID '*'? '--' sync_const '->' ID 
                  ;
  sync_const      : '{' '}'
  	        | '{' ID (',' ID)* '}'
  