antlr3string.c File Reference


Detailed Description

Implementation of the ANTLR3 string and string factory classes.

#include <antlr3string.h>

Include dependency graph for antlr3string.c:


Functions

static pANTLR3_UINT8 addc8 (pANTLR3_STRING string, ANTLR3_UINT32 c)
static pANTLR3_UINT8 addcUTF16 (pANTLR3_STRING string, ANTLR3_UINT32 c)
static pANTLR3_UINT8 addi8 (pANTLR3_STRING string, ANTLR3_INT32 i)
static pANTLR3_UINT8 addiUTF16 (pANTLR3_STRING string, ANTLR3_INT32 i)
ANTLR3_API pANTLR3_STRING_FACTORY antlr3StringFactoryNew (ANTLR3_UINT32 encoding)
static pANTLR3_UINT8 append8 (pANTLR3_STRING string, const char *newbit)
static pANTLR3_UINT8 appendS (pANTLR3_STRING string, pANTLR3_STRING newbit)
static pANTLR3_UINT8 appendUTF16_8 (pANTLR3_STRING string, const char *newbit)
static pANTLR3_UINT8 appendUTF16_UTF16 (pANTLR3_STRING string, const char *newbit)
static ANTLR3_UCHAR charAt8 (pANTLR3_STRING string, ANTLR3_UINT32 offset)
static ANTLR3_UCHAR charAtUTF16 (pANTLR3_STRING string, ANTLR3_UINT32 offset)
static void closeFactory (pANTLR3_STRING_FACTORY factory)
 Fascist Capitalist Pig function created to oppress the workers comrade.
static ANTLR3_UINT32 compare8 (pANTLR3_STRING string, const char *compStr)
static ANTLR3_UINT32 compareS (pANTLR3_STRING string, pANTLR3_STRING compStr)
static ANTLR3_UINT32 compareUTF16_8 (pANTLR3_STRING string, const char *compStr)
static ANTLR3_UINT32 compareUTF16_UTF16 (pANTLR3_STRING string, const char *compStr)
static void destroy (pANTLR3_STRING_FACTORY factory, pANTLR3_STRING string)
static pANTLR3_UINT8 insert8 (pANTLR3_STRING string, ANTLR3_UINT32 point, const char *newbit)
static pANTLR3_UINT8 inserti8 (pANTLR3_STRING string, ANTLR3_UINT32 point, ANTLR3_INT32 i)
static pANTLR3_UINT8 insertiUTF16 (pANTLR3_STRING string, ANTLR3_UINT32 point, ANTLR3_INT32 i)
static pANTLR3_UINT8 insertS (pANTLR3_STRING string, ANTLR3_UINT32 point, pANTLR3_STRING newbit)
static pANTLR3_UINT8 insertUTF16_8 (pANTLR3_STRING string, ANTLR3_UINT32 point, const char *newbit)
static pANTLR3_UINT8 insertUTF16_UTF16 (pANTLR3_STRING string, ANTLR3_UINT32 point, const char *newbit)
static pANTLR3_STRING newPtr8 (pANTLR3_STRING_FACTORY factory, pANTLR3_UINT8 ptr, ANTLR3_UINT32 size)
 Creates a new 8 bit string initialized with the 8 bit characters at the supplied ptr, of pre-determined size.
static pANTLR3_STRING newPtrUTF16_8 (pANTLR3_STRING_FACTORY factory, pANTLR3_UINT8 ptr, ANTLR3_UINT32 size)
 Creates a new UTF16 string initialized with the 8 bit characters at the supplied 8 bit character ptr, of pre-determined size.
static pANTLR3_STRING newPtrUTF16_UTF16 (pANTLR3_STRING_FACTORY factory, pANTLR3_UINT8 ptr, ANTLR3_UINT32 size)
 Creates a new UTF16 string initialized with the UTF16 characters at the supplied ptr, of pre-determined size.
static pANTLR3_STRING newRaw8 (pANTLR3_STRING_FACTORY factory)
static pANTLR3_STRING newRawUTF16 (pANTLR3_STRING_FACTORY factory)
static pANTLR3_STRING newSize8 (pANTLR3_STRING_FACTORY factory, ANTLR3_UINT32 size)
 Creates a new string with enough capacity for size 8 bit characters plus a terminator.
