in odps-console-basic/src/main/java/com/aliyun/openservices/odps/console/utils/CommandSplitter.java [94:137]
private void normalSwitch(char c) {
switch(c) {
case '"':
case '\'':
state = QUOTE;
quoteType = c;
commandBuffer.append(c);
flushTokenBuffer();
tokenBuffer.append(c);
break;
case '-':
state = PRE_COMMENT;
break;
case ';':
state = NORMAL;
flushCommandBuffer();
flushTokenBuffer();
break;
case '(':
case ')':
state = NORMAL;
commandBuffer.append(c);
flushTokenBuffer();
tokenResults.add(String.valueOf(c));
break;
case ' ':
case '\t':
case '\f':
state = NORMAL;
commandBuffer.append(c);
flushTokenBuffer();
break;
case '\r':
case '\n':
state = END;
commandBuffer.append(c);
flushTokenBuffer();
break;
default:
state = NORMAL;
commandBuffer.append(c);
tokenBuffer.append(c);
}
}