anchor.diff:                  '*/'
           ;
   
  -
   ASSIGN
       :   'assign'
       ;
  
positive.code: 
  //special rule for syntactic predicate
  variableStart
      : type/*?*/ memberName ('in'|'=')
      ;
  
  // Lexer
  
  NATURALLITERAL
      : Digit Digit*
      ;
  
  fragment
  Digit 
      : '0'..'9'
      ;
  
  FLOATLITERAL
      :   ('0' .. '9')+ '.' ('0' .. '9')+ Exponent?  
      //|   '.' ( '0' .. '9' )+ Exponent?  
      //|   ('0' .. '9')+ Exponent  
      ;
  
  fragment 
  Exponent    
      :   ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ 
      ;
  
  CHARLITERAL
  
negative.code:     :   ','
      ;
  
  EQ
      :   '='
      ;
  