static pANTLR3_STRING newSizeUTF16 (pANTLR3_STRING_FACTORY factory, ANTLR3_UINT32 size)
 Creates a new string with enough capacity for size UTF16 characters plus a terminator.
static pANTLR3_STRING newStr8 (pANTLR3_STRING_FACTORY factory, pANTLR3_UINT8 ptr)
 Create a new 8 bit string from the supplied, null terminated, 8 bit string pointer.
static pANTLR3_STRING newStrUTF16_8 (pANTLR3_STRING_FACTORY factory, pANTLR3_UINT8 ptr)
 Create a new UTF16 string from the supplied, null terminated, 8 bit string pointer.
static pANTLR3_STRING newStrUTF16_UTF16 (pANTLR3_STRING_FACTORY factory, pANTLR3_UINT8 ptr)
 Create a new UTF16 string from the supplied, null terminated, UTF16 string pointer.
static pANTLR3_STRING printable8 (pANTLR3_STRING_FACTORY factory, pANTLR3_STRING string)
static pANTLR3_STRING printableUTF16 (pANTLR3_STRING_FACTORY factory, pANTLR3_STRING string)
static pANTLR3_UINT8 set8 (pANTLR3_STRING string, const char *chars)
static pANTLR3_UINT8 setS (pANTLR3_STRING string, pANTLR3_STRING chars)
static pANTLR3_UINT8 setUTF16_8 (pANTLR3_STRING string, const char *chars)
static pANTLR3_UINT8 setUTF16_UTF16 (pANTLR3_STRING string, const char *chars)
static void ANTLR3_CDECL stringFree (pANTLR3_STRING string)
static void stringInit8 (pANTLR3_STRING string)
static void stringInitUTF16 (pANTLR3_STRING string)
static void stringInitUTF8 (pANTLR3_STRING string)
static pANTLR3_STRING subString8 (pANTLR3_STRING string, ANTLR3_UINT32 startIndex, ANTLR3_UINT32 endIndex)
static pANTLR3_STRING subStringUTF16 (pANTLR3_STRING string, ANTLR3_UINT32 startIndex, ANTLR3_UINT32 endIndex)
static pANTLR3_STRING to8_8 (pANTLR3_STRING string)
static pANTLR3_STRING to8_UTF16 (pANTLR3_STRING string)
static ANTLR3_INT32 toInt32_8 (struct ANTLR3_STRING_struct *string)
static ANTLR3_INT32 toInt32_8 (pANTLR3_STRING string)
static ANTLR3_INT32 toInt32_UTF16 (struct ANTLR3_STRING_struct *string)
static ANTLR3_INT32 toInt32_UTF16 (pANTLR3_STRING string)
static pANTLR3_STRING toUTF8_8 (pANTLR3_STRING string)
static pANTLR3_STRING toUTF8_UTF16 (pANTLR3_STRING string)

Function Documentation

static pANTLR3_UINT8 addc8 ( pANTLR3_STRING  string,
ANTLR3_UINT32  c 
) [static]

References ANTLR3_REALLOC, ANTLR3_STRING_struct::len, and ANTLR3_STRING_struct::size.

Referenced by stringInit8().

Here is the caller graph for this function:

static pANTLR3_UINT8 addcUTF16 ( pANTLR3_STRING  string,
ANTLR3_UINT32  c 
) [static]

References ANTLR3_REALLOC, ANTLR3_STRING_struct::chars, ANTLR3_STRING_struct::len, and ANTLR3_STRING_struct::size.

Referenced by stringInitUTF16().

Here is the caller graph for this function:

static pANTLR3_UINT8 addi8 ( pANTLR3_STRING  string,
ANTLR3_INT32  i 
) [static]

Referenced by stringInit8().

Here is the caller graph for this function:

static pANTLR3_UINT8 addiUTF16 ( pANTLR3_STRING  string,
ANTLR3_INT32  i 
) [static]

Referenced by stringInitUTF16().

Here is the caller graph for this function:

ANTLR3_API pANTLR3_STRING_FACTORY antlr3StringFactoryNew ( ANTLR3_UINT32  encoding  ) 

