docs: Expression XreadUnsignedValueSpecificationOrNull() {
  
          Expression e;
  
          switch (token.tokenType) {
  
              case Tokens.TRUE :
                  read();
  
                  return Expression.EXPR_TRUE;
  
              case Tokens.FALSE :
                  read();
  
                  return Expression.EXPR_FALSE;
  
              case Tokens.DEFAULT :
                  if (compileContext.contextuallyTypedExpression) {
                      read();
  
                      e = new ExpressionColumn(OpTypes.DEFAULT);
  
                      return e;
                  }
                  break;
  
              case Tokens.NULL :
                  e = new ExpressionValue(null, null);
  
                  read();
  
                  return e;
  
              case Tokens.X_VALUE :
                  e = new ExpressionValue(token.tokenValue, token.dataType);
  
                  read();
  
                  return e;
  
              case Tokens.X_DELIMITED_IDENTIFIER :
              case Tokens.X_IDENTIFIER :
                  if (!token.isHostParameter) {
                      return null;
                  }
  
              // $FALL-THROUGH$
              case Tokens.QUESTION :
                  e = new ExpressionColumn(OpTypes.DYNAMIC_PARAM);
  
                  compileContext.parameters.add(e);
                  read();
  
                  return e;
  
              case Tokens.COLLATION :
                  return XreadCurrentCollationSpec();
  
              case Tokens.VALUE :
              case Tokens.CURRENT_CATALOG :
              case Tokens.CURRENT_DEFAULT_TRANSFORM_GROUP :
              case Tokens.CURRENT_PATH :
              case Tokens.CURRENT_ROLE :
              case Tokens.CURRENT_SCHEMA :
              case Tokens.CURRENT_TRANSFORM_GROUP_FOR_TYPE :
              case Tokens.CURRENT_USER :
              case Tokens.SESSION_USER :
              case Tokens.SYSTEM_USER :
              case Tokens.USER :
                  FunctionSQL function =
                      FunctionSQL.newSQLFunction(token.tokenString,
                                                 compileContext);
  
                  if (function == null) {
                      return null;
                  }
  
                  return readSQLFunction(function);
  
              // read SQL parameter reference
          }
  
          return null;
      }