178 lines
6.5 KiB
Text
178 lines
6.5 KiB
Text
/*************************************************************************
|
|
*
|
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
*
|
|
* Copyright 2000, 2010 Oracle and/or its affiliates.
|
|
*
|
|
* OpenOffice.org - a multi-platform office productivity suite
|
|
*
|
|
* This file is part of OpenOffice.org.
|
|
*
|
|
* OpenOffice.org is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU Lesser General Public License version 3
|
|
* only, as published by the Free Software Foundation.
|
|
*
|
|
* OpenOffice.org is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU Lesser General Public License version 3 for more details
|
|
* (a copy is included in the LICENSE file that accompanied this code).
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public License
|
|
* version 3 along with OpenOffice.org. If not, see
|
|
* <http://www.openoffice.org/license.html>
|
|
* for a copy of the LGPLv3 License.
|
|
*
|
|
************************************************************************/
|
|
#ifndef __com_sun_star_i18n_KParseTokens_idl__
|
|
#define __com_sun_star_i18n_KParseTokens_idl__
|
|
|
|
//============================================================================
|
|
|
|
module com { module sun { module star { module i18n {
|
|
|
|
//============================================================================
|
|
|
|
/**
|
|
These constants specify the characters a name or identifier token to
|
|
be parsed can have.
|
|
|
|
<p> They are passed to
|
|
<member>XCharacterClassification::parseAnyToken()</member> and
|
|
<member>XCharacterClassification::parsePredefinedToken()</member>.
|
|
They are also set in the <member>ParseResult::StartFlags</member>
|
|
and <member>ParseResult::ContFlags</member>. </p>
|
|
*/
|
|
|
|
published constants KParseTokens
|
|
{
|
|
/// ASCII A-Z upper alpha
|
|
const long ASC_UPALPHA = 0x00000001;
|
|
|
|
/// ASCII a-z lower alpha
|
|
const long ASC_LOALPHA = 0x00000002;
|
|
|
|
/// ASCII 0-9 digit
|
|
const long ASC_DIGIT = 0x00000004;
|
|
|
|
/// ASCII '_' underscore
|
|
const long ASC_UNDERSCORE = 0x00000008;
|
|
|
|
/// ASCII '$' dollar
|
|
const long ASC_DOLLAR = 0x00000010;
|
|
|
|
/// ASCII '.' dot/point
|
|
const long ASC_DOT = 0x00000020;
|
|
|
|
/// ASCII ':' colon
|
|
const long ASC_COLON = 0x00000040;
|
|
|
|
/// Special value to allow control characters (0x00 < char < 0x20)
|
|
const long ASC_CONTROL = 0x00000200;
|
|
|
|
/** Special value to allow anything below 128 except control
|
|
characters. <strong>Not</strong> set in
|
|
<type>ParseResult</type>. */
|
|
const long ASC_ANY_BUT_CONTROL = 0x00000400;
|
|
|
|
/** Additional flag set in <member>ParseResult::StartFlags</member>
|
|
or <member>ParseResult::ContFlags</member>. Set if none of the
|
|
above ASC_... (except ASC_ANY_...) single values match an ASCII
|
|
character parsed. */
|
|
const long ASC_OTHER = 0x00000800;
|
|
|
|
/// Unicode (above 127) upper case letter
|
|
const long UNI_UPALPHA = 0x00001000;
|
|
|
|
/// Unicode (above 127) lower case letter
|
|
const long UNI_LOALPHA = 0x00002000;
|
|
|
|
/// Unicode (above 127) decimal digit number
|
|
const long UNI_DIGIT = 0x00004000;
|
|
|
|
/// Unicode (above 127) title case letter
|
|
const long UNI_TITLE_ALPHA = 0x00008000;
|
|
|
|
/// Unicode (above 127) modifier letter
|
|
const long UNI_MODIFIER_LETTER = 0x00010000;
|
|
|
|
/// Unicode (above 127) other letter
|
|
const long UNI_OTHER_LETTER = 0x00020000;
|
|
|
|
/// Unicode (above 127) letter number
|
|
const long UNI_LETTER_NUMBER = 0x00040000;
|
|
|
|
/// Unicode (above 127) other number
|
|
const long UNI_OTHER_NUMBER = 0x00080000;
|
|
|
|
/** If this bit is set in <em>nContCharFlags</em> parameters and a
|
|
string enclosed in double quotes is parsed and two consecutive
|
|
double quotes are encountered, the string is ended. If this bit
|
|
is not set, the two double quotes are parsed as one escaped
|
|
double quote and string parsing continues. The bit is ignored in
|
|
<em>nStartCharFlags</em> parameters.
|
|
|
|
<p> Example: <br/>
|
|
"abc""def" --> bit not set => abc"def <br/>
|
|
"abc""def" --> bit set => abc </p>
|
|
*/
|
|
const long TWO_DOUBLE_QUOTES_BREAK_STRING = 0x10000000;
|
|
|
|
/** Additional flag set in <member>ParseResult::StartFlags</member>
|
|
or <member>ParseResult::ContFlags</member>. Set if none of the
|
|
above UNI_... single values match a Unicode character parsed. */
|
|
const long UNI_OTHER = 0x20000000;
|
|
|
|
/** Only valid for <em>nStartCharFlags</em> parameter to
|
|
<method>ChararacterClassification::parseAnyToken</method> and
|
|
<method>ChararacterClassification::parsePredefinedToken</method>,
|
|
ignored on <em>nContCharFlags</em> parameter.
|
|
<strong>Not</strong> set in <type>ParseResult</type>. */
|
|
const long IGNORE_LEADING_WS = 0x40000000;
|
|
|
|
|
|
// useful combinations
|
|
|
|
/// ASCII a-zA-Z lower or upper alpha
|
|
const long ASC_ALPHA = ASC_UPALPHA | ASC_LOALPHA;
|
|
|
|
/// ASCII a-zA-Z0-9 alphanumeric
|
|
const long ASC_ALNUM = ASC_ALPHA | ASC_DIGIT;
|
|
|
|
/// Unicode (above 127) lower or upper or title case alpha
|
|
const long UNI_ALPHA = UNI_UPALPHA | UNI_LOALPHA | UNI_TITLE_ALPHA;
|
|
|
|
/// Unicode (above 127) alphanumeric
|
|
const long UNI_ALNUM = UNI_ALPHA | UNI_DIGIT;
|
|
|
|
/// Unicode (above 127) alpha or letter
|
|
const long UNI_LETTER = UNI_ALPHA | UNI_MODIFIER_LETTER |
|
|
UNI_OTHER_LETTER;
|
|
|
|
/// Unicode (above 127) number
|
|
const long UNI_NUMBER = UNI_DIGIT | UNI_LETTER_NUMBER |
|
|
UNI_OTHER_NUMBER;
|
|
|
|
/// any (ASCII or Unicode) alpha
|
|
const long ANY_ALPHA = ASC_ALPHA | UNI_ALPHA;
|
|
|
|
/// any (ASCII or Unicode) digit
|
|
const long ANY_DIGIT = ASC_DIGIT | UNI_DIGIT;
|
|
|
|
/// any (ASCII or Unicode) alphanumeric
|
|
const long ANY_ALNUM = ASC_ALNUM | UNI_ALNUM;
|
|
|
|
/// any (ASCII or Unicode) letter
|
|
const long ANY_LETTER = ASC_ALPHA | UNI_LETTER;
|
|
|
|
/// any (ASCII or Unicode) number
|
|
const long ANY_NUMBER = ASC_DIGIT | UNI_NUMBER;
|
|
|
|
/// any (ASCII or Unicode) letter or number
|
|
const long ANY_LETTER_OR_NUMBER = ANY_LETTER | ANY_NUMBER;
|
|
};
|
|
|
|
//============================================================================
|
|
}; }; }; };
|
|
|
|
#endif
|