static pANTLR3_UINT8 append8 ( pANTLR3_STRING  string,
const char *  newbit 
) [static]

References ANTLR3_MEMMOVE, ANTLR3_REALLOC, ANTLR3_STRING_struct::chars, ANTLR3_STRING_struct::len, and ANTLR3_STRING_struct::size.

Referenced by stringInit8().

Here is the caller graph for this function:

static pANTLR3_UINT8 appendS ( pANTLR3_STRING  string,
pANTLR3_STRING  newbit 
) [static]

References ANTLR3_STRING_struct::chars, ANTLR3_STRING_struct::len, and ANTLR3_STRING_struct::size.

Referenced by stringInit8(), and stringInitUTF16().

Here is the caller graph for this function:

static pANTLR3_UINT8 appendUTF16_8 ( pANTLR3_STRING  string,
const char *  newbit 
) [static]

References ANTLR3_REALLOC, ANTLR3_STRING_struct::chars, ANTLR3_STRING_struct::len, and ANTLR3_STRING_struct::size.

Referenced by stringInitUTF16().

Here is the caller graph for this function:

static pANTLR3_UINT8 appendUTF16_UTF16 ( pANTLR3_STRING  string,
const char *  newbit 
) [static]

First, determine the length of the input string

References ANTLR3_MEMMOVE, ANTLR3_REALLOC, ANTLR3_STRING_struct::chars, ANTLR3_STRING_struct::len, and ANTLR3_STRING_struct::size.

Referenced by stringInitUTF16().

Here is the caller graph for this function:

static ANTLR3_UCHAR charAt8 ( pANTLR3_STRING  string,
ANTLR3_UINT32  offset 
) [static]

References ANTLR3_STRING_struct::len.

Referenced by stringInit8().

Here is the caller graph for this function:

static ANTLR3_UCHAR charAtUTF16 ( pANTLR3_STRING  string,
ANTLR3_UINT32  offset 
) [static]

References ANTLR3_STRING_struct::chars, and ANTLR3_STRING_struct::len.

Referenced by stringInitUTF16().

Here is the caller graph for this function:

static void closeFactory ( pANTLR3_STRING_FACTORY  factory  )  [static]

Fascist Capitalist Pig function created to oppress the workers comrade.

References ANTLR3_FREE, and ANTLR3_STRING_FACTORY_struct::strings.

Referenced by antlr3StringFactoryNew().

Here is the caller graph for this function:

static ANTLR3_UINT32 compare8 ( pANTLR3_STRING  string,
const char *  compStr 
) [static]

References ANTLR3_STRING_struct::chars.

Referenced by stringInit8().

Here is the caller graph for this function:

static ANTLR3_UINT32 compareS ( pANTLR3_STRING  string,
pANTLR3_STRING  compStr 
) [static]

References ANTLR3_STRING_struct::chars.

Referenced by stringInit8(), and stringInitUTF16().

Here is the caller graph for this function:

static ANTLR3_UINT32 compareUTF16_8 ( pANTLR3_STRING  string,
const char *  compStr 
) [static]

References ANTLR3_STRING_struct::chars.

Referenced by stringInitUTF16().

Here is the caller graph for this function:

static ANTLR3_UINT32 compareUTF16_UTF16 ( pANTLR3_STRING  string,
const char *  compStr 
) [static]

References ANTLR3_STRING_struct::chars.

Referenced by stringInitUTF16().

Here is the caller graph for this function:

static void destroy ( pANTLR3_STRING_FACTORY  factory,
pANTLR3_STRING  string 
) [static]

static pANTLR3_UINT8 insert8 ( pANTLR3_STRING  string,
ANTLR3_UINT32  point,
const char *  newbit 
) [static]

References ANTLR3_MEMMOVE, ANTLR3_REALLOC, ANTLR3_STRING_struct::chars, ANTLR3_STRING_struct::len, and ANTLR3_STRING_struct::size.

Referenced by stringInit8().

Here is the caller graph for this function:

static pANTLR3_UINT8 inserti8 ( pANTLR3_STRING  string,
ANTLR3_UINT32  point,
ANTLR3_INT32  i 
) [static]

Referenced by stringInit8().

Here is the caller graph for this function:

