anchor.diff:  		ls = NULL;
   		os = NULL;
   	}
  -	: SELECT ASTERISK FROM tl=table_list (ws=where_section)? (ss=sort_section)? (ls=limit_section)? (os=offset_section)? 
  +	: SELECT (compound_operator)? ASTERISK FROM tl=table_list (ws=where_section)? (ss=sort_section)? (ls=limit_section)? (os=offset_section)? 
   	{
   		// SELECT
   		uSQL::SQLSelect *sqlCmd = new uSQL::SQLSelect();
  
positive.code: 		| '\n'
  		) {$channel=HIDDEN;}
  	;
  /*
  STRING
  	:  '\'' ( ESC_SEQ | ~('\\'|'\'') )* '\''
  	;
  
  CHAR:  '\'' ( ESC_SEQ | ~('\''|'\\') ) '\''
  	;
  
  fragment
  EXPONENT : ('e'|'E') ('+'|'-')? ('0'..'9')+ ;
  
  fragment
  HEX_DIGIT : ('0'..'9'|'a'..'f'|'A'..'F') ;
  
  fragment
  ESC_SEQ
  
negative.code: UNICODE_ESC
  	:   '\\' 'u' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT
  	;
  	
  /*
  
  CHAR:  '\'' ( ESC_SEQ | ~('\''|'\\') ) '\''
  	;
  */
  fragment
  EXPONENT : ('e'|'E') ('+'|'-')? ('0'..'9')+ ;
  
  fragment
  HEX_DIGIT : ('0'..'9'|'a'..'f'|'A'..'F') ;
  
  fragment
  DIGIT	    : '0'..'9'
              ;
  
  
  