anchor.diff:      ;
   
   functionCall
  -    : ID LEFT_PAREN( bitExprs?) RIGHT_PAREN
  -    ;    
  - 
  +    : ID LP_( bitExprs?) RP_
  +    ;
  +
   privateExprOfDb
       : matchNone
       ;
  -     
  +
   liter
       : QUESTION
       | NUMBER
  -    | TRUE 
  +    | TRUE
       | FALSE
       | NULL
  -    | LEFT_BRACE ID STRING RIGHT_BRACE
  +    | LBE_ ID STRING RBE_
       | HEX_DIGIT
       | ID? STRING  collateClause?
       | (DATE | TIME |TIMESTAMP) STRING
  
positive.code:     | simpleExpr collateClause
      //| param_marker
      //| variable
      
      | simpleExpr AND_SYM simpleExpr
      | PLUS simpleExpr
      | MINUS simpleExpr
      | UNARY_BIT_COMPLEMENT simpleExpr
      | NOT_SYM simpleExpr
      | BINARY simpleExpr
      | LEFT_PAREN expr RIGHT_PAREN
      | ROW LEFT_PAREN simpleExpr( COMMA  simpleExpr)* RIGHT_PAREN
      | subquery
      | EXISTS subquery
  
  
negative.code: exprs
      : expr (COMMA expr)*
      ;
  
  exprsWithParen
      : LP_ exprs RP_
      ;
  
  //https://dev.mysql.com/doc/refman/8.0/en/expressions.html
  expr
      : expr OR expr
      | expr OR_ expr
      | expr XOR expr
      | expr AND expr
      | expr AND_ expr
  
      | LP_ expr RP_
      | NOT expr
      | NOT_ expr
      | booleanPrimary
      | exprRecursive
      ;
  