static pANTLR3_UINT8 insertiUTF16 ( pANTLR3_STRING  string,
ANTLR3_UINT32  point,
ANTLR3_INT32  i 
) [static]

Referenced by stringInitUTF16().

Here is the caller graph for this function:

static pANTLR3_UINT8 insertS ( pANTLR3_STRING  string,
ANTLR3_UINT32  point,
pANTLR3_STRING  newbit 
) [static]

References ANTLR3_STRING_struct::chars.

Referenced by stringInit8(), and stringInitUTF16().

Here is the caller graph for this function:

static pANTLR3_UINT8 insertUTF16_8 ( pANTLR3_STRING  string,
ANTLR3_UINT32  point,
const char *  newbit 
) [static]

References ANTLR3_MEMMOVE, ANTLR3_REALLOC, ANTLR3_STRING_struct::chars, ANTLR3_STRING_struct::len, and ANTLR3_STRING_struct::size.

Referenced by stringInitUTF16().

Here is the caller graph for this function:

static pANTLR3_UINT8 insertUTF16_UTF16 ( pANTLR3_STRING  string,
ANTLR3_UINT32  point,
const char *  newbit 
) [static]

First, determine the length of the input string

References ANTLR3_MEMMOVE, ANTLR3_REALLOC, ANTLR3_STRING_struct::chars, ANTLR3_STRING_struct::len, and ANTLR3_STRING_struct::size.

Referenced by stringInitUTF16().

Here is the caller graph for this function:

static pANTLR3_STRING newPtr8 ( pANTLR3_STRING_FACTORY  factory,
pANTLR3_UINT8  ptr,
ANTLR3_UINT32  size 
) [static]

Creates a new 8 bit string initialized with the 8 bit characters at the supplied ptr, of pre-determined size.

Parameters:
[in] factory - Pointer to the string factory that owns the strings
[in] ptr - Pointer to 8 bit encoded characters
Returns:
pointer to the new string

References ANTLR3_MEMMOVE, ANTLR3_STRING_struct::chars, and ANTLR3_STRING_FACTORY_struct::newSize.

Referenced by antlr3StringFactoryNew().

Here is the caller graph for this function:

static pANTLR3_STRING newPtrUTF16_8 ( pANTLR3_STRING_FACTORY  factory,
pANTLR3_UINT8  ptr,
ANTLR3_UINT32  size 
) [static]

Creates a new UTF16 string initialized with the 8 bit characters at the supplied 8 bit character ptr, of pre-determined size.

Parameters:
[in] factory - Pointer to the string factory that owns the strings
[in] ptr - Pointer to 8 bit encoded characters
Returns:
pointer to the new string

References ANTLR3_STRING_struct::chars, and ANTLR3_STRING_FACTORY_struct::newSize.

Referenced by antlr3StringFactoryNew().

Here is the caller graph for this function:

static pANTLR3_STRING newPtrUTF16_UTF16 ( pANTLR3_STRING_FACTORY  factory,
pANTLR3_UINT8  ptr,
ANTLR3_UINT32  size 
) [static]

Creates a new UTF16 string initialized with the UTF16 characters at the supplied ptr, of pre-determined size.

Parameters:
[in] factory - Pointer to the string factory that owns the strings
[in] ptr - Pointer to UTF16 encoded characters
Returns:
pointer to the new string

References ANTLR3_MEMMOVE, ANTLR3_STRING_struct::chars, and ANTLR3_STRING_FACTORY_struct::newSize.

Referenced by antlr3StringFactoryNew().

Here is the caller graph for this function:

static pANTLR3_STRING newRaw8 ( pANTLR3_STRING_FACTORY  factory  )  [static]

Parameters:
factory 
Returns:

References ANTLR3_CDECL, ANTLR3_MALLOC, ANTLR3_TRUE, ANTLR3_STRING_FACTORY_struct::index, ANTLR3_VECTOR_struct::set, stringFree(), stringInit8(), and ANTLR3_STRING_FACTORY_struct::strings.

Referenced by antlr3StringFactoryNew(), and to8_UTF16().

Here is the call graph for this function:

Here is the caller graph for this function:

static pANTLR3_STRING newRawUTF16 ( pANTLR3_STRING_FACTORY  factory  )  [static]

