code: private void selectExpressions(ParserString raw, Select select) throws SQLParserException {
  	Expression exp = null;
  	do {
  	    raw.removeSpace();
  
  	    exp = expression(raw);
  	    if (exp == null) throw new SQLParserException("missing expression in select part of query");
  	    raw.removeSpace();
  	    if (raw.forwardIfCurrent("as ")) {
  		String alias = identifier(raw, new RefBooleanImpl(false));
  		if (alias == null) throw new SQLParserException("missing alias in select part");
  		exp.setAlias(alias);
  	    }
  	    else {
  		int start = raw.getPos();
  		RefBoolean hb = new RefBooleanImpl(false);
  		String alias = identifier(raw, hb);
  		if (!hb.toBooleanValue() && "from".equalsIgnoreCase(alias)) raw.setPos(start);
  		else if (alias != null) exp.setAlias(alias);
  	    }
  	    select.addSelectExpression(exp);
  	    raw.removeSpace();
  	}
  	while (raw.forwardIfCurrent(','));
  
      }
docs: { (selectStatement) [AS] label | tableName [AS] label}