anchor.diff:  atom
       :  'skip'
       |  ID '=' expr
  -    |  '!' ID
  +    |  '!' signal                   // !s (single or multi-sending), !s[0], !s[1][1]
       |  'suspend' '(' time=expr ')'
       ;
   
  
positive.code:     : '//' ~[\r\n]* '\r'? '\n' -> channel(HIDDEN)
      ;
  
  WS  :   [ \r\t\u000C\n]+ -> channel(HIDDEN)
      ;
negative.code: 
  
  guard
      : 'EMP'
      | signal                 //waiting for s (single or multi-receiving), s[0], s[1][1]...
      | expr
      | 'timeout' '(' expr ')'
      | guard '<and>' guard
  