Parameters:
factory 
Returns:

References ANTLR3_CDECL, ANTLR3_MALLOC, ANTLR3_TRUE, ANTLR3_STRING_FACTORY_struct::index, ANTLR3_VECTOR_struct::set, stringFree(), stringInitUTF16(), and ANTLR3_STRING_FACTORY_struct::strings.

Referenced by antlr3StringFactoryNew().

Here is the call graph for this function:

Here is the caller graph for this function:

static pANTLR3_STRING newSize8 ( pANTLR3_STRING_FACTORY  factory,
ANTLR3_UINT32  size 
) [static]

Creates a new string with enough capacity for size 8 bit characters plus a terminator.

Parameters:
[in] factory - Pointer to the string factory that owns strings
[in] size - In characters
Returns:
pointer to the new string.

References ANTLR3_MALLOC, ANTLR3_STRING_struct::chars, and ANTLR3_STRING_FACTORY_struct::newRaw.

Referenced by antlr3StringFactoryNew().

Here is the caller graph for this function:

static pANTLR3_STRING newSizeUTF16 ( pANTLR3_STRING_FACTORY  factory,
ANTLR3_UINT32  size 
) [static]

Creates a new string with enough capacity for size UTF16 characters plus a terminator.

Parameters:
[in] factory - Pointer to the string factory that owns strings
[in] size - In characters (count double for surrogate pairs!!!)
Returns:
pointer to the new string.

References ANTLR3_MALLOC, ANTLR3_STRING_struct::chars, and ANTLR3_STRING_FACTORY_struct::newRaw.

Referenced by antlr3StringFactoryNew().

Here is the caller graph for this function:

static pANTLR3_STRING newStr8 ( pANTLR3_STRING_FACTORY  factory,
pANTLR3_UINT8  ptr 
) [static]

Create a new 8 bit string from the supplied, null terminated, 8 bit string pointer.

Parameters:
[in] factory - Pointer to the string factory that owns strings.
[in] ptr - Pointer to the 8 bit encoded string
Returns:
Pointer to the newly initialized string

References ANTLR3_STRING_FACTORY_struct::newPtr8.

Referenced by antlr3StringFactoryNew().

Here is the caller graph for this function:

static pANTLR3_STRING newStrUTF16_8 ( pANTLR3_STRING_FACTORY  factory,
pANTLR3_UINT8  ptr 
) [static]

Create a new UTF16 string from the supplied, null terminated, 8 bit string pointer.

Parameters:
[in] factory - Pointer to the string factory that owns strings.
[in] ptr - Pointer to the 8 bit encoded string
Returns:
POinter to the newly initialized string

References ANTLR3_STRING_FACTORY_struct::newPtr8.

Referenced by antlr3StringFactoryNew().

Here is the caller graph for this function:

static pANTLR3_STRING newStrUTF16_UTF16 ( pANTLR3_STRING_FACTORY  factory,
pANTLR3_UINT8  ptr 
) [static]

Create a new UTF16 string from the supplied, null terminated, UTF16 string pointer.

Parameters:
[in] factory - Pointer to the string factory that owns strings.
[in] ptr - Pointer to the UTF16 encoded string
Returns:
Pointer to the newly initialized string

First, determine the length of the input string

References ANTLR3_STRING_FACTORY_struct::newPtr.

Referenced by antlr3StringFactoryNew().

Here is the caller graph for this function:

static pANTLR3_STRING printable8 ( pANTLR3_STRING_FACTORY  factory,
pANTLR3_STRING  string 
) [static]

References ANTLR3_STRING_struct::chars, ANTLR3_STRING_struct::len, and ANTLR3_STRING_FACTORY_struct::newSize.

Referenced by antlr3StringFactoryNew().

Here is the caller graph for this function:

static pANTLR3_STRING printableUTF16 ( pANTLR3_STRING_FACTORY  factory,
pANTLR3_STRING  string 
) [static]

References ANTLR3_STRING_struct::chars, ANTLR3_STRING_struct::len, and ANTLR3_STRING_FACTORY_struct::newSize.

Referenced by antlr3StringFactoryNew().

Here is the caller graph for this function:

static pANTLR3_UINT8 set8 ( pANTLR3_STRING  string,
const char *  chars 
) [static]

References ANTLR3_MEMMOVE, ANTLR3_REALLOC, ANTLR3_STRING_struct::chars, and ANTLR3_STRING_struct::size.

Referenced by stringInit8().

Here is the caller graph for this function:

static pANTLR3_UINT8 setS ( pANTLR3_STRING  string,
pANTLR3_STRING  chars 
) [static]

References ANTLR3_STRING_struct::chars.

Referenced by stringInit8(), and stringInitUTF16().

Here is the caller graph for this function:

static pANTLR3_UINT8 setUTF16_8 ( pANTLR3_STRING  string,
const char *  chars 
) [static]

References ANTLR3_REALLOC, ANTLR3_STRING_struct::chars, and ANTLR3_STRING_struct::size.

Referenced by stringInitUTF16().

Here is the caller graph for this function:

static pANTLR3_UINT8 setUTF16_UTF16 ( pANTLR3_STRING  string,
const char *  chars 
) [static]

First, determine the length of the input string

References ANTLR3_MEMMOVE, ANTLR3_REALLOC, ANTLR3_STRING_struct::chars, and ANTLR3_STRING_struct::size.

Referenced by stringInitUTF16().

Here is the caller graph for this function:

static void ANTLR3_CDECL stringFree ( pANTLR3_STRING  string  )  [static]

References ANTLR3_FREE, and ANTLR3_STRING_struct::chars.

Referenced by newRaw8(), and newRawUTF16().

Here is the caller graph for this function:

static void stringInit8 ( pANTLR3_STRING  string  )  [static]

Parameters:
string 
Returns:

References addc8(), addi8(), ANTLR3_ENC_8BIT, append8(), appendS(), charAt8(), compare8(), compareS(), ANTLR3_STRING_struct::compareS, insert8(), inserti8(), insertS(), set8(), setS(), subString8(), to8_8(), ANTLR3_STRING_struct::toInt32, toInt32_8(), ANTLR3_STRING_struct::toUTF8, and toUTF8_8().

Referenced by newRaw8().

Here is the call graph for this function:

Here is the caller graph for this function:

static void stringInitUTF16 ( pANTLR3_STRING  string  )  [static]

static void stringInitUTF8 ( pANTLR3_STRING  string  )  [static]

Parameters:
string 
Returns:
TODO: Implement UTF-8

static pANTLR3_STRING subString8 ( pANTLR3_STRING  string,
ANTLR3_UINT32  startIndex,
ANTLR3_UINT32  endIndex 
) [static]

static pANTLR3_STRING subStringUTF16 ( pANTLR3_STRING  string,
ANTLR3_UINT32  startIndex,
ANTLR3_UINT32  endIndex 
) [static]

static pANTLR3_STRING to8_8 ( pANTLR3_STRING  string  )  [static]

Referenced by stringInit8().

Here is the caller graph for this function:

static pANTLR3_STRING to8_UTF16 ( pANTLR3_STRING  string  )  [static]

References ANTLR3_MALLOC, ANTLR3_STRING_struct::chars, ANTLR3_STRING_struct::factory, ANTLR3_STRING_struct::len, newRaw8(), and ANTLR3_STRING_struct::size.

Referenced by stringInitUTF16().

Here is the call graph for this function:

Here is the caller graph for this function:

static ANTLR3_INT32 toInt32_8 ( struct ANTLR3_STRING_struct string  )  [static]

static ANTLR3_INT32 toInt32_8 ( pANTLR3_STRING  string  )  [static]

Referenced by stringInit8().

Here is the caller graph for this function:

static ANTLR3_INT32 toInt32_UTF16 ( struct ANTLR3_STRING_struct string  )  [static]

static ANTLR3_INT32 toInt32_UTF16 ( pANTLR3_STRING  string  )  [static]

Referenced by stringInitUTF16().

Here is the caller graph for this function:

static pANTLR3_STRING toUTF8_8 ( pANTLR3_STRING  string  )  [static]

static pANTLR3_STRING toUTF8_UTF16 ( pANTLR3_STRING  string  )  [static]


Generated on Mon Nov 29 17:23:53 2010 for ANTLR3C by  doxygen 1.5.5